1 |
chuckv |
4 |
module dynamics |
2 |
|
|
use parameter, ONLY : ensemble |
3 |
|
|
use dynamics_langevin_verlet, ONLY : langevin_verlet_dynamics |
4 |
|
|
use dynamics_nose_hoover, ONLY : nose_hoover_dynamics |
5 |
|
|
use dynamics_velocity_verlet, ONLY : velocity_verlet_dynamics |
6 |
|
|
use status, ONLY : info |
7 |
|
|
implicit none |
8 |
|
|
PRIVATE |
9 |
|
|
|
10 |
|
|
public :: run_dynamics |
11 |
|
|
|
12 |
|
|
|
13 |
|
|
contains |
14 |
|
|
|
15 |
|
|
subroutine run_dynamics() |
16 |
|
|
select case(ensemble) |
17 |
|
|
case ('NVE') |
18 |
|
|
call velocity_verlet_dynamics() |
19 |
|
|
case('NVT') |
20 |
|
|
call nose_hoover_dynamics() |
21 |
|
|
case('langevin') |
22 |
|
|
call langevin_verlet_dynamics() |
23 |
|
|
case default |
24 |
|
|
call info('DYNAMICS','Unknown ensemble') |
25 |
|
|
return |
26 |
|
|
end select |
27 |
|
|
|
28 |
|
|
end subroutine run_dynamics |
29 |
|
|
|
30 |
|
|
end module dynamics |