-
Notifications
You must be signed in to change notification settings - Fork 11
DPD
Dissipative Particle Dynamics[1].
DPD is a lagrangian stochastic thermostat used to model simple and complex fluids and polymers that can be interpreted as a MD simulation with a particular interaction potential. This potential is implemented in Potential/DPD.cuh according to [1].
This potential can be used with a NVE integrator to achieve a correct DPD simulation. i.e VerletNVE.
Use as any other potential
using NVE = VerletNVE;
NVE::Parameters par;
par.dt = std::stod(argv[3]);
par.initVelocities = false;
auto verlet = make_shared<NVE>(pd, pg, sys, par);
{
using PairForces = PairForces<Potential::DPD>;
//This is the general interface for setting up a potential
Potential::DPD::Parameters dpd_params;
//Set too match parameters in [1]
dpd_params.cutOff = 1.0;
dpd_params.temperature = 1.0;
dpd_params.gamma = 4.0;
dpd_params.A = 25.0;
dpd_params.dt = par.dt;
auto pot = make_shared<Potential::DPD>(sys, dpd_params);
PairForces::Parameters params;
params.box = box; //Box to work on
auto pairforces = make_shared<PairForces>(pd, pg, sys, params, pot);
verlet->addInteractor(pairforces);
}
You can see an example in examples/DPD.cu that will reproduce the results of [1].
[1] On the numerical treatment of dissipative particle dynamics and related systems. Leimkuhler and Shang 2015. https://doi.org/10.1016/j.jcp.2014.09.008
-
-
1. PairForces
2. NbodyForces
3. ExternalForces
4. BondedForces
5. AngularBondedForces
6. TorsionalBondedForces
7. Poisson (Electrostatics) -
-
MD (Molecular Dynamics)
1. VerletNVT
2. VerletNVE - BD Brownian Dynamics
-
BDHI Brownian Dynamics with Hydrodynamic Interactions
1. EulerMaruyama
1.1 BDHI_Cholesky Brownian displacements through Cholesky factorization.
1.2 BDHI_Lanczos Brownian displacements through Lanczos algorithm.
1.3 BDHI_PSE Positively Split Edwald.
1.4 BDHI_FCM Force Coupling Method. - DPD Dissipative Particle Dynamics
- SPH Smoothed Particle Hydrodynamics
-
Hydrodynamics
1. ICM Inertial Coupling Method.
2. FIB Fluctuating Immerse Boundary.
3. Quasi2D Quasi2D hydrodynamics
-
MD (Molecular Dynamics)
-
- 1. Neighbour Lists
-
1. Programming Tools
2. Utils
-
1. Transverser
2. Functor
3. Potential
-
1. Particle Data
2. Particle Group
3. System
4. Parameter updatable
-
1. Tabulated Function
2. Postprocessing tools
3. InputFile
4. Tests
5. Allocator
6. Temporary memory
7. Immersed Boundary (IBM)
-
1. NBody
2. Neighbour Lists
3. Python wrappers
- 1. Superpunto