JDFTx  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoulombParams Struct Reference

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,
 Regularization method for G=0 singularities in exchange. More...

Public Member Functions

std::shared_ptr< class CoulombcreateCoulomb (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 Supercellsupercell
 Description of k-point supercell for exchange.

Detailed Description

Parameters controlling Coulomb interactions.

Member Enumeration Documentation

Regularization method for G=0 singularities in exchange.


No regularization (3D periodic or non-periodic systems only)


Auxiliary function method (3D periodic systems only) [4].


Ewald sum on a probe charge per unit cell (3D/2D/1D periodic systems)


Wigner-Seitz volume spherical truncation [26].


Wigner-Seitz cell truncation [27].

Truncation geometry.


Fully periodic calculation (default)


Truncated along one lattice direction, periodic in two.


Truncated along two lattice directions, periodic in one.


Cylindrical truncation, with 1D periodicity along axis.


Isolated system (all directions truncated)


Spherical isolation in all directions.

Member Function Documentation

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

The documentation for this struct was generated from the following file: