Keywords¶
Block program offers many keywords to control the calculation. In the Block input file, each keyword (and its value) should take one line. There are two types of format to input the keywords. One is the key-value pattern:
keyword value1 value2 ...
The other is the schedule section:
schedule
0 50 1.0e-6 1e-06
5 50 1.0e-7 0e-06
end
Hamiltonian Types¶
Default Hamiltonian type is the chemistry Hamiltonian, in which the 2-electron interaction term is a dense matrix. Block also supports model Hamiltonians:
- heisenberg
No associated value.
- hubbard
No associated value.
Algorithm Types¶
If no algorithm is specified, the default is twodot_to_onedot algorithm.
- onedot
No associated value.
- twodot
No associated value.
- twodot_to_onedot
followed by a single number to indicate the iteration when to switch from the two-dot to the one-dot algorithm.
Warm-up Types¶
If warmup
is not specified, the default is local\_0site
.
- warmup
followed by one of the following strings.
local_0sitelocal_2sitelocal_3sitelocal_4sitewilson
Solver Types¶
If not specified, default is davidson
solver.
- davidson
No associated value
- lanczos
No associated value
Orbital Reorder Types¶
If not specified, fielder
ordering is used by default.
- fiedler
No associated value
- gaopt
followed by the filename
- reorder
followed by the filename which saves the indices of the reordered orbitals.
- noreorder
No associated value
Calculation Types¶
- dmrg
No associated value. This is the default calculation type.
- calcoverlap
No associated value. If set, Compute only the overlap of two DMRG wave function.
- calchamiltonian
No associated value.
- fourpdm (Not support in Block-1.5)
No associated value. If set, besides the regular dmrg calculation, the program also compute the 4-particle density matrix.
- fullrestart
No associated value
- nevpt2_npdm
No associated value
- onepdm
No associated value, If set, the program also computes and stores the 1-particle density matrix in
spatial_onepdm.*.*.txt
.- restart_fourpdm
No associated value
- restart_nevpt2_npdm
No associated value
- restart_onepdm
No associated value
- restart_threepdm
No associated value
- restart_tran_onepdm
No associated value
- restart_tran_twopdm
No associated value
- restart_twopdm
No associated value
- threepdm
No associated value, If set, the program also computes and stores the 3-particle density matrix in
spatial_threepdm.*.*.txt
.- transition_onepdm
No associated value, If set, the program also computes and stores the transition density matrix in
spatial_onepdm.*.*.txt
.- transition_twopdm
No associated value, If set, the program also computes and stores the transition 2-particle density matrix in
spatial_twopdm.*.*.txt
.- twopdm
No associated value, If set, the program also computes and stores the 2-particle density matrix in
spatial_twopdm.*.*.txt
.
Schedule¶
DMRG sweep schedule. It supports two types of input format. One is:
schedule default
to generate the sweep schedule by Block program. This is the default value of
schedule
keyword. The other is to explicitly input the schedule, eg:
schedule
0 50 1.0e-6 1e-06
5 50 1.0e-7 0e-06
end
The first column is the sweep-iteration, the second column is the corresponding bond dimension, the third column is the convergence tolerance for Davidson diagonalization, the fourth column is the noise.
Expert Keywords¶
- backward
No associated value. If set, the program starts with backward sweep.
- hf_occ
The initial HF wave function occupancies, in spin orbital. It can be one of the following values. The recommended one is
integral
.- integral
Generate occupancy pattern based on the 1-electron integrals.
- canonical
Based on the input orbital ordering, take the first N orbitals as occupied orbitals
- manual
followed by the HF occupancy in the same line.
- irrep
followed by one or two numbers. If one number is given, it determines the wave function symmetry. If two numbers are given, it means that calculations of transition density matrix between wavefunctions with different irreps. The irrep value follows the Molpro symmetry convention, see also https://github.com/pyscf/dmrgscf/blob/master/pyscf/dmrgscf/dmrg_sym.py
- lastM
followed by an integer. Default is 500
- maxiter
followed by an integer represents the max sweep iterations. Default is 10.
- maxM
followed by an integer, the maximum bond dimension.
- nelec
followed by an integer, for the total number of electrons.
- nonspinadapted
No associated value.
- nroots
followed by one integer, for the number of states to solve. Default is 1.
- orbitals
followed by the orbital file
- outputlevel 0 || 1 || 2 || 3
followed by an integer, range from 0 (less output) to 3 (very noise). Default is 0.
- scratch
followed by the scratch directory to store the intermediates, the resultant wave function, and density matrices.
- screen_tol
followed by a float number. Default is 0.0
- spin 2S
followed by an integer represents the difference of alpha and beta electron numbers.
- startM
followed by an integer. Default is 250.
- statespecific
No associated value. This option implies that a previous dmrg calculation has already been performed. This calculation will take the previous wavefunctions and refine them.
- sweep_tol
followed by a float number, for the convergence tolerance.
- sym
followed by the string for the symbol of point group symmetry, can be d2h and its subgroup.
- weights
followed by a list of float numbers for weight of each state. You could chose to omit the keyword weights in which case the weights will be distributed uniformly bet ween the different roots.
- num_thrds (new in Block-1.5)
followed by an integer for the number of OpenMP threads to use.
- memory (new in Block-1.5)
followed by an integer and a letter as the unit (k, m, g). The default is
2 g
(2 GB memory).