Untruncated Coulomb interaction.
More...
#include <CoulombPeriodic.h>
|
| CoulombPeriodic (const GridInfo &gInfoOrig, const CoulombParams ¶ms) |
|
ScalarFieldTilde | operator() (ScalarFieldTilde &&, PointChargeMode pointChargeMode=PointChargeNone) const |
|
ScalarFieldTilde | operator() (const ScalarFieldTilde &, PointChargeMode pointChargeMode=PointChargeNone) const |
| Apply Coulomb kernel (parameters same as destructible input version above)
|
|
matrix3 | latticeGradient (const ScalarFieldTilde &X, const ScalarFieldTilde &Y, PointChargeMode pointChargeMode=PointChargeNone) const |
| Return the lattice gradient of dot(X, O(coulomb(Y))
|
|
double | energyAndGrad (std::vector< Atom > &atoms, matrix3<> *E_RRT=0) const |
|
ScalarField | getEfieldPotential () const |
| Generate the potential due to the Efield (if any) (Requires embedded truncation)
|
|
complexScalarFieldTilde | operator() (complexScalarFieldTilde &&, vector3<> kDiff, double omega) const |
|
complexScalarFieldTilde | operator() (const complexScalarFieldTilde &, vector3<> kDiff, double omega) const |
|
matrix3 | latticeGradient (const complexScalarFieldTilde &X, vector3<> kDiff, double omega) const |
| Return the lattice gradient of exchange integral dot(X, O(coulomb(X)) for given k-point difference and screening parameter.
|
|
Untruncated Coulomb interaction.
◆ apply()
Apply the Coulomb operator (on optionally embedded grid) with appropriate truncation Embedding is handled in base class wrapper functions above
Implements Coulomb.
◆ createEwald()
std::shared_ptr<Ewald> CoulombPeriodic::createEwald |
( |
matrix3<> |
R, |
|
|
size_t |
nAtoms |
|
) |
| const |
|
protectedvirtual |
Each implementation must create and return the corresponding Ewald evaluator for the supplied lattice vectors R which may correspond to a supercell of gInfo.R along the periodic directions (the truncated directions will be identical) The number of atoms may be used for choosing the optimum gaussian width sigma
Implements Coulomb.
The documentation for this class was generated from the following file: