-
Notifications
You must be signed in to change notification settings - Fork 0
/
Classical.F90
77 lines (69 loc) · 1.63 KB
/
Classical.F90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
subroutine Classical
use Parameters
use utility, only: program_abort
implicit none
integer :: iref, Uout
call Setup_time_mass
call Init_Mass
select case(Iforce)
case(1)
call Set_mopac
case(6)
call Set_Gaussian_MPI_tk
case(8)
call Set_VASP
case(21)
call set_nnp_araidai
case(22)
call set_nnp_matlantis
end select
if ( Lrestart .eqv. .True. ) then
call restart_read_classical
else
call print_ini
call Init_Velocity
call Init_Bath_Classical
call Temp_ctr
call Force_Classical
if ( mod(istepsv,out_step) == 0 ) call print_result_qm
call Ham_Temp_Classical
call print_ham(Irestep)
!call Print_Ham_Classical(Irestep)
end if
do istepsv = Irestep + 1, Nstep
select case(Ncent)
case(0)
continue
case(1)
call Nhc_Integrate_Cent
case(3)
call Nhc_Integrate_Cent3
end select
call Vupdate
call Uupdate
call Force_Classical
if ( mod(istepsv,out_step) == 0 ) call print_result_qm
call Vupdate
select case(Ncent)
case(0)
continue
case(1)
call Nhc_Integrate_Cent
case(3)
call Nhc_Integrate_Cent3
end select
call Ham_Temp_Classical
!call Print_Ham_Classical(istepsv)
call print_ham(istepsv)
if ( mod(istepsv,out_step)==0 ) call Restart_Write_Classical(istepsv)
if (mod(istepsv,100) == 0) then
call exit_program
end if
end do
if (MyRank == 0) then
open(newunit=Uout,file=Fout,status='old',position='append')
write(Uout,'(" ",a)') repeat('*',95)
close(Uout)
end if
return
end subroutine Classical