Electrostatic Embedding
***********************

property ChemicalSystem.electrostatic_embedding: ElectrostaticEmbedding

   The electrostatic embedding of the system.

The following are 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.
