9 #include "McPerturbationFactory.h" 12 #include "McEnergyPerturbation.h" 14 #include "McPairPerturbation.h" 15 #include <mcMd/mcSimulation/McSystem.h> 16 #include <mcMd/potentials/pair/McPairPotential.h> 17 #include <simp/interaction/pair/LJPair.h> 18 #include <simp/interaction/pair/DpdPair.h> 22 #include "McExternalPerturbation.h" 23 #include <mcMd/mcSimulation/McSystem.h> 24 #include <mcMd/potentials/external/ExternalPotential.h> 25 #include <simp/interaction/external/LamellarOrderingExternal.h> 26 #include <simp/interaction/external/PeriodicExternal.h> 28 #include "McPairExternalPerturbation.h" 29 #include <mcMd/potentials/pair/McPairPotential.h> 30 #include <simp/interaction/pair/LJPair.h> 31 #include <simp/interaction/pair/DpdPair.h> 59 if (className ==
"McEnergyPerturbation") {
63 else if (className ==
"McPairPerturbation") {
64 const std::string& interactionClassName
66 if (interactionClassName ==
"LJPair") {
68 }
else if (interactionClassName ==
"DpdPair") {
77 else if (className ==
"McPairExternalPerturbation") {
78 const std::string& pairInteractionClassName
80 const std::string& externalInteractionClassName
82 if (pairInteractionClassName ==
"LJPair") {
83 if (externalInteractionClassName ==
"LamellarOrderingExternal") {
85 }
else if (externalInteractionClassName ==
"PeriodicExternal") {
90 }
else if (pairInteractionClassName ==
"DpdPair") {
91 if (externalInteractionClassName ==
"LamellarOrderingExternal") {
93 }
else if (externalInteractionClassName ==
"PeriodicExternal") {
105 else if (className ==
"McExternalPerturbation") {
106 const std::string& interactionClassName
108 if (interactionClassName ==
"LamellarOrderingExternal") {
110 }
else if (interactionClassName ==
"PeriodicExternal") {
113 UTIL_THROW(
"Unsupported external potential.");
121 #endif // #ifdef MCMD_PERTURB McPerturbationFactory(McSystem &system)
Constructor.
A System for use in a Markov chain Monte Carlo simulation.
Perturbation * factory(const std::string &className) const
Method to create any species supplied with Simpatico.
A Perturbation in the external potential external parameter.
Classes used by all simpatico molecular simulations.
A Perturbation with a variable inverse temperature.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
Simulation & simulation() const
Get the parent Simulation by reference.
ExternalPotential & externalPotential() const
Return ExternalPotential by reference.
Perturbation * trySubfactories(const std::string &className) const
Search through subfactories for match.
Utility classes for scientific computation.
A Perturbation in the pair interaction epsilon(0,1) for any pair potential supporting setEpsilon() an...
MPI::Intracomm & communicator()
Get the MPI communicator by reference.
A Perturbation in the pair interaction epsilon(0,1) for any pair potential supporting setEpsilon()...
Model of parameter dependence in a free energy perturbation theory.
McPairPotential & pairPotential() const
Return the McPairPotential by reference.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
virtual std::string interactionClassName() const =0
Return name of external interaction class (e.g., "LamellarOrderingExternal").
virtual std::string interactionClassName() const =0
Return name of pair interaction class (e.g., "LJPair").