| 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 |