Closed2

HPhi OutputEigenVec && FullDiag

ultimatileultimatile

CalcByLanczos.cでeigenvectorを出力している場所

  if(X->Bind.Def.iOutputEigenVec==TRUE){
    TimeKeeper(&(X->Bind), cFileNameTimeKeep, cOutputEigenVecStart, "a");
    sprintf(sdt, cFileNameOutputEigen, X->Bind.Def.CDataFileHead, X->Bind.Def.k_exct-1, myrank);
    if(childfopenALL(sdt, "wb", &fp)!=0){
      exitMPI(-1);
    }
    fwrite(&X->Bind.Large.itr, sizeof(X->Bind.Large.itr),1,fp);
    fwrite(&X->Bind.Check.idim_max, sizeof(X->Bind.Check.idim_max),1,fp);
    fwrite(v1, sizeof(complex double),X->Bind.Check.idim_max+1, fp);
    fclose(fp);
    TimeKeeper(&(X->Bind), cFileNameTimeKeep, cOutputEigenVecFinish, "a");
  }
  • childfopenALL#include "FileIO.h"が必要
  • 追加が必要な変数
    • FILE *fp; 書き込み用のpointer
    • char sdt[D_FileNameMax]; 書き込みfile名
  • 3行目で書き込むfile名を作成している
ultimatileultimatile

全対角化はMPIの場合はSCALAPACK, そうでなければLAPACKを使うはず
MPIだけどSCALAPACKを使わない場合もある
全対角化でHamiltonianを出力しているところが参考になるはず

このスクラップは2025/01/22にクローズされました