OpenMPCD
include
OpenMPCD
CUDA
MPCSolute
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
9
#include <
OpenMPCD/CUDA/MPCSolute/Base.hpp
>
10
#include <
OpenMPCD/CUDA/Simulation.hpp
>
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
38
MPCSolute::Base<MPCParticlePositionType, MPCParticleVelocityType>
*
39
getInstance
(
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
Generated by
1.8.17