CDFT
References: Holmberg2017, Holmberg2018
Parameters needed to set up a constrained DFT calculation. Each repetition of the ATOM_GROUP section defines a new constraint. The constraint(s) is (are) converged in a separate external SCF loop with settings read from the OUTER_SCF section. Supported constraints: Becke and Gaussian Hirshfeld (partial). [Edit on GitHub]
Keywords
Keyword descriptions
- ATOMIC_CHARGES
Type: logical
Default: F
Lone keyword: T
Usage: ATOMIC_CHARGESDescription: Calculate atomic CDFT charges with selected weight function (Z = Z_core - Z_CDFT). With fragment based constraints, charges are relative to the fragment reference state i.e. Z = Z_CDFT - Z_frag_reference. Note: if the number of atoms is greater than the default pw_pool max cache, calculation of atomic CDFT charges will prompt harmless warnings during deallocation of atomic grids.
- COUNTER
Type: integer
Default: 0
Usage: COUNTER {int}Description: A counter to track the total number of energy evaluations. Needed by some optimizers to print information. Useful mainly for restarts.
- FLIP_FRAGMENT_A
Type: logical
Default: F
Lone keyword: T
Usage: FLIP_FRAGMENT_ADescription: Logical which determines if the reference spin difference density (rho_alpha-rho_beta) for fragment A should be flipped. With default (off) value, the fragment is constrained to have more alpha than beta electrons if the isolated fragment has unpaired electrons. Useful in conjunction with FLIP_FRAGMENT_B.
- FLIP_FRAGMENT_B
Type: logical
Default: F
Lone keyword: T
Usage: FLIP_FRAGMENT_BDescription: Logical which determines if the reference spin difference density (rho_alpha-rho_beta) for fragment B should be flipped. With default (off) value, the fragment is constrained to have more alpha than beta electrons if the isolated fragment has unpaired electrons. Useful in conjunction with FLIP_FRAGMENT_A.
- FRAGMENT_A_FILE_NAME
Type: string
Default: fragment_a.cube
Aliases: FRAGMENT_A_FILE
Usage: FRAGMENT_A_FILE_NAMEDescription: Name of the reference total electron density cube file for fragment A. May include a path. The reference electron density needs to be outputted on the same grid as the full system (same cutoff and cell, output stride 1). For GAPW, generate the cube with E_DENSITY_CUBE% DENSITY_INCLUDE TOTAL_DENSITY; a regular GAPW electron-density cube contains only the soft density and is rejected.
- FRAGMENT_A_SPIN_FILE
Type: string
Default: fragment_a_spin.cube
Aliases: FRAGMENT_A_SPIN_FILE_NAME
Usage: FRAGMENT_A_SPIN_FILEDescription: Name of the reference spin density cube file for fragment A. May include a path. The reference spin density needs to be outputted on the same grid as the full system (same cutoff and cell, output stride 1). For GAPW, use the TOTAL_SPIN_DENSITY cube generated together with E_DENSITY_CUBE% DENSITY_INCLUDE TOTAL_DENSITY.
- FRAGMENT_B_FILE_NAME
Type: string
Default: fragment_b.cube
Aliases: FRAGMENT_B_FILE
Usage: FRAGMENT_B_FILE_NAMEDescription: Name of the reference total electron density cube file for fragment B. May include a path. The reference electron density needs to be outputted on the same grid as the full system (same cutoff and cell, output stride 1). For GAPW, generate the cube with E_DENSITY_CUBE% DENSITY_INCLUDE TOTAL_DENSITY; a regular GAPW electron-density cube contains only the soft density and is rejected.
- FRAGMENT_B_SPIN_FILE
Type: string
Default: fragment_b_spin.cube
Aliases: FRAGMENT_B_SPIN_FILE_NAME
Usage: FRAGMENT_B_SPIN_FILEDescription: Name of the reference spin density cube file for fragment B. May include a path. The reference spin density needs to be outputted on the same grid as the full system (same cutoff and cell, output stride 1). For GAPW, use the TOTAL_SPIN_DENSITY cube generated together with E_DENSITY_CUBE% DENSITY_INCLUDE TOTAL_DENSITY.
- IN_MEMORY
Type: logical
Default: F
Lone keyword: T
Usage: IN_MEMORYDescription: Precompute gradients due to constraint during initial formation of constraint and store them in memory. Does nothing if forces are not calculated.
- MAX_REUSE
Type: integer
Default: 0
Usage: MAX_REUSE {int}Description: Determines how many times a previously built preconditioner can be reused.
- PRECOND_FREQ
Type: integer
Default: 0
Usage: PRECOND_FREQ {int}Description: See REUSE_PRECOND.
- PURGE_FREQ
Type: integer
Default: 1
Usage: PURGE_FREQ {int}Description: See PURGE_HISTORY.
- PURGE_HISTORY
Type: logical
Default: F
Lone keyword: T
Usage: PURGE_HISTORY yesDescription: Purge wavefunction and constraint history to improve SCF convergence during MD. Counts how often the convergence of the first CDFT SCF iteration takes 2 or more outer SCF iterations and purges the history if the counter exceeds PURGE_FREQ, and PURGE_OFFSET MD steps have passed since the last purge. The counter is zeroed after each purge.
- PURGE_OFFSET
Type: integer
Default: 1
Usage: PURGE_OFFSET {int}Description: See PURGE_HISTORY.
- REUSE_PRECOND
Type: logical
Default: F
Lone keyword: T
Usage: REUSE_PRECOND yesDescription: Reuse a previously built OT preconditioner between subsequent CDFT SCF iterations if the inner OT SCF loop converged in PRECOND_FREQ steps or less. Intended mainly for MD simulations with the FULL_ALL preconditioner to speed up the final iterations of the CDFT SCF loop.
- STRENGTH
Type: real[ ]
Default: 0.00000000E+000Description: Constraint force constants (Lagrange multipliers). Give one value per constraint group.
Mentions: ⭐Constrained DFT
- TARGET
Type: real[ ]
Default: 0.00000000E+000
Usage: TARGET {real}Description: Constraint target values. Give one value per constraint group. The target value is the desired number of valence electrons, spin moment, or the number of alpha or beta electrons on the atoms that define the constraint, suitably multiplied by atomic coefficients in case a relative constraint between two sets of atoms is employed. Note that core charges are not subtracted from the target value.
Mentions: ⭐Constrained DFT
- TYPE_OF_CONSTRAINT
Type: enum
Default: NONE
Usage: TYPE_OF_CONSTRAINT (NONE|HIRSHFELD|BECKE)Description: Specifies the type of constraint used.
Valid values:
NONENo constraint (disables section).HIRSHFELDGaussian Hirshfeld constraint. Partial implementation: no forces. Requires corresponding section. Not as extensively tested.BECKEBecke constraint. Requires corresponding section.
References: Becke1988b
Mentions: ⭐Constrained DFT