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_0site
local_2site
local_3site
local_4site
wilson

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).