Parameters controlling Coulomb interactions. More...
#include <Coulomb.h>
Public Types | |
| enum | Geometry { Periodic, Slab, Wire, Cylindrical, Isolated, Spherical } |
| Truncation geometry. More... | |
| enum | ExchangeRegularization { None, AuxiliaryFunction, ProbeChargeEwald, SphericalTruncated, WignerSeitzTruncated } |
| Regularization method for G=0 singularities in exchange. More... | |
Public Member Functions | |
| std::shared_ptr< class Coulomb > | createCoulomb (const GridInfo &gInfo) const |
| Create a Coulomb object corresponding to the parameters of this class. | |
| vector3< bool > | isTruncated () const |
| Get a list of which directions are truncated: | |
| void | splitEfield (const matrix3<> &R, vector3<> &RT_Efield_ramp, vector3<> &RT_Efield_wave) const |
Public Attributes | |
| Geometry | geometry |
| Truncation geometry. | |
| int | iDir |
| Truncated lattice direction for Slab or periodic direction for Wire. | |
| double | Rc |
| Truncation radius for cylindrical / spherical modes (0 => in-radius of Wigner-Seitz cell) | |
| double | ionMargin |
| margin around ions when checking localization constraints | |
| bool | embed |
| whether to embed in double-sized box (along truncated directions) to compute Coulomb interactions | |
| vector3 | embedCenter |
| 'center' of the system, when it is embedded into the larger box (in lattice coordinates) | |
| bool | embedFluidMode |
| if true, don't truncate, just evaluate coulomb interactions in the larger box (fluid screening does the image separation instead) | |
| vector3 | Efield |
| electric field (in Cartesian coordinates, atomic units [Eh/e/a0]) | |
| ExchangeRegularization | exchangeRegularization |
| exchange regularization method | |
| std::set< double > | omegaSet |
| set of exchange erf-screening parameters | |
| std::shared_ptr< struct Supercell > | supercell |
| Description of k-point supercell for exchange. | |
Parameters controlling Coulomb interactions.
Regularization method for G=0 singularities in exchange.
| Enumerator | |
|---|---|
| None |
No regularization (3D periodic or non-periodic systems only) |
| AuxiliaryFunction |
Auxiliary function method (3D periodic systems only) AuxFunc-Carrier. |
| ProbeChargeEwald |
Ewald sum on a probe charge per unit cell (3D/2D/1D periodic systems) |
| SphericalTruncated |
Wigner-Seitz volume spherical truncation SphericalTruncation. |
| WignerSeitzTruncated |
Wigner-Seitz cell truncation TruncatedEXX. |
Truncation geometry.
| void CoulombParams::splitEfield | ( | const matrix3<> & | R, |
| vector3<> & | RT_Efield_ramp, | ||
| vector3<> & | RT_Efield_wave | ||
| ) | const |
Get electric field in contravariant lattice coordinates, split into ramp (truncated directions) and wave (periodic directions) components