コード例 #1
0
ファイル: tdfci.py プロジェクト: DYehorova/projected_dmet
    def print_data(self, current_time):

        fmt_str = '%20.8e'

        ######## CALCULATE OBSERVABLES OF INTEREST #######

        #Calculate 1RDM
        corr1RDM = fci_mod.get_corr1RDM(self.CIcoeffs, self.Nsites, self.Nelec)

        #Calculate total energy
        Etot = fci_mod.get_FCI_E(self.h_site, self.V_site,
                                 self.Ecore, self.CIcoeffs, self.Nsites,
                                 int(self.Nelec / 2), int(self.Nelec / 2))

        #Calculate total number of electrons (used as convergence check for time-step)
        Nele = np.real(np.sum(np.diag(corr1RDM)))

        ######## PRINT OUT EVERYTHING #######

        #Print correlated density in the site basis
        cnt = 0
        corrdens = np.real(np.diag(corr1RDM))
        corrdens = np.insert(corrdens, 0, current_time)
        np.savetxt(self.file_corrdens, corrdens.reshape(1, corrdens.shape[0]),
                   fmt_str)
        self.file_corrdens.flush()

        #Print output data
        output = np.zeros(3)
        output[0] = current_time
        output[1] = Etot
        output[2] = Nele
        np.savetxt(self.file_output, output.reshape(1, output.shape[0]),
                   fmt_str)
        self.file_output.flush()
コード例 #2
0
def print_data(current_time, CIcoeffs, mf1RDM, Nimp, file_corrdens,
               file_mfdens):

    fmt_str = '%20.8e'

    corrdens = np.copy(
        np.real(np.diag(fci_mod.get_corr1RDM(CIcoeffs, 2 * Nimp,
                                             (Nimp, Nimp)))))
    corrdens = np.insert(corrdens, 0, current_time)
    np.savetxt(file_corrdens, corrdens.reshape(1, corrdens.shape[0]), fmt_str)

    mfdens = np.copy(np.real(np.diag(mf1RDM)))
    mfdens = np.insert(mfdens, 0, current_time)
    np.savetxt(file_mfdens, mfdens.reshape(1, mfdens.shape[0]), fmt_str)
コード例 #3
0
    def get_corr1RDM(self):
        #Subroutine to get the FCI 1RDM

        self.corr1RDM = fci_mod.get_corr1RDM(self.CIcoeffs, 2 * self.Nimp,
                                             (self.Nimp, self.Nimp))
コード例 #4
0
ファイル: run_tdhf.py プロジェクト: DYehorova/projected_dmet
Nsites = NL + NR + 1
Nele = Nsites

t = 0.4
Vg = 0.0

tleads = 1.0
Full = True

delt = 0.001
Nstep = 5000
Nprint = 1

#Initital Static Calculation
U = 1.0
Vbias = 0.0
h_site, V_site = make_hams.make_ham_single_imp_anderson_realspace(
    NL, NR, Vg, U, t, Vbias, tleads, Full)

CIcoeffs = fci_mod.FCI_GS(h_site, V_site, 0.0, Nsites, Nele)
mf1RDM = fci_mod.get_corr1RDM(CIcoeffs, Nsites, Nele)

#Dynamics Calculation
U = 0.0
Vbias = -0.001
h_site, V_site = make_hams.make_ham_single_imp_anderson_realspace(
    NL, NR, Vg, U, t, Vbias, tleads, Full)

tdhf = tdhf.tdhf(Nsites, Nele, h_site, mf1RDM, delt, Nstep, Nprint)
tdhf.kernel()