18 #include "wrapperMPI.h" 52 fprintf(fp,
" <H> <N> <Sz> <S2> <D> \n");
53 for (i = 0; i < i_max; i++) {
60 fprintf(
stdoutMPI,
"Error: output function is used only for FullDiag mode.");
82 #pragma omp parallel for default(none) reduction(+:ihermite) firstprivate(imax) private(i, j) shared(Ham) 83 for (i=1; i<=imax; i++){
85 if(cabs(
Ham[i][j])>1.0e-13){
91 strcpy(cHeader,
"%%%%MatrixMarket matrix coordinate complex hermitian\n");
96 fprintf(fp,
"%s", cHeader);
97 fprintf(fp,
"%ld %ld %ld \n", imax, imax, ihermite);
98 for (i=1; i<=imax; i++){
100 if(cabs(
Ham[i][j])>1.0e-13){
101 fprintf(fp,
"%ld %ld %lf %lf\n",i,j,creal(
Ham[i][j]),cimag(
Ham[i][j]));
double * all_num_down
[CheckList::idim_max+1] Number of spin-down electrons for FullDiag and LOBPCG. malloc in setmem_large...
double * all_s2
[CheckList::idim_max+1] for FullDiag and LOBPCG. malloc in setmem_large().
struct DefineList Def
Definision of system (Hamiltonian) etc.
const char * cFileNamePhys_FullDiag
const char * cFileNamePhys_FullDiag_GC
unsigned long int idim_max
The dimension of the Hilbert space of this process.
int output(struct BindStruct *X)
output function for FullDiag mode
int childfopenMPI(const char *_cPathChild, const char *_cmode, FILE **_fp)
Only the root process open file in output/ directory.
unsigned int Nup
Number of spin-up electrons in this process.
struct PhysList Phys
Physical quantities.
unsigned int Ndown
Number of spin-down electrons in this process.
double * all_doublon
[CheckList::idim_max+1] Doublon for FullDiag and LOBPCG. malloc in setmem_large().
int outputHam(struct BindStruct *X)
output Hamiltonian only used for FullDiag mode
const char * cFileNamePhys_FullDiag_Ham
double * all_sz
[CheckList::idim_max+1] for FullDiag and LOBPCG. malloc in setmem_large().
int iCalcModel
Switch for model. 0:Hubbard, 1:Spin, 2:Kondo, 3:HubbardGC, 4:SpinGC, 5:KondoGC, 6:HubbardNConserved.
struct CheckList Check
Size of the Hilbert space.
char * CDataFileHead
Read from Calcmod in readdef.h. Header of output file such as Green's function.
double * all_num_up
[CheckList::idim_max+1] Number of spin-up electrons for FullDiag and LOBPCG. malloc in setmem_large()...
int iCalcType
Switch for calculation type. 0:Lanczos, 1:TPQCalc, 2:FullDiag.
FILE * stdoutMPI
File pointer to the standard output defined in InitializeMPI()
double * all_energy
[CheckList::idim_max+1] Energy for FullDiag and LOBPCG. malloc in setmem_large(). ...