MCTDH-X
v2.22
|
Routines handling the input and output of data of the main MCTDHB program are collected in this module. More...
Public Member Functions | |
subroutine | read_oct_parameters (K) |
subroutine | write_oct_parameters (Iteration, WriteControls, Func_OCT_Value) |
subroutine | write_anyons (time, Syndrome, L) |
subroutine | write_coefficients_bdav (time, VIN) |
Writes the coefficients to an ASCII file with the name 'time'coef.dat. More... | |
subroutine | write_coefficients (time, VIN) |
Writes the coefficients to an ASCII file with the name 'time'coef.dat. More... | |
subroutine | write_bh (time, Full_Rho1_Elements, BH_Offset) |
This subroutine writes the output in the case of Bose-Hubbard computations. More... | |
subroutine | write_nlevelorbitals (time, PSI, FT, Dilation) |
Write the NlevelOrbitals and density to the file 'time'orbs.dat. More... | |
subroutine | write_orbitals (time, PSI, FT, Dilation) |
Write the Orbitals and density to the file 'time'orbs.dat or 'time'ftorbs.datz. More... | |
subroutine | write_testing (morb, energy, Nocc, time, Npart, exec_tm, NDVR_X, NDVR_Y, NDVR_Z, dimmctdh, nprocs, nthreads, DVRX, DVRY, DVRZ) |
This routine writes the output for the checks in the test suite. More... | |
subroutine | open_binary () |
Open binary coefficients and orbitals in 'CIc_bin' and 'PSI_bin'. More... | |
subroutine | close_binary () |
subroutine | write_header (unitnum) |
Write the header data to binary files. More... | |
subroutine | read_header (unitnum, rtype) |
Read the header of the binary files. More... | |
subroutine | write_nlevelorbitals_binary (time, iter, PSI) |
Write the Multilevel Orbitals to binary file. More... | |
subroutine | write_orbitals_binary (time, iter, PSI) |
Write the Orbitals to binary file. More... | |
subroutine | write_coefficients_block_binary (time, iter, VIN) |
subroutine | write_coefficients_binary (time, iter, VIN) |
subroutine | read_bin_string (unitnum, time, iter, enrg, state) |
subroutine | analyse_binary (unitnum, required_time) |
Routine assesses whether the reading operation is possible. It's called after the header was read. More... | |
subroutine | read_binary_nlevel (unitnum, required_time, VIN, PSI) |
Read Coefficients and Multilevel Orbitals from binary file specified with unitnum. Is called after the header was read. More... | |
subroutine | read_binary_block (unitnum, required_time, VIN, PSI) |
Read Coefficients and Orbitals from binary file specified with unitnum for restarting a block diagonalization. Is called after the header was read. More... | |
subroutine | read_binary (unitnum, required_time, VIN, PSI, Block) |
Read Coefficients and Orbitals from binary file specified with unitnum. If the optional argument Block is true then a specific state from a previous block relaxation is read. Is called after the header was read. More... | |
subroutine | binary_guess |
Read the wavefunction from the binary files if GUESS=BINR was set. More... | |
subroutine | guess_read_orb (PSI) |
Read Orbitals from an ASCII file. More... | |
subroutine | guess_read_ci (VIN) |
Read Coefficients from an ASCII file. More... | |
subroutine | read_input |
Read the input file MCTDHX.inp . More... | |
Routines handling the input and output of data of the main MCTDHB program are collected in this module.
subroutine input_output::analyse_binary | ( | integer | unitnum, |
real*8 | required_time | ||
) |
Routine assesses whether the reading operation is possible. It's called after the header was read.
References read_bin_string().
Referenced by analysis_core::analysis_read_binaries(), and binary_guess().
subroutine input_output::binary_guess | ( | ) |
Read the wavefunction from the binary files if GUESS=BINR was set.
References analyse_binary(), close_binary(), open_binary(), read_header(), and read_input().
Referenced by mctdhx::mctdhx_routine(), and program_mctdhx_main().
subroutine input_output::close_binary | ( | ) |
Close binary coefficients and orbitals in 'CIc_bin' and 'PSI_bin'.
Referenced by analysis_core::analysis_read_binaries(), analysis_core::apply_analysis(), binary_guess(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::guess_read_ci | ( | complex*16, dimension(nconf) | VIN | ) |
Read Coefficients from an ASCII file.
References function_library::binomialcoefficient(), addresses::get_configurationfromindex(), and addresses::get_indexfromconfiguration().
Referenced by get_initial_coefficients(), and get_initial_coefficients_bdav().
subroutine input_output::guess_read_orb | ( | complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb) | PSI | ) |
Read Orbitals from an ASCII file.
References function_library::schmidtortho().
Referenced by get_initial_orbitals().
subroutine input_output::open_binary | ( | ) |
Open binary coefficients and orbitals in 'CIc_bin' and 'PSI_bin'.
Referenced by analysis_core::analysis_read_binaries(), analysis_core::apply_analysis(), binary_guess(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::read_bin_string | ( | integer | unitnum, |
real*8 | time, | ||
integer | iter, | ||
real*8 | enrg, | ||
integer | state | ||
) |
subroutine input_output::read_binary | ( | integer | unitnum, |
real*8 | required_time, | ||
complex*16, dimension(nconf) | VIN, | ||
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb) | PSI, | ||
logical, optional | Block | ||
) |
Read Coefficients and Orbitals from binary file specified with unitnum. If the optional argument Block is true then a specific state from a previous block relaxation is read. Is called after the header was read.
Referenced by analysis_core::apply_analysis(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::read_binary_block | ( | integer | unitnum, |
real*8 | required_time, | ||
complex*16, dimension(nconf*blocksize) | VIN, | ||
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb) | PSI | ||
) |
Read Coefficients and Orbitals from binary file specified with unitnum for restarting a block diagonalization. Is called after the header was read.
Referenced by master_slave_parallelization::master_mctdhbf().
subroutine input_output::read_binary_nlevel | ( | integer | unitnum, |
real*8 | required_time, | ||
complex*16, dimension(nconf) | VIN, | ||
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel) | PSI | ||
) |
Read Coefficients and Multilevel Orbitals from binary file specified with unitnum. Is called after the header was read.
Referenced by analysis_core::apply_analysis(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::read_header | ( | integer | unitnum, |
character*4 | rtype | ||
) |
Read the header of the binary files.
Referenced by analysis_core::analysis_read_binaries(), analysis_core::apply_analysis(), binary_guess(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::read_input | ( | ) |
Read the input file MCTDHX.inp .
Setting defaults on input variables. Setting defaults on input variables. Setting defaults on input variables.
Catches for erroneous input.
Referenced by binary_guess(), and program_mctdhx_main().
subroutine input_output::read_oct_parameters | ( | integer | K | ) |
subroutine input_output::write_anyons | ( | real*8 | time, |
real*8, dimension(l*(l-1)) | Syndrome, | ||
integer | L | ||
) |
References auxiliary_routines::get_ijk_from_m().
Referenced by get_1bodypotential().
subroutine input_output::write_bh | ( | real*8, intent(in) | time, |
complex*16, dimension(morb,morb), intent(in) | Full_Rho1_Elements, | ||
complex*16, dimension(morb), intent(in) | BH_Offset | ||
) |
This subroutine writes the output in the case of Bose-Hubbard computations.
References auxiliary_routines::get_ijk_from_m(), and auxiliary_routines::getdoubleasstring().
Referenced by master_slave_parallelization::master_fci().
subroutine input_output::write_coefficients | ( | real*8 | time, |
complex*16, dimension(nconf) | VIN | ||
) |
Writes the coefficients to an ASCII file with the name 'time'coef.dat.
References addresses::get_configurationfromindex().
Referenced by analysis_core::apply_analysis(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_coefficients_bdav | ( | real*8 | time, |
complex*16, dimension(nconf*blocksize) | VIN | ||
) |
Writes the coefficients to an ASCII file with the name 'time'coef.dat.
References addresses::get_configurationfromindex(), and auxiliary_routines::inttostr().
Referenced by master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_coefficients_binary | ( | real*8 | time, |
integer | iter, | ||
complex*16, dimension(nconf) | VIN | ||
) |
time | Writes the CI coefficients to binary file |
Referenced by master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_coefficients_block_binary | ( | real*8 | time, |
integer | iter, | ||
complex*16, dimension(nconf*blocksize) | VIN | ||
) |
time | Writes the CI coefficients for Block Davidson computations to binary file |
Referenced by master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_header | ( | integer | unitnum | ) |
Write the header data to binary files.
Referenced by master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_nlevelorbitals | ( | real*8 | time, |
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel) | PSI, | ||
logical, optional | FT, | ||
integer, optional | Dilation | ||
) |
Write the NlevelOrbitals and density to the file 'time'orbs.dat.
References auxiliary_routines::get_mom().
Referenced by analysis_core::apply_analysis(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_nlevelorbitals_binary | ( | real*8 | time, |
integer | iter, | ||
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb,nlevel) | PSI | ||
) |
Write the Multilevel Orbitals to binary file.
Referenced by master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_oct_parameters | ( | integer | Iteration, |
logical | WriteControls, | ||
real*8, optional | Func_OCT_Value | ||
) |
References auxiliary_routines::inttostr().
Referenced by nr::brent::dbrent::dfpmin::mnbrak::func_oct(), and program_mctdhx_main().
subroutine input_output::write_orbitals | ( | real*8 | time, |
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb) | PSI, | ||
logical, optional | FT, | ||
integer, optional | Dilation | ||
) |
Write the Orbitals and density to the file 'time'orbs.dat or 'time'ftorbs.datz.
References auxiliary_routines::get_mom().
Referenced by analysis_core::apply_analysis(), master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_orbitals_binary | ( | real*8 | time, |
integer | iter, | ||
complex*16, dimension(ndvr_x*ndvr_y*ndvr_z,morb) | PSI | ||
) |
Write the Orbitals to binary file.
Referenced by master_slave_parallelization::master_fci(), and master_slave_parallelization::master_mctdhbf().
subroutine input_output::write_testing | ( | integer | morb, |
real*8 | energy, | ||
real*8, dimension(morb) | Nocc, | ||
real*8 | time, | ||
integer | Npart, | ||
real*8 | exec_tm, | ||
integer | NDVR_X, | ||
integer | NDVR_Y, | ||
integer | NDVR_Z, | ||
integer | dimmctdh, | ||
integer | nprocs, | ||
integer | nthreads, | ||
integer | DVRX, | ||
integer | DVRY, | ||
integer | DVRZ | ||
) |
This routine writes the output for the checks in the test suite.
Referenced by master_slave_parallelization::master_mctdhbf().