1 #ifndef MCMD_ANGLE_POTENTIAL_H 2 #define MCMD_ANGLE_POTENTIAL_H 11 #include <util/param/ParamComposite.h> 12 #include <mcMd/potentials/misc/EnergyCalculator.h> 13 #include <mcMd/potentials/misc/StressCalculator.h> 15 #include <util/random/Random.h> 62 virtual double energy(
double cosTheta,
int type)
const = 0;
91 double randomAngle(
Util::Random* random,
double beta,
int type)
108 double randomCosineAngle(
Util::Random* random,
double beta,
int type)
118 virtual void set(std::string name,
int type,
double value) = 0;
126 virtual double get(std::string name,
int type)
const = 0;
131 virtual std::string interactionClassName()
const = 0;
140 virtual void addForces() = 0;
159 using EnergyCalculator::energy;
A Vector is a Cartesian vector.
Interface for a Angle Interaction.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
virtual double atomEnergy(const Atom &atom) const
Calculate the covalent angle energy for one Atom.
Interface for a class that calculates a total energy.
A point particle within a Molecule.
Utility classes for scientific computation.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
An object that can read multiple parameters from file.
Interface for a stress calculator.