dxtb.config.ConfigSCF#

class dxtb.config.ConfigSCF(*, strict=False, method=1, guess=0, maxiter=100, mixer=2, mix_guess=True, damp=0.5, damp_init=0.1, damp_dynamic=False, damp_dynamic_factor=0.99, damp_soft_start=True, damp_generations=5, damp_diagonal_offset=0.01, scf_mode=0, scp_mode=2, x_atol=0.0001, x_atol_max=1e-05, f_atol=0.0001, force_convergence=False, batch_mode=0, fermi_etemp=300.0, fermi_maxiter=200, fermi_thresh=None, fermi_partition=0, device=device(type='cpu'), dtype=torch.float32)[source]#

Bases: object

Configuration for the SCF.

All configuration options are represented as integers. String options are converted to integers in the constructor.

The settings for Fermi smearing are stored separately in the ConfigFermi class, which can be accessed via the fermi attribute.

Methods

info

Return a dictionary with the SCF configuration.

Attributes

strict

Strict mode for SCF configuration.

method

Integer code for tight-binding method.

guess

Initial guess for the SCF.

maxiter

Maximum number of SCF iterations.

mixer

Mixing scheme for SCF iterations.

mix_guess

Include the initial guess in the mixing scheme.

damp

Damping factor for the SCF iterations.

damp_init

Initial damping factor for the SCF iterations.

damp_dynamic

Whether to use dynamic damping in the SCF iterations.

damp_dynamic_factor

Damping factor for dynamic damping in the SCF iterations, i.e., when the norm of the error falls below a threshold.

damp_soft_start

If enabled, then simple mixing will be used for the first generations number of steps, otherwise only for the first (in Anderson mixing only).

damp_generations

Number of generations to use during mixing.

damp_diagonal_offset

Offset added to the equation system's diagonal's to prevent a linear dependence during the mixing process.

scf_mode

SCF convergence approach (denoted by backward strategy).

scp_mode

SCF convergence target (self-consistent property).

x_atol

Absolute tolerance for argument (x) in SCF solver.

x_atol_max

Absolute tolerance for max norm (L∞) of the error in the SCF.

f_atol

Absolute tolerance for function value (f(x)) the SCF solver.

force_convergence

Force convergence of the SCF iterations.

batch_mode

Batch mode for the SCF iterations.

fermi_etemp

Electronic temperature for Fermi smearing.

fermi_maxiter

Maximum number of iterations for Fermi smearing.

fermi_thresh

Threshold for Fermi iterations.

fermi_partition

Partitioning scheme for electronic free energy.

device

Device for calculations.

dtype

Data type for calculations.

Parameters:
info()[source]#

Return a dictionary with the SCF configuration.

Return type:

dict[str, Any]

Returns:

Dictionary with the SCF configuration.

Return type:

dict[str, Any]

batch_mode: int#

Batch mode for the SCF iterations. - 0: Single system - 1: Multiple systems with padding - 2: Multiple systems with no padding (conformer ensemble)

damp: float#

Damping factor for the SCF iterations.

damp_diagonal_offset: float#

Offset added to the equation system’s diagonal’s to prevent a linear dependence during the mixing process. If set to None then rescaling will be disabled.

damp_dynamic: bool#

Whether to use dynamic damping in the SCF iterations.

damp_dynamic_factor: float#

Damping factor for dynamic damping in the SCF iterations, i.e., when the norm of the error falls below a threshold.

damp_generations: int#

Number of generations to use during mixing. Defaults to 5 as suggested by Eyert.

damp_init: float#

Initial damping factor for the SCF iterations.

damp_soft_start: bool#

If enabled, then simple mixing will be used for the first generations number of steps, otherwise only for the first (in Anderson mixing only).

device: device#

Device for calculations.

dtype: dtype#

Data type for calculations.

f_atol: float#

Absolute tolerance for function value (f(x)) the SCF solver.

fermi_etemp: float#

Electronic temperature for Fermi smearing.

fermi_maxiter: int#

Maximum number of iterations for Fermi smearing.

fermi_partition: int#

Partitioning scheme for electronic free energy.

fermi_thresh: dict#

Threshold for Fermi iterations.

force_convergence: bool#

Force convergence of the SCF iterations.

guess: int#

Initial guess for the SCF.

maxiter: int#

Maximum number of SCF iterations.

method: int#

Integer code for tight-binding method.

mix_guess: bool#

Include the initial guess in the mixing scheme.

mixer: int#

Mixing scheme for SCF iterations.

scf_mode: int#

SCF convergence approach (denoted by backward strategy).

scp_mode: int#

SCF convergence target (self-consistent property).

strict: bool = False#

Strict mode for SCF configuration. Always throws errors if True.

x_atol: float#

Absolute tolerance for argument (x) in SCF solver.

x_atol_max: float#

Absolute tolerance for max norm (L∞) of the error in the SCF.