8 #include "EwaldInteraction.h" 9 #include <util/math/Constants.h> 11 #include <util/mpi/MpiLoader.h> 37 : epsilon_(other.epsilon_),
39 rSpaceCutoff_(other.rSpaceCutoff_),
40 rSpaceCutoffSq_(other.rSpaceCutoffSq_),
44 isInitialized_(other.isInitialized_)
52 epsilon_ = other.epsilon_;
53 alpha_ = other.alpha_;
54 rSpaceCutoff_ = other.rSpaceCutoff_;
55 rSpaceCutoffSq_ = other.rSpaceCutoffSq_;
59 isInitialized_ = other.isInitialized_;
68 read<double>(in,
"epsilon", epsilon_);
69 read<double>(in,
"alpha", alpha_);
70 read<double>(in,
"rSpaceCutoff", rSpaceCutoff_);
71 setDerivedConstants();
72 isInitialized_ =
true;
81 loadParameter<double>(ar,
"epsilon", epsilon_);
82 loadParameter<double>(ar,
"alpha", alpha_);
83 loadParameter<double>(ar,
"rSpaceCutoff", rSpaceCutoff_);
84 setDerivedConstants();
85 isInitialized_ =
true;
103 if (name ==
"epsilon") {
106 if (name ==
"alpha") {
109 if (name ==
"rSpaceCutoff") {
110 rSpaceCutoff_ = value;
114 setDerivedConstants();
123 if (name ==
"epsilon") {
126 if (name ==
"alpha") {
129 if (name ==
"rSpaceCutoff") {
130 value = rSpaceCutoff_;
137 void EwaldInteraction::setDerivedConstants()
139 rSpaceCutoffSq_ = rSpaceCutoff_*rSpaceCutoff_;
141 ce_ = 1.0/(4.0*pi*epsilon_);
142 cf_ = 2.0*alpha_/sqrt(pi);
143 cg_ = -0.25/(alpha_*alpha_);
EwaldInteraction & operator=(const EwaldInteraction &other)
Assignment.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
Classes used by all simpatico molecular simulations.
Saving / output archive for binary ostream.
EwaldInteraction()
Default constructor.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
Implementation of r-space and k-space Ewald Coulomb interactions.
Utility classes for scientific computation.
void set(std::string name, double value)
Modify a parameter, identified by a string.
double get(std::string name) const
Get a parameter value, identified by a string.
Saving archive for binary istream.
static const double Pi
Trigonometric constant Pi.
void setClassName(const char *className)
Set class name string.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.
void readParameters(std::istream &in)
Read epsilon, alpha, and rCutoff.