OpenMPCD
MPCSolute/Factory.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * Defines the OpenMPCD::CUDA::MPCSolute::Factory class.
4  */
5 
6 #ifndef OPENMPCD_CUDA_MPCSOLUTE_FACTORY_HPP
7 #define OPENMPCD_CUDA_MPCSOLUTE_FACTORY_HPP
8 
11 
12 namespace OpenMPCD
13 {
14 namespace CUDA
15 {
16 namespace MPCSolute
17 {
18 
19  /**
20  * Class used to construct MPC solute instances.
21  */
22  class Factory
23  {
24  private:
25  Factory(); ///< The constructor.
26 
27  public:
28  /**
29  * Returns a newly constructed MPC solute.
30  * The caller is responsible for deleting the pointer.
31  * Returns nullptr if mpc.solute is not set.
32  * @throw OpenMPCD::UnimplementedException
33  * @param[in] sim The simulation instance.
34  * @param[in] config The simulation configuration.
35  * @param[in] rng A random number generator.
36  */
37  static
40  CUDA::Simulation* const sim,
41  const Configuration& config,
42  RNG& rng);
43  };
44 
45 } //namespace MPCSolute
46 } //namespace CUDA
47 } //namespace OpenMPCD
48 
49 #endif
OpenMPCD::Configuration
Represents the configuration of the simulation.
Definition: Configuration.hpp:28
Base.hpp
OpenMPCD::CUDA::MPCSolute::Base< MPCParticlePositionType, MPCParticleVelocityType >
OpenMPCD::CUDA::MPCSolute::Factory::getInstance
static MPCSolute::Base< MPCParticlePositionType, MPCParticleVelocityType > * getInstance(CUDA::Simulation *const sim, const Configuration &config, RNG &rng)
Returns a newly constructed MPC solute.
Definition: MPCSolute/Factory.cpp:11
OpenMPCD::CUDA::MPCSolute::Factory
Class used to construct MPC solute instances.
Definition: MPCSolute/Factory.hpp:22
OpenMPCD::CUDA::Simulation
MPCD simulation with Molecular Dynamics on CUDA-capable GPUs.
Definition: CUDA/Simulation.hpp:48
OpenMPCD::RNG
boost::mt11213b RNG
The random number generator type.
Definition: Types.hpp:18
Simulation.hpp