The input of the main program



To run the MCTDH-X program, it is best to have each calculation done in a separate directory. The program needs two files to perform the computation. First, the dynamic library, libmctdhx.so, and second, the input file with computational/numerical parameters MCTDHX.inp. The library contains the above four subroutines that define the Hamiltonian and the initial state (Get_Initial_Coefficients.F, Get_Initial_Orbitals.F, Get_InterParticle_Potential.F,
[4]Get_1bodyPotential.F). If any of these files was modified, the library has to be re-compiled and copied to the computation's directory! Recompiling the library libmctdhx.so is conveniently achieved by issueing the command:
 libmake
After compilation, the library can be copied to the working directory by typing
 libcp
Finally, the input files should be copied to the working directory. This can be done by typing
 inpcp .
The two files MCTDHX.inp and analysis.inp are now inside the working directory. The details of the input variables in those files can be taken from the in-line documentation in the input file or the html code documentation. The MCTDHX.inp file basically contains variables like the particle number, the number of orbitals, the (dimensionless) interaction strength, number of primitive basis functions, their type, details of the integration (integrator,stepsize,accuracy,order,...), and many more. See table 3 for all currently available parameters in the main program and their meaning.

Table 3: MCTDH-X main program input file parameters.
System Parameters Namelist
Parameter Meaning Options
JOB_TYPE Select problem, i.e. MCTDH for bosons, MCTDH for fermions or TDCI for bosons. Character, `BOS', `FER', `FCI'; Default `BOS'
Morb Select number of time-dependent, variationally optimized basis functions Integer, no default.
Npar Select number of structureless particles Integer, no default.
xlambda_0 Adjust prefactor of two-body potential in the Hamiltonian Real, no default.
mass Mass of the particles Real, default 1.d0
Job_Prefactor Select which direction to propagate the equations of motion in time. Complex, (0.0d0,-1.0d0) Forward propagation; (0.0d0,+1.0d0) Backward propagation, (-1.0d0,0.0d0) (Improved) Relaxation; Default (-1.d0,0.d0).
NProjections Number of times that the projection operator $ \hat{\mathcal{P}}$ is applied to the right-hand side of the orbital equations of motion Integer, default $ 2$.
GUESS Specifying if the initial guess is defined in .dat files, the routines Get_Initial_Orbitals.F,
Get_Initial_Coefficients.F, or in the binary files CiC_bin and Psi_bin
Character, `HAND' means the Get_Initial... routines are used, `DATA' means .dat files will be read in, `BINR' means *_bin files will be read in, default `HAND' .
Diagonalize_OneBodyh Select to use eigenfunctions of the one-body potential in Get_1bodyPotential.F Logical, .T. or .F., .T. only non-FFT1-DVRs2, i.e., DVR_X/Y/Z$ \neq$4, default is .F.
Binary_Start_Time Define point in time at which the wavefunction is read from binary files in the case of GUESS=`BINR' Real, no default.
Restart_State If restarting from a Block Davidson computation, this selects which state in the block is used as the initial value. Integer, default 1
Restart_Orbital_FileName Define filename of orbitals to read if GUESS=`DATA' Character, no default.
Restart_Coefficients_FileName Define filename of coefficients to read if GUESS=`DATA' Character, no default.
Vortex_Seeding In propagations: Multiply initial orbitals with phase/density profile? Logical, default .F.
Vortex_Imprint In relaxations: Apply a projection operator to a certain orbital density profile? Logical, default .F.
Profile If Vortex_Imprint is true, this will select the respective shape of the imprinted (select 'tanh','poly','phase', or 'phase-x' or define custom profile in Get_Vortex_Profile.F in /source/ini_guess_pot/) Character, default 'tanh'
Fixed_LZ Multiply fixed phase profile on the orbital in relaxations Logical, default .F.
OrbLz How many times $ 2\pi$ the phase is going to jump if Fixed_LZ is true. If any value is -666, the respective orbital is unchanged. Integer, default 0,0,0,0,0,0,0,0,0,0
DVR Namelist
DIM_MCTDH Specifying the dimensionality of the problem Integer, 1,2 or 3, default 1.
NDVR_X Specifying the number of DVR functions in X dimension Integer, default 256.
NDVR_Y Specifying the number of DVR functions in Y dimension Integer, default 1.
NDVR_Z Specifying the number of DVR functions in Z dimension Integer, default 1.
DVR_X Which DVR will be used in X direction Integer, 1 means harmonic oscillator DVR, 3 means sine DVR, 4 means FFT DVR and 5 exponential DVR, default 4.
DVR_Y Which DVR will be used in Y direction Integer, 1 means harmonic oscillator DVR, 3 means sine DVR, 4 means FFT DVR and 5 exponential DVR, default 4.
DVR_Z Which DVR will be used in Z direction Integer, 1 means harmonic oscillator DVR, 3 means sine DVR, 4 means FFT DVR and 5 exponential DVR, default 4.
x_initial Where the spatial grid in X dimension starts Real, default $ -8.0$.
x_final Where the spatial grid in x dimension stops Real, default $ 8.0$.
y_initial Where the spatial grid in Y dimension starts Real, default $ -8.0$.
y_final Where the spatial grid in Y dimension stops Real, default $ 8.0$.
z_initial Where the spatial grid in Z dimension starts Real, default $ -8.0$.
z_final Where the spatial grid in Z dimension stops Real, default $ 8.0$.
Integration Namelist
Time_Begin Time at which the simulation shall start Real, default $ 0.0$.
Time_Final Time at which the simulation shall stop Real, default $ 20.0$.
Time_Max Maximal time Real, default $ 1.d99$.
Output_TimeStep Times at which orbital output shall be written. Real, default $ 0.1$.
Output_Coefficients Multiple of Output_TimeStep at which coefficient output shall be written Real, default $ 1$
Integration_Stepsize Stepsize of the integration scheme (for relaxation this is fixed, for propagation this is adaptive) Real, default $ 0.01$
Error_Tolerance Error tolerance for the integration scheme Real, default $ 1.d-9$
Minimal_Occupation Minimal occupation for not considering an eigenvalue as 0 in the inversion of the density matrix elements Real, default $ 1.d-12$
Minimal_Krylov Minimal size of Krylov basis for coefficients' integration Integer, default $ 4$
Maximal_Krylov Maximal size of Krylov basis for coefficients' integration Integer, default $ 20$
Orbital_Integrator Integrator for the orbital equations of motion Character, `ABM' or `OMPABM' means that (OpenMP parallelized) Adams Bashforth Moulton predictor corrector integrator is used, `BS' means Bullirsch-Stör, `RK' means Runge-Kutta, and `STIFF' means ZVODE specialized to stiff equations is used; default `OMPABM'.
Orbital_Integrator_Order Order of the integration of the orbitals' integrator, choice depends on the Integrator Integer, for `RK' it is 5 or 8, for `ABM'/`OMPABM' it is 2 to 8, for `BS' its 2 to 16, and for `STIFF' it is 1 or 2, default $ 7$.
Orbital_Integrator_MaximalStep Restricts the maximum stepsize in the orbital equations' integration Real, default $ 0.01$.
Write_ASCII Specifying wether ASCII files are output during the computation Logical, default .T..
Error_Rescale_TD Specifying a scale for the Error_Tolerance parameter for time-dependent one-body potentials. Real, default $ 1.0$.
LZ Trigger one-body angular momentum operator in the Hamiltonian Logical, .T. or .F., default .F. .
OMEGAZ Prefactor of one-body angular momentum operator. Real, default $ 0.0$.
STATE Which eigenstate of the Hamiltonian to compute. Integer, 1 means the groundstate, default $ 1$. Stable for Coefficients_Integrator=`DSL' or `DAV' .
Coefficients_Integrator Which integrator to use for the coefficients equations of motion. Character, `MCS' means MCTDH SIL routine, `DSL' means MCTDH SIL diagonalization routine, `DAV' means Davidson diagonalization, `BDV' means block Davidson diagonalization; no default.
BlockSize If Block Davidson (BDV) is used as integrator for the coefficients then this selects the number of coefficient vectors in the block Integer, default 4
Olsen If Block Davidson is used as integrator for the coefficients, this flag toggles the Olsen correction (Jacobi-Davidson) Logical, default .F.
RLX_Emin If Block Davidson is used as integrator for the coefficients then this selects the lower energy bound for the block Real, default -1.d90
RLX_Emax If Block Davidson is used as integrator for the coefficients then this selects the upper energy bound for the block Real, default 1.d90
Potential Namelist
whichpot Select from predefined list of potentials, see table 20. Character, no default.
parameter1 Parameters to tune predefined potentials, see table 20. Real, default $ 1.0$.
parameter2-30 Parameters to tune predefined potentials, see table 20. Real, default $ 0.0$.
Interaction Namelist
Which_Interaction Select predefined interparticle interaction potentials Character, default `gauss'; For time-dependent interactions, `TDHIM', 'TDgauss1' a Gaussian sinusoidially modulated amplitude, and 'TDgauss2', a Gaussian with sinusoidially modulated width, are currently defined.
Interaction_Width Modify parameter in the interparticle interaction. Real, default $ 0.15$.
interaction_parameter1-10 Parameters to tune predefined interaction potentials, see table B. Real, default $ 0.0$.
Interaction_Type How the Local interaction potentials $ \hat{W}_{sl}$ and their action is evaluated Integer, 0 means $ \delta$-like contact interaction potential, 1 to 4 will use the routine Get_InterParticle_Potential.F to generate the interaction potential. 1 means the potential is separable and hence one potential vector is allocated for each spatial dimension; 2 means the potential depends on the distance of the particles only, hence, a tridiagonal representation is used (only for aequidistant DVRs 3,4 and 5); 3 means full interaction matrix will be stored (very large array!!!), 4 interaction matrix evaluated with successive FFT (IMEST); 5 means time-dependent interaction with IMEST; 6 means time-dependent contact interaction; 7 means both contact and non-zero ranged interactions with IMEST; default 0.
   

Back to http://ultracold.org