|
double precision function, dimension(3), public | rand_sphere (state) |
| Return random point on the surface of a sphere. More...
|
|
subroutine, public | simple_mpcd_step (particles, cells, state, alpha, thermostat, T, hydro) |
| Perform a collision. More...
|
|
subroutine, public | wall_mpcd_step (particles, cells, state, wall_temperature, wall_v, wall_n, thermostat, bulk_temperature, alpha, keep_cell_v) |
| Collisions in partially filled cells at the walls use the rule of Lamura et al (2001) [2]. More...
|
|
double precision function, public | compute_temperature (particles, cells, tz) |
| Compute the temperature of a mpcd solvent. More...
|
|
subroutine, public | compute_rho (particles, rhoz) |
| Compute density profile along z. More...
|
|
subroutine, public | compute_vx (particles, vx) |
| Compute x-velocity profile along z. More...
|
|
subroutine, public | mpcd_stream_periodic (particles, cells, dt) |
| Stream MPCD particles in a periodic system. More...
|
|
subroutine, public | mpcd_stream_xforce_yzwall (particles, cells, dt, g) |
| Stream MPCD particles with a force in the x-direction and specular or bounce-back conditions in y. More...
|
|
subroutine | yzwall_collision (x0, v0, x, v, im, L, t, bc, g) |
| Collide a particle in y and z with constant acceleration in x. More...
|
|
pure integer function | change_23 (i) |
| Return 2 for 3 and 3 for 2. More...
|
|
subroutine, public | bulk_reaction (p, c, from, to, rate, tau, state) |
| Apply a bulk unimolecular RMPCD reaction. More...
|
|
subroutine, public | bulk_reaction_endothermic (p, c, from, to, rate, tau, state, delta_u) |
| Apply a endothermic bulk unimolecular RMPCD reaction. More...
|
|
subroutine, public | mpcd_stream_nogravity_zwall (particles, cells, dt) |
|
subroutine, public | rescale_cells (particles, cells, state, T) |
| Rescale the kinetic energy of all cells. More...
|
|
Routines to perform MPCD dynamics.
User manual: algorithms
MPCD collisions are implemented in simple_mpcd_step and wall_mpcd_step, that takes into account a wall in the z-direction.
Streaming is achieved by the mpcd_stream_periodic, mpcd_stream_xforce_yzwall and mpcd_stream_nogravity_zwall routines. Only a single stream routine should be used, depending on the simulation setup. A further call to md_vel is needed in the presence of forces.
subroutine, public mpcd::wall_mpcd_step |
( |
class(particle_system_t), intent(inout) |
particles, |
|
|
class(cell_system_t), intent(in) |
cells, |
|
|
type(threefry_rng_t), dimension(:), intent(inout) |
state, |
|
|
double precision, dimension(2), intent(in), optional |
wall_temperature, |
|
|
double precision, dimension(3,2), intent(in), optional |
wall_v, |
|
|
integer, dimension(2), intent(in), optional |
wall_n, |
|
|
logical, intent(in), optional |
thermostat, |
|
|
double precision, intent(in), optional |
bulk_temperature, |
|
|
double precision, intent(in), optional |
alpha, |
|
|
logical, intent(in), optional |
keep_cell_v |
|
) |
| |
Collisions in partially filled cells at the walls use the rule of Lamura et al (2001) [2].
If thermostatting is enabled, MPCD-AT is used.
If keep_cell_v is disabled (the default is enabled), the center of mass velocity of the cells is set to zero.
Definition at line 195 of file mpcd.f90.