turborvb.x
Description
turborvb.x is the main TurboRVB executable, built from program main. CMake defines two targets (suffix .x):
Build target |
Executable |
Notes |
|---|---|---|
turborvb-serial |
turborvb-serial.x |
Serial (no MPI); OpenMP may be used. |
turborvb-mpi |
turborvb-mpi.x |
MPI parallel ( |
References to turborvb.x in documentation or scripts usually mean one of these (or a symlink at install time).
Roles
Variational Monte Carlo (VMC): Importance sampling with the trial wave function to estimate local energy, forces, etc.
Diffusion Monte Carlo (DMC) and lattice-regularized DMC (LRDMC): Projective ground-state sampling via branching (mode selected by itestr4 range).
Wave function optimization (iopt): Update Jastrow, determinant (AGP/ Pfaffian), or molecular orbitals by minimizing energy (and optionally variance) using linear method, stochastic reconfiguration, etc.
Classical / quantum dynamics: Ion motion and quantized dynamical degrees of freedom (enabled via input cards).
k-point parallel and replicas: MPI communicator splitting for multiple k-points or replica walkers.
Input and output
Input
Standard input: Namelists read by read_datasmin (and read_datasmin_mol, etc.): &simulation (
itestr4,iopt,itest, ...), &pseudo, &vmc, &optimization, &readio (writescratch,wherescratch), ¶meters (k-points, parallel), &molecul (open system / mesh), &kpoints (periodic). Use template/datasvmc, datasdmc, datasfn, datasmin, or test/*.input as reference.fort.10 / fort.10_new: Initial or continuation wave function; which is read depends on iopt and itestr4.
pseudo.dat: When pseudopotentials are used.
parminimized.d: Parameter-block definitions for optimization (read and updated in optimization runs).
Scratch (under wherescratch / turborvb.scratch): Walker coordinates, weights, and history per generation, depending on writescratch.
Command line (serial build only): First argument help / -help / --help lists modes; vmc, dmc, lrdmc, opt, optmol, dyn, quantum, test print help_online for the corresponding template and exit.
In an MPI build, the command-line help branch may be omitted; use the serial executable for --help if needed.
Output
File / stream |
Description |
|---|---|
Standard output |
Energy per generation, New Energy =, devmax, Norm correction, warnings, timing, MPI info. Used by plot_Energy.sh and similar scripts. |
fort.12 |
Binary: weight and parameter history per generation (optimization, etc.). Post-processed by readalles. |
fort.11 |
Header paired with fort.12. |
fort.10_new |
Updated wave function at end of optimization or run. |
parminimized.d |
Optimization state for continuation. |
pip0.d, etc. |
Energy/variance correction (depends on setup and post-processing). |
Scratch files |
DMC/LRDMC and forward-walking data; readforward reads details_*.all and related files. |
What is written depends on itestr4, iopt, yeswrite10, writescratch, and related options.
Input parameters
Variable are read from standard input.
simulation section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
itestr4 |
|
|
This keyword decides the optimization scheme and its kernel. It can assume an integer value according to the following scheme:
|
iopt |
|
|
-description(VMC):
|
ngen |
|
automatic |
The number of iterations of any chosen method. Represents the total number of samples for the local energy or energy derivatives. In case of optimization, it must be a multiple of nweight given in the &optimization section. |
nscra |
|
|
Inside an MC step, the determinant is usually updated instead of being recalculated from scratch. To avoid error summation, it’s necessary to calculate it from scratch every nscra accepted moves. |
nbra |
|
automatic (4*nel, 2*nel, nel, 1, or 0) |
In VMC, it indicates the number of Metropolis steps before computing a new sample. In LRDMC, if > 0, it uses the new more efficient method with perfect load balancing. Should be large enough (#electrons) to guarantee an efficient branching (% independent walkers / # walkers between 80% and 95%). |
iseedr |
|
|
Seed of the random number generator. |
nw |
|
|
Number of walkers. If not specified, it coincides with the number of processors. Otherwise, it must be a multiple of their number. |
kSq |
|
|
Precision for the Ewald summation. |
kappar |
|
automatic |
Coefficient in the Ewald summation. The default value depends on the crystal type (orthorombic, nonorthorohmbic). |
freqcheck |
|
|
Frequency for checking flag error. |
membig |
|
|
Large memory is given or not. |
membigcpu |
|
|
Large memory is given or not. |
developer |
|
|
Unidentified (This will be removed in the future). |
yesfast |
|
|
Fast I/O (This will be moved to /developer/ namelist). |
maxtime |
|
|
The program will stop after maxtime (sec.) |
nproc_diag |
|
|
The number of intra MPI communicators. 0 means no intra communicator (this will be removed in the future). |
disk_io |
|
|
‘default’: default I/O, temporary files for each MPI process, ‘nocont’: minimal I/O no continuation, ‘mpiio’: temporary files are not generated for each MPI rank. They are gathered to single file. |
ip_reshuff |
|
|
Unidentified (This will be moved to /developer/ namelist). |
compute_bands |
|
|
WIP |
double_mesh |
|
|
WIP |
min_block |
|
automatic (1000 or 100) |
The minimum block size for computational efficiency at expense of memory, used for SCALAPACK. A smaller value will require less memory. (This will be removed in the future). |
max_target |
|
automatic (200000 or 0) |
Unidentified (This will be moved to /developer/ namelist). |
max_targetsr |
|
|
Unidentified (This will be moved to /developer/ namelist). |
dielectric_ratio |
|
|
Parameter for dielectric constant: see dielectric.f90 (not tested). |
dielectric_length |
|
|
Parameter for dielectric constant: see dielectric.f90 (not tested). |
case_diel |
|
|
Flag for dielectric constant: see dielectric.f90 (not tested). |
neigh |
|
|
Neighbors in the Ewald summation (but not used?) unidentified. |
novec_loop1 |
|
|
Vectorize of subroutine upnewwf (This will be moved to /developer/ namelist). |
yes_sparse |
|
|
Unidentified (This will be moved to /developer/ namelist). |
yes_sparse_choose |
|
|
Unidentified (This will be moved to /developer/ namelist). |
max_sparse_choice |
|
automatic (100 or 20) |
Unidentified (This will be moved to /developer/ namelist). |
pseudo section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
nintpsa |
|
automatic |
Number of integer points for pseudopotential, if present. |
npsamax |
|
|
|
pseudorandom |
|
|
Use a random integration mesh for pseudo with the algorithm for QMC by R. Fahy. |
vmc section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
tstep |
|
|
Time step for VMC moves. Adapted automatically. |
hopfraction |
|
|
The hopping ratio used in the MCMC. See. subroutine hopping in detail. |
epscut |
|
|
The threshold of regularization. epscut = 0 to be used only in the optimization of the Jastrow, when no regularization is necessary for finite variance energy derivatives. If epscut > 0, a regularization is applied (epscuttype=2) and finite variance forces and energy derivatives can be computed. It is tuned automatically starting from the value in input. |
epstlrat |
|
|
epstl = epstlrat*epscut. epstl is a precision control parameter used in subroutine ratio_psi() (if zero not used) dlamch(‘e’) is a lapack routine that returns the relative machine precision |
epscuttype |
|
|
Accept default (0,2) determined by epscut. The type of regularization applied to the determinant. Type 0: no regularization. Type 2: best one. (Other options are possible but deprecated). |
alat2v |
|
|
not used. This will be removed in the future |
shift |
|
|
unidentified |
change_epscut |
|
|
automatic adjustment of epscut |
change_tstep |
|
|
automatic adjustment of tstep |
epsvar |
|
|
epsvar is a precision control parameter used in subroutine ratiovar.f90 (if zero not used) |
theta_reg |
|
|
ratiodet = 1.d0/ratiodet**theta_reg used in subroutine ratiovar.f90. Eq.(121) in the paper [J. Chem. Phys. 152, 204121 (2020)]. |
true_wagner |
|
|
WIP |
cutweight |
|
automatic (0.d0, 4*zmax, or others) |
WIP |
nbra_cyrus |
|
|
WIP |
typereg |
|
|
WIP |
npow |
|
|
WIP |
dmclrdmc section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
etry |
|
|
Trial total energy. Please put the DFT or VMC energy. |
npow |
|
|
The parameter npow gradually sets the degree of localization used in the effective Hamiltonian. npow = 0 corresponds to a Fixed Node Hamiltonian whereas npow = 1 corresponds to the local approximation. Accept default. |
tbra |
|
required |
DMC time between consecutive branchings. Do not define when nbra > 0 in the simulation section. |
gamma |
|
|
The γ parameter in LRDMC. Accept default. |
plat |
|
automatic |
a function p(r) dividing the dense and coarse regions. Default value is 0.0 for the single-grid LRDMC (i.e., alat2=0.0), automatically adjusted for the double-grid LRDMC (i.e., alat2=finite value) |
alat2 |
|
if alat > 0, alat2 is set automatically (double-grid scheme), else (i.e., alat < 0), the default value of alat2 is 0. |
Double-grid Lattice space. alat2 = a’/a, where a is the smallest regularization grid and a’ is the larger one used in the valence region (i.e., far from nuclei). When you put a negative value for alat, you should not specify alat2 (i.e., please comment it out). The default value of alat2 is determined by Nakano’s algorithm. |
alat |
|
|
Z_max is the largest effective nuclear charge in the system. Lattice space a of the smallest regularization grid. Accept default. If you want to do a single-grid LRDMC calculation, please put a negative value to satisfy the detailed-balance. If you want to do a double-grid LRDMC, please put a positive value and switch on iesrandoma. |
tstepfn |
|
|
0.0 -> Fixed-node, 1.0 -> LRDMC becomes a VMC calc. |
Klrdmc |
|
|
η parameter of LRDMC. η = 1 + Ka^2 |
optbra |
|
|
unclear |
parcutg |
|
1 for LRDMC, otherwise 0 |
Use parcutg=1. parcutg=0 for standard LRDMC with no cutoff (energy unbounded), but it now works. |
novar |
|
|
unclear, used for evaluating local energies in the subroutines updiag/updiag_complex compute the local energy both diagonal and off-diagonal part. Regularization of the Coulomb potential is also computed. |
epscutdmc |
|
|
regularization used in a DMC calculation. the detail is under investigation. |
typereg |
|
|
How to deal with the spin-flip term, 0: Standard (Det. + Jas.), 6: only Det. |
epstldmc |
|
|
psidetln(j) is smaller than epstldmc, then kill the walker. |
rejweight |
|
|
rejecting or rescaling the weights according to the acceptance/rejection step) in standard dmc or non local dmc with heat bath after all electron diffusion rejecting or rescaling the weights according to acceptance should be the best choice. In non local dmc with heat bath after single particle diffusion the best choice is not to reject the weights. |
cutreg |
|
automatic |
DMC cutoff on local energy (Ry). |
cutweight |
|
automatic |
regularization parameter in eq.4 of S. Pathak and L.K. Wagner [AIP Advances 10, 085213 (2020)] |
better_dmc |
|
|
unclear |
yesalfe |
|
|
unclear |
safelrdmc |
|
|
unclear |
changelambda |
|
|
unclear |
noblocking |
|
|
unclear |
add_diff |
|
|
unclear |
nbra_cyrus |
|
|
A parameter to compute forces using the practical scheme developed by S. Moroni et al. (originally devised by Cyrus Umrigar), corresponding n in Eqs. 12 and 13 of the paper [J. Chem. Theory Comput. 2014, 10, 11, 4823–4829] |
lrdmc_der |
|
|
unclear |
lrdmc_nonodes |
|
|
unclear |
enforce_detailb |
|
|
the detailed-balance |
iesrandoma |
|
|
flag to randomize the direction of the electron’s diffusion. |
zmin |
|
|
the minimum effective Z for which the double-grid LRDMC is applied. |
yes_fastbranch |
|
|
unclear |
l0_kousuke |
|
|
a parameter for the double-grid LRDMC. See “l” in the Eq.6 of the paper (Phys. Rev. B 101, 155106 (2020)). |
nw_max |
|
|
max number of. walker |
true_wagner |
|
|
if true_wagner=2, the regularization developed by S. Pathak and L.K. Wagner [AIP Advances 10, 085213 (2020)] |
weight_moroni |
|
|
unclear |
optimization section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
tpar |
|
|
Optimization step; in the case of the linear method (itestr4 = -4, -8) reduces the step from its ideal value (tpar = 1) that is unfortunately unstable for large number of variational parameters or small statistics. In the simpler SR method tpar has to be set by hand as in the standard steepest descent method. |
nfat |
|
|
WIP |
iboot |
|
|
Number of step before making averages in the bin of length nweight. nweight-iboot has to be a multiple of nbinr. |
nweight |
|
|
Number of sampling used for each iteration of the optimization steps. |
nmore_force |
|
|
If dynamics is employed, the number of samples used during the last step of optimization is increased by a factor (nmore_force+1). |
epsi |
|
|
Cutoff for reducing too large changes of WF such that Δpsi/|psi| > epsi. |
eps_dyn5 |
|
|
WIP |
epsdgel |
|
|
WIP |
kl |
|
|
Method used for the solution of the linear equation Sx = f, where f are energy derivatives and x parameters change in the stochastic reconfiguration. kl=-7 is mandatory for signalnoise=.true. optimization method. It is faster for large number of parameters and small number of sampling per processor. kl=-6 may be useful for small systems/computers when the number of sampling per processor is very large. |
idyn |
|
|
description(QMC): To choose the type of ion dynamics. The available options are:
|
nbinr |
|
|
Number of bins used in the optimization step of length nweight-iboot. This binning is used to estimate error bars during the simulation. |
npbra |
|
|
If npbra > 0 in the linear method, npbra parameters with the largest signal to noise ratio are also included. |
ncg |
|
|
If ncg > 1, a conjugate gradient approach is used with ncg gradients (generated on fly during the run) to accelerate convergence. ncg > 1 can be used only with the linear method (itestr4 = -4, -8). |
minz |
|
|
Minimum/Maximum AGP orbital exponent Z allowed. |
maxz |
|
|
Minimum/Maximum AGP orbital exponent Z allowed. |
minzj |
|
|
Minimum/Maximum Jastrow orbital exponent Z allowed. |
maxzj |
|
|
Minimum/Maximum Jastrow orbital exponent Z allowed. |
parr |
|
|
Determines the accuracy in the calculationa of the inverse of the SR matrix. The smaller the value, the more accurate (and fast) is the optimization, but the stability of the method gets worse. It should be decreased systematically up to at least 0.001 for fairly accurate wavefunction optimizations. |
parcute |
|
|
WIP |
parcut |
|
|
WIP |
parcutmin |
|
|
If ncg > 1 is used in the minimization only the gradients that have a signal/noise ratio larger than parcutmin. If ncg = 0, the standard linear method with all parameters included in the optimization is used. |
parcutpar |
|
|
If npbra > 0, among the npbra selected, only the parameters with signal/noise ratio > parcutpar are optimized. |
tion |
|
|
When dynamics is on (idyn > 0) it represents the time-step of the molecular dynamics. With idyn=5, has the scale of an energy and should be set small enough inversely proportional to the number of samples used to evaluate the covariance matrix. |
tcell |
|
|
WIP |
molopt |
|
|
|
epstion |
|
|
WIP |
onebodysz |
|
|
If .true., optimize only the one body part of the spin Jastrow factor. |
twobodyoff |
|
|
WIP |
iesdtwobodyoff |
|
|
WIP |
iesdonebodyoff |
|
|
WIP |
tolcg |
|
|
WIP |
minjonetwobody |
|
|
WIP |
symiesup |
|
|
WIP |
yescutjas |
|
|
WIP |
yescutdet |
|
|
WIP |
fixpar |
|
|
WIP |
symmetrize_agp |
|
|
If .true. (default), symmetrize the agp at each iteration step, as it can deteriorate due to numerical accuracy. |
yesquantum |
|
|
If yesquantum=.true. quantum effects are included. No kaverage is possible for the time being. |
nbead |
|
|
When yesquantum is true, one has to specify the number of beads of the corresponding path integral. The larger this number, the more accurate the Trotter approximation is (error vanishing as 1/nbead^2). |
yeswrite10 |
|
|
WIP |
oldscaling |
|
|
WIP |
srcomplex |
|
|
WIP |
power |
|
|
WIP |
signalnoise |
|
|
If signalnoise=.true., one optimizes all the parameters (including atomic positions with ieskin ≠ 0) by following the direction of maximum signal to noise ratio. parr is also effective in this case to regularize the inversion. |
gauge_fixing |
|
|
WIP |
beta_learning |
|
|
WIP |
noopt_onebody |
|
|
WIP |
scalermax |
|
|
WIP |
yeswritebead |
|
|
WIP |
yesread10 |
|
|
WIP |
change_parr |
|
|
WIP |
parr_max |
|
|
WIP |
parr_min |
|
`` 1d-4`` |
WIP |
delay_changeparr |
|
|
WIP |
maxiter_changeparr |
|
|
WIP |
k6gen |
|
automatic(.false.) |
WIP |
max_ortho |
|
|
WIP |
prep |
|
automatic(-1 or others) |
WIP |
change_tpar |
|
|
WIP |
inc_tpar_frequency |
|
|
WIP |
use_stable_tpar |
|
|
WIP |
eps_umrigar |
|
|
WIP |
yes_adams |
|
|
WIP |
divide_tpar |
|
|
WIP |
multiply_tpar |
|
automatic |
WIP |
tpar_buffer_len |
|
|
WIP |
tpar_max |
|
|
WIP |
cut_sigma |
|
|
WIP |
n_sigmas_tpar |
|
|
WIP |
len_tpar_stable_list |
|
|
WIP |
yes_dgelscut |
|
|
WIP |
readio section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
ncore |
|
automatic |
WIP |
np3 |
|
|
WIP |
np |
|
automatic |
WIP |
iread |
|
|
For correlated sampling or measuring correlation functions with readforward, use iread=3. |
writescratch |
|
|
Writes binary scratch files on disk to speed up continuation and allow non-self-consistent calculations and post-processing tools. The following files are written: |
wherescratch |
|
automatic('./' or 'old') |
WIP |
unreliable |
|
|
WIP |
ifreqdump |
|
|
WIP |
nowrite12 |
|
|
WIP |
flush_write |
|
automatic(.true. or .false.) |
WIP |
parameters section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
ieser |
|
|
WIP |
iesinv |
|
|
Integer (-1, 0 or 1). If neq 0, the spin Jastrow factor matrix is optimized, if allowed in the input fort.10. If < 0, a range can be defined in the &fitpar section with rmaxinv. |
iesm |
|
|
Integer (0 or 1). If neq 0, the exponent and/or the contracted coefficient of the basis defining the Jastrow are optimized. When itestr4 = -4,-9, only contracted coefficients are optimized if the basis contains them, otherwise yeszj=.true. is switched on and exponents are optimized. |
iesd |
|
|
Integer (0 or 1). It acts as a switch for the 1-body and 2-body Jastrow. |
isfix |
|
|
Integer (0 or 1). If iesfix = 1, the variance of the energy is printed out (no optimization assumed). |
iesfree |
|
|
Integer (-1, 0 or 1). If neq 0, the density Jastrow factor matrix is optimized. If < 0, a range can be defined in the &fitpar section with rmaxj. |
iessw |
|
|
Integer (-1, 0 or 1). If neq 0, the AGP matrix on the localized basis is optimized. If < 0, a range can be defined in the &fitpar section with rmax. |
iesup |
|
|
Integer (0 or 1). Same as the above, but for the determinantal part. yeszagp=.true. replaces yeszj in this case. |
ieskin |
|
|
Integer (0 or 1). If nuclear forces have to be computed (especially with dynamics idyn > 0), set ieskin > 0. |
yespress |
|
|
WIP |
warp |
|
|
WIP |
powerwarp |
|
|
WIP |
add_pulay |
|
|
WIP |
yespulay |
|
|
WIP |
typedyncell |
|
automatic (-2, -1, 0, or 3) |
Integer value. typedyncell=0 means Standard NVT ensemble with no optimization of cell. typedyncell=1 implies fixed volume, but optimization of b/a and c/a at fixed volume V = a times b times c. typedyncell=2 stands for constant pressure, variable volume, optimizing a, b and c at pressfixed = constant. typedyncell=3 represents constant pressure and variable volume but without modifying b/a and c/a. |
scalepulay |
|
|
WIP |
ext_pot |
|
|
WIP |
vdw |
|
|
WIP |
link_atom |
|
|
WIP |
mm_restr |
|
|
WIP |
write_rwalk |
|
|
WIP |
yes_correct |
|
|
WIP |
yesavopt |
|
|
WIP |
yesavsr |
|
|
WIP |
yesavcov |
|
|
WIP |
nrep_bead |
|
|
WIP |
yesperiodize |
|
|
WIP |
yes_kpoints |
|
|
WIP |
epsbas |
|
|
WIP |
yeszj |
|
|
Logical value. If yeszj=.true., exponents of the Jastrow basis are optimized if iesm neq 0 even if itestr4 = -4, -9. |
yeszagp |
|
|
Logical value. Same as above, but for the determinantal part. |
decoupled_run |
|
|
WIP |
scaleeloc |
|
|
WIP |
cutoff_p |
|
|
WIP |
fixa |
|
|
Logical value. If fixa = .true., a is kept fixed during dynamics. |
fixb |
|
|
Logical value. If fixb = .true., b is kept fixed during dynamics. |
fixc |
|
|
Logical value. If fixc = .true., c is kept fixed during dynamics. |
real_contracted |
|
|
Logical value. For complex wf, if real_contracted=.true., only the real part of the contracted coefficient of the basis is optimized. |
real_agp |
|
|
Logical value. For complex wf, if real_agp=.true. and iessw=neq 0, only the real part of the complex agp matrix is optimized. The imaginary part is assumed and set to zero. |
no_sjbra |
|
|
WIP |
pressfixed |
|
|
Value of the pressure in a.u., for dynamics at fixed pressure. Note: the classical value is not included. |
read_molecul |
|
|
WIP |
epsder |
|
|
WIP |
yes_scemama |
|
|
WIP |
yes_scemama_open |
|
|
WIP |
unused section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
rsignr |
|
|
WIP |
beta |
|
|
WIP |
testderiv |
|
|
WIP |
link section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
calpha |
|
|
WIP |
fitpar section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
nparinv |
|
|
WIP |
initparinv |
|
|
WIP |
rmaxinv |
|
|
Real value. If iesinv < 0, then all matrix elements of the spin Jastrow at distance larger than rmaxinv are not optimized. The rule is the same as the ones above for the spin Jastrow. |
npar |
|
|
WIP |
initpar |
|
|
WIP |
rmaxj |
|
|
Real value. If iefree < 0, then all matrix elements of the Jastrow at distance larger than rmaxj are not optimized. rmaxj = 0 has the same meaning as above, implying that only the so-called 3-body Jastrow is optimized. |
nparsw |
|
|
WIP |
initparsw |
|
|
WIP |
rmax |
|
|
Real value. If iessw < 0, then all matrix elements of the AGP at distance larger than rmax are not optimized. rmax = 0 implies that no matrix elements connecting different atoms are optimized. |
npower |
|
|
WIP |
powermin |
|
|
WIP |
npowersz |
|
|
WIP |
powerminsz |
|
|
WIP |
allfit |
|
|
WIP |
dynamic section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
temp |
|
|
Real value. The temperature in a.u. If temp < 0, then abs(temp) indicates the temperature in Kelvin. temp = 0 can be used for structural optimization. If the temperature is set to 0 K, it is purely structural optimization. |
friction |
|
|
Real value. It is necessary to keep it non-zero in Newtonian dynamics (idyn=4,7,8) but can be set to zero (recommended) for idyn=5 (the recommended dynamics). |
delta0 |
|
|
Real value. Used with idyn = 5, it is a parameter that can help with convergence in the small time step limit (tion to 0). It should be set in such a way that the Hessian matrix during the dynamics is well approximated by delta0 times Covariance matrix. For other dynamics, it represents a multiplicative factor applied to the covariance matrix used to decrease the correlation times. In these cases, delta0 has to be larger than a critical value depending on the time step. However, this is chosen by default. |
delta0q |
|
|
WIP |
delta0k |
|
|
WIP |
scalecov |
|
|
WIP |
iskipdyn |
|
|
Integer value. After iskipdyn times nweight MC steps, check if dev_mat < maxdev_dyn. |
maxdev_dyn |
|
|
Real value. After each WF optimization, it is the maximum value of dev max accepted for an ion move. Deprecated. |
stepcg_recount |
|
|
WIP |
write_cov |
|
|
WIP |
normcorr |
|
|
Real value. If non-zero and equal to one, it applies the noise correction to reduce the bias implied by the statistical evaluation of forces. In theory it should work, but in practice, it has little effects. So it is recommended to set to zero. |
yesturboq |
|
|
WIP |
yessecond |
|
|
WIP |
smoothcut |
|
|
WIP |
killcut |
|
|
WIP |
scale_mass |
|
|
WIP |
eqcellab |
|
|
WIP |
eqcellac |
|
|
WIP |
eqcellbc |
|
|
WIP |
yesrootc |
|
|
WIP |
addrognoso |
|
|
Logical value. With idyn = 5 it has to be set to .true. in order to eliminate the bias in describing the canonical ensemble for tion to 0. |
cleanrognoso |
|
|
WIP |
kpoints section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
kp_type |
|
|
This integer specifies the type of k-points which will be chosen in the calculation.
|
nk1 |
|
|
Meanings depend on the value of kp_type, see above for a detailed explanation. |
nk2 |
|
|
Meanings depend on the value of kp_type, see above for a detailed explanation. |
nk3 |
|
|
Meanings depend on the value of kp_type, see above for a detailed explanation. |
k1 |
|
|
For kp_type = 1, set k1, k2, k3 equal to 1 in order to apply an offset to the k-point grid generated by the Monkhorst-Pack algorithm. In some cases, this can help to reach |
k2 |
|
|
For kp_type = 1, set k1, k2, k3 equal to 1 in order to apply an offset to the k-point grid generated by the Monkhorst-Pack algorithm. In some cases, this can help to reach |
k3 |
|
|
For kp_type = 1, set k1, k2, k3 equal to 1 in order to apply an offset to the k-point grid generated by the Monkhorst-Pack algorithm. In some cases, this can help to reach |
time_reversal |
|
|
WIP |
skip_equivalence |
|
|
WIP |
double_kpgrid |
|
|
WIP |
compute_bands |
|
|
WIP |
KPOINTS lines section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
KPOINTS |
WIP |
Required for a calculation with a k-grid. |
User-defined k-points are written in the following manner. wkp(i) denotes the weight corresponding to the kpoint xkp(:,i) if the total weight is different from one.: |
molecul section
Parameter name |
Datatype |
Default |
Description |
|---|---|---|---|
epsdgm |
|
|
WIP |
nx |
|
|
Number of lattice points for the real space integration grid in the x direction. By default, nx = ny = nz |
ny |
|
|
WIP |
nz |
|
|
WIP |
nbufd |
|
automatic |
Input value for the buffer dimension. Note that, in the complex code, the buffer dimension is automatically doubled. In this case, consider decreasing the buffer dimension if you have a memory problem. |
ax |
|
|
Space (a.u.) for an open system in the x direction; for periodic systems, it is chosen as the cell parameter in the same direction and need not be specified. By default, ax = ay = az |
ay |
|
|
WIP |
az |
|
|
WIP |
nmolmin |
|
|
WIP |
smearing |
|
|
WIP |
nmolmax |
|
|
WIP |
weight_loc |
|
|
WIP |
orthoyes |
|
|
WIP |
epsrem_contr |
|
|
WIP |
nmolmaxw |
|
|
WIP |
gramyes |
|
|
WIP |
add_onebody2det |
|
|
WIP |
shift_origin |
|
|
WIP |
shiftx |
|
|
WIP |
shifty |
|
|
WIP |
shiftz |
|
|
WIP |
Parallel execution and resources
turborvb-mpi.x: Run as
mpirun -np N ./turborvb-mpi.x < datas.input. k-point pools, replicas, and I/O rank layout are controlled by ¶meters / &readio.OpenMP: Thread count from environment or runtime; rank 0 may read and broadcast it at startup.
GPU: Builds with CUDA / cuSOLVER can offload determinant evaluation ( main.f90 _CUSOLVER / _OFFLOAD blocks).
Notes and limitations
Input and source logic are complex; start from test/ and template/ for new runs.
MPI vs serial: Different executables; --help is reliable with turborvb-serial.x.
Log column positions depend on Fortran list-directed I/O; if the code changes, plot_*.sh grep/awk may need adjustment.
Memory and GPU usage depend strongly on nel, nion, Pfaffian/complex flags, and mesh density.