Parametrizations: Components

Contents

Parametrizations: Components#

Elements#

Parametrization: Element#

Element parametrization record containing the adjustable parameters for each species.

class dxtb._src.param.element.Element(*, shells, levels, slater, ngauss, refocc, shpoly, kcn, gam, lgam, gam3=0.0, zeff, arep, xbond=0.0, en, dkernel=0.0, qkernel=0.0, mprad=0.0, mpvcn=0.0)[source]#

Bases: BaseModel

Representation of the parameters for a species.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
arep: float#

Repulsion exponent.

dkernel: float#

Dipolar exchange-correlation kernel.

en: float#

Electronegativity.

gam: float#

Chemical hardness / Hubbard parameter.

gam3: float#

Atomic Hubbard derivative.

kcn: List[float]#

CN dependent shift of the self energy for each shell

levels: List[float]#

Atomic level energies for each shell

lgam: List[float]#

Relative chemical hardness for each shell.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

mprad: float#

Offset radius for the damping in the AES energy.

mpvcn: float#

Shift value in the damping in the AES energy. Only used if mprad != 0.

ngauss: List[int]#

Number of primitive Gaussian functions used in the STO-NG expansion for each shell.

qkernel: float#

Quadrupolar exchange-correlation kernel.

refocc: List[float]#

Reference occupation for each shell

shells: List[str]#

Included shells with principal quantum number and angular momentum.

shpoly: List[float]#

Polynomial enhancement for Hamiltonian elements

slater: List[float]#

Slater exponents of the STO-NG functions for each shell

xbond: float#

Halogen bonding strength.

zeff: float#

Effective nuclear charge used in repulsion.

Hamiltonian#

Parametrization: Hamiltonian#

Definition of the global core Hamiltonian parameters.

The core Hamiltonian is rescaling the shell-blocks of the overlap integrals formed over the basis set by the average of the atomic self-energies and an additional distance dependent function formed from the element parametrization.

class dxtb._src.param.hamiltonian.PHamiltonian(*, xtb)[source]#

Bases: BaseModel

Possible Hamiltonian parametrizations. Currently only the xTB Hamiltonian is supported.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

xtb (PHamiltonianXTB)

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

xtb: PHamiltonianXTB#

Data for the xTB Hamiltonian

class dxtb._src.param.hamiltonian.PHamiltonianXTB(*, wexp, kpol=2.0, enscale, cn=None, shell, kpair={})[source]#

Bases: BaseModel

Global parameters for the formation of the core Hamiltonian from the overlap integrals. Contains the required atomic and shell dependent scaling parameters to obtain the off-site scaling functions independent of the self-energy and the distance polynomial.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
cn: str | None#

Local environment descriptor for shifting the atomic self-energies

enscale: float#

Electronegativity scaling factor for off-site valence blocks

kpair: Dict[str, float]#

Atom-pair dependent scaling factor for off-site valence blocks

kpol: float#

Scaling factor for polarization functions

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

shell: Dict[str, float]#

Shell-pair dependent scaling factor for off-site blocks

wexp: float#

Exponent of the orbital exponent dependent off-site scaling factor

Interactions#

Parametrization: Electrostatics (2nd order)#

Definition of the isotropic second-order charge interactions.

class dxtb._src.param.charge.PSecondOrder(*, effective)[source]#

Bases: BaseModel

Possible charge parametrizations. Currently only the interaction kernel for the Klopman-Ohno electrostatics (effective) is supported.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

effective (PSecondOrderEffective)

effective: PSecondOrderEffective#

Klopman-Ohno electrostatics.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dxtb._src.param.charge.PSecondOrderEffective(*, gexp=2.0, average='harmonic')[source]#

Bases: BaseModel

Representation of the isotropic second-order charge interactions for a parametrization.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
average: str#

Averaging function for Hubbard parameter.

gexp: float#

Exponent of Coulomb kernel.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Parametrization: Electrostatics (3rd order)#

Definition of the isotropic third-order onsite correction.

class dxtb._src.param.thirdorder.PThirdOrder(*, shell=False)[source]#

Bases: BaseModel

Representation of the isotropic third-order onsite correction.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

shell (Literal[False] | ~dxtb._src.param.thirdorder.PThirdOrderShell)

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

shell: Literal[False] | PThirdOrderShell#

Whether the third order contribution is shell-dependent or only atomwise.

class dxtb._src.param.thirdorder.PThirdOrderShell(*, s, p, d)[source]#

Bases: BaseModel

Representation of shell-resolved third-order electrostatics.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
d: float#

Scaling factor for d-orbitals.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

p: float#

Scaling factor for p-orbitals.

s: float#

Scaling factor for s-orbitals.

Classical#

Parametrization: Dispersion#

Definitions of dispersion contributions. Contains the D3Model and D4Model representing the DFT-D3(BJ) and DFT-D4 dispersion corrections, respectively. For details on there implementation, see the tad-dftd3 and tad-dftd4 libraries.

class dxtb._src.param.dispersion.PD3Model(*, s6=1.0, s8=1.0, a1=0.4, a2=5.0, s9=1.0)[source]#

Bases: BaseModel

Representation of the DFT-D3(BJ) contribution for a parametrization.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
a1: float#

Becke-Johnson damping parameter.

a2: float#

Becke-Johnson damping parameter.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

s6: float#

Scaling factor for multipolar (dipole-dipole contribution) terms.

s8: float#

Scaling factor for multipolar (dipole-quadrupole contribution) terms.

s9: float#

Scaling factor for the many-body dispersion term (ATM/RPA-like).

class dxtb._src.param.dispersion.PD4Model(*, sc=False, s6=1.0, s8=1.0, a1=0.4, a2=5.0, s9=1.0, s10=0.0, alp=16.0)[source]#

Bases: BaseModel

Representation of the DFT-D4 contribution for a parametrization.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
a1: float#

Becke-Johnson damping parameter.

a2: float#

Becke-Johnson damping parameter.

alp: float#

Exponent of zero damping function in the ATM term.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

s10: float#

Scaling factor for quadrupole-quadrupole term.

s6: float#

Scaling factor for multipolar (dipole-dipole contribution) terms

s8: float#

Scaling factor for multipolar (dipole-quadrupole contribution) terms

s9: float#

Scaling factor for the many-body dispersion term (ATM/RPA-like).

sc: bool#

Whether the dispersion correctio is used self-consistently or not.

class dxtb._src.param.dispersion.PDispersion(*, d3=None, d4=None)[source]#

Bases: BaseModel

Possible dispersion parametrizations. Currently, the DFT-D3(BJ) and DFT-D4 methods are supported.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
d3: PD3Model | None#

D3 model for the dispersion.

d4: PD4Model | None#

D4 model for the dispersion.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Parametrization: Halogen#

Definitions for halogen binding corrections. Currently, only GFN1-xTB’s classical halogen bond correction is defined.

class dxtb._src.param.halogen.PHalogen(*, classical)[source]#

Bases: BaseModel

Possible halogen correction parametrizations.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

classical (PHalogenClassical)

classical: PHalogenClassical#

Classical halogen-bond correction used in GFN1-xTB.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dxtb._src.param.halogen.PHalogenClassical(*, damping, rscale)[source]#

Bases: BaseModel

Representation of the classical geometry dependent halogen-bond (XB) correction for a parametrization.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
damping: float#

Damping factor of attractive contribution in Lennard-Jones-like potential.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

rscale: float#

Global scaling factor for covalent radii of AX bond.

Parametrization: Repulsion#

Definition of the repulsion contribution. The PRepulsionEffective is used in GFN1-xTB and GFN2-xTB.

class dxtb._src.param.repulsion.PRepulsion(*, effective)[source]#

Bases: BaseModel

Possible repulsion parametrizations. Currently only the GFN1-xTB effective repulsion is supported.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

effective (PRepulsionEffective)

effective: PRepulsionEffective#

Name of the represented method

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class dxtb._src.param.repulsion.PRepulsionEffective(*, kexp, klight=None)[source]#

Bases: BaseModel

Representation of the repulsion contribution for a parametrization.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
kexp: float#

Scaling of the interatomic distance in the exponential damping function of the repulsion energy.

klight: float | None#

Scaling of the interatomic distance in the exponential damping function of the repulsion energy for light elements, i.e., H and He (only GFN2).

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Misc#

Parametrizations: Meta#

Meta data associated with a parametrization. Mainly used for identification of data format.

class dxtb._src.param.meta.Meta(*, name=None, reference=None, version=0, format=None)[source]#

Bases: BaseModel

Representation of the meta data for a parametrization.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • name (str | None)

  • reference (str | None)

  • version (int)

  • format (int | None)

format: int | None#

Format version of the parametrization data.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str | None#

Name of the represented method.

reference: str | None#

References relevant for the parametrization records.

version: int#

Version of the represented method.