Electrostatic Embedding

property ChemicalSystem.electrostatic_embedding: ElectrostaticEmbedding

The electrostatic embedding of the system.

These are the methods in the ElectrostaticEmbedding class.

class ElectrostaticEmbedding

A class containing information about electrostatic fields in which the system is embedded.

add_multipole(r: ArrayLike, M: ArrayLike, r_unit: str = 'angstrom') None

Adds a new multipole to the electrostatic embedding.

  • r is the position of the multipole in cartesian coordinates.

  • M are the values of the multipole up to a certain l-value, e.g. 1 number for a simple point charge, 4 numbers for a point charge with a dipole moment, or 9 numbers for a point charge with a dipole and quadrupole moment.

  • r_unit is the length unit for the cartesian coordinates.

add_multipoles(r: ArrayLike, M: ArrayLike, r_unit: str = 'angstrom') None

Adds a set of new multipoles to the electrostatic embedding.

  • r is the position of the multipoles in cartesian coordinates as a N x 3 array.

  • M are the values of the multipole up to a certain l-value, as a N x M array, where M is e.g. 1 number for a simple point charge, 4 numbers for a point charge with a dipole moment, or 9 numbers for a point charge with a dipole and quadrupole moment.

  • r_unit is the length unit for the cartesian coordinates.

clear_multipoles() None

Removes all multipoles from the electrostatic embedding.

copy() ElectrostaticEmbedding

Creates a deep copy of the ElectrostaticEmbedding.

classmethod from_kf(kf: KFFile, section: str) ElectrostaticEmbedding

Constructs and returns a new ElectrostaticEmbedding from a section on a KF file.

has_homogeneous_field() bool

Whether a non-zero electric field is present.

has_multipoles() bool

Whether any mutipole is present.

is_active() bool

Whether there is any electrostatic embedding at all.

num_multipoles() int

Number of multipole charges.

num_zlm() int

Number of zlm for the multiple charges. 1 means charge only. 4 means charge and dipoles, etc…

write_kf(kf: KFFile, section: str, write_list_format: bool = True) None

Writes an ElectrostaticEmbedding to a section on a KF file.

property charge_width: float

The width parameter in a.u. in case a Gaussian charge model is chosen. A negative value means that the width will be chosen automatically.

property e_field: ndarray[Any, dtype[float64]]

A uniform electric field (x,y,z components, in atomic units).

property multipoles: ndarray[Any, dtype[float64]]

The multipoles (charge, dipoles…) in atomic units.

property use_charge_broadening: bool

Whether spherical Gaussian charge distribution is used for the charges. If false, a point charge will be used.

property xyz_multipoles: AngstromCoordsArray

The xyz position of the multipoles in angstrom.