10 using namespace OpenMPCD;
15 const unsigned int count,
18 const FP mpcTimestep = config.
read<
FP>(
"mpc.timestep");
20 if(!config.
has(
"mpc.fluid"))
23 if(config.
has(
"mpc.fluid.simple"))
26 if(config.
has(
"mpc.fluid.dumbbell"))
28 const FP bulkThermostatTargetkT = config.
read<
FP>(
"bulkThermostat.targetkT");
29 const FP shearRate = config.
read<
FP>(
"boundaryConditions.LeesEdwards.shearRate");
33 bulkThermostatTargetkT, shearRate);
36 if(config.
has(
"mpc.fluid.gaussianChains"))
42 if(config.
has(
"mpc.fluid.gaussianRods"))
48 if(config.
has(
"mpc.fluid.harmonicTrimers"))
Base class for MPC fluids.
bool has(const std::string &setting) const
Returns whether a setting with the given name exists.
Represents the configuration of the simulation.
#define OPENMPCD_THROW(ExceptionType, message)
Throws the given ExceptionType, passing the given message along with file and line number information...
Fluid consisting of Gaussian rods with a certain mean length.
void read(const std::pair< const char *, ValueType * >(&settingsAndValues)[settingsCount]) const
Reads the specified settings from the given configuration file and stores them in the given location.
Namespace for simulations using CUDA.
Fluid consisting of three particles, with two harmonic springs coupling them.
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
boost::mt11213b RNG
The random number generator type.
Fluid consisting of Gaussian dumbbells.
double FP
Default floating point type.
DeviceMemoryManager * getDeviceMemoryManager()
Returns the Device memory manager.
Fluid consisting of independent particles.
Represents an invalid configuration.
Generalization of GaussianDumbbells to chains with an arbitrary number of constituent particles.
static MPCFluid::Base * getInstance(CUDA::Simulation *const sim, const Configuration &config, const unsigned int count, RNG &rng)
Returns a newly constructed MPC fluid.