n2p2 - A neural network potential package
|
Setup data for Ewald summation. More...
#include <EwaldSetup.h>
Public Member Functions | |
EwaldSetup () | |
Default constructor. More... | |
void | setTruncMethod (EWALDTruncMethod const m) |
EWALDTruncMethod | getTruncMethod () const |
double | getMaxCharge () const |
double | getPrecision () const |
void | setMaxQSigma (double const maxWidth) |
Setter for maximum width of charges. More... | |
void | readFromArgs (std::vector< std::string > const &args) |
Setup parameters from argument vector. More... | |
void | toNormalizedUnits (double const convEnergy, double const convLength) |
Convert cutoff parameters to normalized units. More... | |
void | calculateParameters (double const newVolume, size_t const newNumAtoms) |
Compute eta, rCut and kCut. More... | |
void | logEwaldCutoffs (Log &log, double const lengthConversion) const |
Use after Ewald summation! More... | |
Public Attributes | |
EwaldParameters | params |
Private Member Functions | |
bool | publishedNewCutoffs () const |
bool | isEstimateReliable () const |
Private Attributes | |
EWALDTruncMethod | truncMethod |
Method for determining real and k space cutoffs. More... | |
EwaldGlobalSettings | GlobSett |
std::unique_ptr< IEwaldTrunc > | truncImpl |
Setup data for Ewald summation.
Definition at line 37 of file EwaldSetup.h.
EwaldSetup::EwaldSetup | ( | ) |
Default constructor.
Definition at line 29 of file EwaldSetup.cpp.
References nnp::JACKSON_CATLOW.
|
inline |
Definition at line 93 of file EwaldSetup.h.
References truncMethod.
Referenced by nnp::Mode::setupElectrostatics().
|
inline |
Definition at line 43 of file EwaldSetup.h.
References truncMethod.
Referenced by nnp::Mode::setupElectrostatics().
|
inline |
Definition at line 44 of file EwaldSetup.h.
References GlobSett, and nnp::EwaldGlobalSettings::maxCharge.
Referenced by nnp::Mode::setupElectrostatics().
|
inline |
Definition at line 45 of file EwaldSetup.h.
References GlobSett, and nnp::EwaldGlobalSettings::precision.
Referenced by nnp::Mode::setupElectrostatics().
|
inline |
Setter for maximum width of charges.
maxWidth | Maximum width of gaussian charges. |
Definition at line 88 of file EwaldSetup.h.
References GlobSett, and nnp::EwaldGlobalSettings::maxQSigma.
Referenced by nnp::Mode::setupElectrostatics().
void EwaldSetup::readFromArgs | ( | std::vector< std::string > const & | args | ) |
Setup parameters from argument vector.
[in] | args | Vector containing arguments of input file. |
Definition at line 36 of file EwaldSetup.cpp.
References GlobSett, nnp::JACKSON_CATLOW, nnp::EwaldGlobalSettings::maxCharge, params, nnp::EwaldGlobalSettings::precision, nnp::EwaldParameters::rCut, truncImpl, and truncMethod.
Referenced by nnp::Mode::setupElectrostatics().
void EwaldSetup::toNormalizedUnits | ( | double const | convEnergy, |
double const | convLength | ||
) |
Convert cutoff parameters to normalized units.
convEnergy | Conversion factor for energy. |
convLength | Conversion factor for length. |
Definition at line 74 of file EwaldSetup.cpp.
References nnp::EwaldGlobalSettings::fourPiEps, GlobSett, nnp::KOLAFA_PERRAM, params, nnp::EwaldGlobalSettings::precision, nnp::EwaldParameters::toNormalizedUnits(), and truncMethod.
Referenced by nnp::Mode::setupElectrostatics().
void EwaldSetup::calculateParameters | ( | double const | newVolume, |
size_t const | newNumAtoms | ||
) |
Compute eta, rCut and kCut.
[in] | newVolume | Volume of the real space cell. |
[in] | newNumAtoms | Number of atoms in system. |
Definition at line 88 of file EwaldSetup.cpp.
References GlobSett, params, and truncImpl.
Referenced by nnp::Structure::calculateMaxCutoffRadiusOverall().
void EwaldSetup::logEwaldCutoffs | ( | Log & | log, |
double const | lengthConversion | ||
) | const |
Use after Ewald summation!
Definition at line 95 of file EwaldSetup.cpp.
References nnp::EwaldParameters::eta, isEstimateReliable(), nnp::EwaldParameters::kCut, params, publishedNewCutoffs(), nnp::EwaldParameters::rCut, nnp::strpr(), and nnp::EwaldParameters::toPhysicalUnits().
Referenced by nnp::Mode::logEwaldCutoffs(), and nnp::InterfaceLammps::process().
|
private |
Definition at line 115 of file EwaldSetup.cpp.
References truncImpl.
Referenced by logEwaldCutoffs().
|
private |
Definition at line 119 of file EwaldSetup.cpp.
References GlobSett, params, and truncImpl.
Referenced by logEwaldCutoffs().
EwaldParameters nnp::EwaldSetup::params |
Definition at line 39 of file EwaldSetup.h.
Referenced by nnp::Structure::calculateDAdrQ(), nnp::Structure::calculateElectrostaticEnergy(), nnp::Structure::calculateMaxCutoffRadiusOverall(), calculateParameters(), isEstimateReliable(), logEwaldCutoffs(), readFromArgs(), nnp::KspaceGrid::setup(), and toNormalizedUnits().
|
private |
Method for determining real and k space cutoffs.
Definition at line 79 of file EwaldSetup.h.
Referenced by getTruncMethod(), readFromArgs(), setTruncMethod(), and toNormalizedUnits().
|
private |
Definition at line 80 of file EwaldSetup.h.
Referenced by calculateParameters(), getMaxCharge(), getPrecision(), isEstimateReliable(), readFromArgs(), setMaxQSigma(), and toNormalizedUnits().
|
private |
Definition at line 82 of file EwaldSetup.h.
Referenced by calculateParameters(), isEstimateReliable(), publishedNewCutoffs(), and readFromArgs().