RMPCDMD
|
Routines to perform Molecular Dynamics integration. More...
Data Types | |
type | rigid_body_t |
Container for rigid body colloid. More... | |
Functions/Subroutines | |
subroutine, public | md_pos (particles, dt) |
subroutine, public | cell_md_pos (cells, particles, dt, md_flag) |
subroutine, public | cell_md_pos_ywall (cells, particles, dt, md_flag) |
subroutine, public | cell_md_pos_zwall (cells, particles, dt, md_flag) |
subroutine, public | apply_pbc (particles, edges) |
subroutine, public | md_vel (particles, dt) |
subroutine, public | cell_md_vel (cells, particles, dt, md_flag) |
subroutine, public | rattle_dimer_pos (p, d, dt, edges) |
subroutine, public | rattle_dimer_vel (p, d, dt, edges) |
subroutine, public | rattle_body_pos (p, links, distances, dt, edges, precision) |
subroutine, public | rattle_body_vel (p, links, distances, dt, edges, precision) |
double precision function, public | lj93_zwall (particles, edges, lj_params) |
double precision function, public | elastic_network (p, links, distances, k, edges) |
subroutine | rigid_body_init (this, ps, i_start, i_stop, edges) |
subroutine | rigid_body_compute_force_torque (this, ps) |
subroutine | rigid_body_vv1 (this, ps, dt, treshold, edges) |
Perform first velocity-Verlet step for quaternion dynamics. More... | |
subroutine | rigid_body_vv2 (this, ps, dt) |
Perform second velocity-Verlet step for quaternion dynamics. More... | |
Routines to perform Molecular Dynamics integration.
This module contains routines to perform velocity Verlet integration, Rattle for a dimer and for other rigid bodies, and quaternion-based rotational velocity Verlet.
Routines to compute colloid-wall (with Lennard-Jones 9-3) and elastic network interactions.
subroutine, public md::apply_pbc | ( | type(particle_system_t), intent(inout) | particles, |
double precision, dimension(3), intent(in) | edges | ||
) |
subroutine, public md::cell_md_pos | ( | type(cell_system_t), intent(inout) | cells, |
type(particle_system_t), intent(inout) | particles, | ||
double precision, intent(in) | dt, | ||
logical, intent(in) | md_flag | ||
) |
subroutine, public md::cell_md_pos_ywall | ( | type(cell_system_t), intent(inout) | cells, |
type(particle_system_t), intent(inout) | particles, | ||
double precision, intent(in) | dt, | ||
logical, intent(in) | md_flag | ||
) |
subroutine, public md::cell_md_pos_zwall | ( | type(cell_system_t), intent(inout) | cells, |
type(particle_system_t), intent(inout) | particles, | ||
double precision, intent(in) | dt, | ||
logical, intent(in) | md_flag | ||
) |
subroutine, public md::cell_md_vel | ( | type(cell_system_t), intent(in) | cells, |
type(particle_system_t), intent(inout) | particles, | ||
double precision, intent(in) | dt, | ||
logical, intent(in) | md_flag | ||
) |
double precision function, public md::elastic_network | ( | type(particle_system_t), intent(inout) | p, |
integer, dimension(:,:), intent(in) | links, | ||
double precision, dimension(:), intent(in) | distances, | ||
double precision, intent(in) | k, | ||
double precision, dimension(3), intent(in) | edges | ||
) |
double precision function, public md::lj93_zwall | ( | type(particle_system_t), intent(inout) | particles, |
double precision, dimension(3), intent(in) | edges, | ||
type(lj_params_t), intent(in) | lj_params | ||
) |
subroutine, public md::md_pos | ( | type(particle_system_t), intent(inout) | particles, |
double precision, intent(in) | dt | ||
) |
subroutine, public md::md_vel | ( | type(particle_system_t), intent(inout) | particles, |
double precision, intent(in) | dt | ||
) |
subroutine, public md::rattle_body_pos | ( | type(particle_system_t), intent(inout) | p, |
integer, dimension(:,:), intent(in) | links, | ||
double precision, dimension(:), intent(in) | distances, | ||
double precision, intent(in) | dt, | ||
double precision, dimension(3), intent(in) | edges, | ||
double precision, intent(in) | precision | ||
) |
subroutine, public md::rattle_body_vel | ( | type(particle_system_t), intent(inout) | p, |
integer, dimension(:,:), intent(in) | links, | ||
double precision, dimension(:), intent(in) | distances, | ||
double precision, intent(in) | dt, | ||
double precision, dimension(3), intent(in) | edges, | ||
double precision, intent(in) | precision | ||
) |
subroutine, public md::rattle_dimer_pos | ( | type(particle_system_t), intent(inout) | p, |
double precision, intent(in) | d, | ||
double precision, intent(in) | dt, | ||
double precision, dimension(3), intent(in) | edges | ||
) |
subroutine, public md::rattle_dimer_vel | ( | type(particle_system_t), intent(inout) | p, |
double precision, intent(in) | d, | ||
double precision, intent(in) | dt, | ||
double precision, dimension(3), intent(in) | edges | ||
) |
|
private |
|
private |
|
private |
Perform first velocity-Verlet step for quaternion dynamics.
The algorithm is described in [5]
User manual: algorithms/quaternions
|
private |
Perform second velocity-Verlet step for quaternion dynamics.
The algorithm is described in [5]
User manual: algorithms/quaternions