OpenMCTDHB v2.3
|
Go to the source code of this file.
Modules | |
module | moduleinputoutput |
This module contains routines that deal with I/O to the screen and to files. | |
Functions/Subroutines | |
subroutine | moduleinputoutput::print_header |
This routine prints the OpenMCTDHB header to the screen. | |
subroutine | moduleinputoutput::print_runInfo (lambda0, NPar, MOrb, Dims, NDX, NDY, NDZ, xi, xf, yi, yf, zi, zf, tinyStep, printStep, printAllStep, printCorrelationFuncs, AbsTime, maxTime, TolError, restart, Relax, readPotential, propDirection, tag) |
This routine prints info about the current run to the screen and performs a few basic consistency checks. | |
subroutine | moduleinputoutput::get_doubleAsString (x, doubleString) |
This routine writes a double value in ten digit format, useful for naming files without blanks. | |
subroutine | moduleinputoutput::get_identifier (MOrb, NPar, tag, identifier) |
This routine creates a character string 'identifier' that is used to identify a given run in all outputfiles. | |
subroutine | moduleinputoutput::get_cumulativeProbability (Psi, rho_jk, x, cumulativeProbability) |
This routine computes the integral over the density from -infty up to x Int{G1(x',x'),(x,-infty,x)} if Psi is provided. | |
subroutine | moduleinputoutput::write_probabilityLeft (AbsTime, cumulativeProbability, MOrb, NPar, identifier) |
This routine writes the integral of the probability density from -infty up to zero to a file. | |
subroutine | moduleinputoutput::get_energy (CVec, BandMat, energy, nConf) |
This routine computes the total energy of the system E = <Psi|H|Psi> | |
subroutine | moduleinputoutput::write_energy (AbsTime, lambda0, NPar, energy, identifier) |
This routine writes the energy <Psi|H|Psi> to a file. On the first call a header in the file is created. | |
subroutine | moduleinputoutput::write_mu_kj (AbsTime, mu_kj, identifier) |
This routine writes the chemical potentials mu_kj to a file. On the first call a header in the file is created. | |
subroutine | moduleinputoutput::get_defect (nConf, nSuperDiags, BandMat, CVec, energy, defect) |
This routine computes the norm ||d|| of the defect d in the equation H|Psi> = E|Psi> + d. Only the coefficent vector is used. The routine is useful in relaxation computations to check whether an eigenstate is reached. In that case ||d||=0 is satisfied. | |
subroutine | moduleinputoutput::get_meanDensity (Psi, rho_jk, meanDensity) |
This routine computes the mean density of the system Int[rho(x)**2 / N]. It is used to compute the Lieb Liniger parameter for inhomogeneous 1D systems, as defined in Lieb, Seiringer PRL 91, 105401 (2003). | |
subroutine | moduleinputoutput::write_liebLinigerParameter (AbsTime, lambda0, NPar, meanDensity, identifier) |
This routine writes the generalized Lieb-Liniger parameter to a file. On the first call a header in the file is created. | |
subroutine | moduleinputoutput::get_naturalOrbitals (MOrb, NDX, NDY, NDZ, rho_jk, Psi, noccs, norbs) |
This routine returns the natural orbitals (norbs) and their occupations (noccs) given the reduced one-body density matrix rho_jk and the corresponding orbitals array Psi. | |
subroutine | moduleinputoutput::write_PsiToFile (AbsTime, Psi, NDX, NDY, NDZ, MOrb, fileID, identifier) |
This routine writes the orbital array to a file. If fileID == 0, the file <AbsTime>.orbs.dat is written, else if fileID == 1 the file restart.orbs.out is written. | |
subroutine | moduleinputoutput::write_norbsToFile (AbsTime, norbs, NDX, NDY, NDZ, MOrb, identifier) |
This routine writes the natural orbital array to a file. | |
subroutine | moduleinputoutput::write_CVecFile (AbsTime, CVec, fileID, identifier) |
This routine writes the coefficent vector CVec to a file. If fileID == 0, the file <AbsTime>.coef.dat is written else if fileID == 1, the file restart.coef.out. | |
subroutine | moduleinputoutput::read_potentialFromFile (V_ext, NDX, NDY, NDZ) |
This routine reads the external potential V_ext from the file V_ext.inp. Only the potential (fourth column) is read in, nothing else. All other columns are ignored. This allows to read in any potential from an orbital file of a previous run. | |
subroutine | moduleinputoutput::read_PsiFromFile (Psi, NDX, NDY, NDZ, MOrb) |
This routine reads the array of orbitals Psi from the file restart.orbs.inp. The orbitals are orthonormalized. | |
subroutine | moduleinputoutput::read_CVecFile (CVec, nConf) |
This routine reads the array of coefficients from the file restart.coef.inp. The vector is normalized in the process. | |
subroutine | moduleinputoutput::write_noccsToFile (AbsTime, MOrb, noccs, identifier) |
This routine writes the natural orbital occupations noccs to a file. On the first call a header in the file is created. | |
subroutine | moduleinputoutput::write_firstFragmentationTimes (AbsTime, MOrb, NPar, noccs, lambda0, identifier) |
This routine writes the times at which a certain fragmentation is reached for the first time to a file. On the first call a header in the file is created. |