-
Notifications
You must be signed in to change notification settings - Fork 62
/
analyze_omm.f
72 lines (72 loc) · 1.96 KB
/
analyze_omm.f
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
c
c
c ###########################################################
c ## COPYRIGHT (C) 2019 by Zhi Wang & Jay William Ponder ##
c ## All Rights Reserved ##
c ###########################################################
c
c ##################################################################
c ## ##
c ## program analyze_omm -- force field energy via OpenMM API ##
c ## ##
c ##################################################################
c
c
c "analyze_omm" computes the force field energy via an interface to
c the OpenMM GPU code
c
c modifications by Zhi Wang, Ponder Lab, St. Louis, April 2019
c
c
program analyze_omm
use files
use inform
use iounit
use mdstuf
use openmm
implicit none
integer iarc
integer freeunit
real*8 energy,dt
character*240 arcfile
c
c
c setup the molecular mechanics calculation
c
call initial
call getarc (iarc)
close (unit=iarc)
call mechanic
c
c set needed variables for OpenMM energy calculations
c
call kopenmm
call mdinit
dt = 0.001d0
integrate = 'VERLET'
c
c reopen the dynamics trajectory file
c
iarc = freeunit ()
arcfile = filename
call suffix (arcfile,'arc','old')
open (unit=iarc,file=arcfile,status='old')
c
c find potential energies for the trajectory
c
call readxyz (iarc)
call ommdata
call openmm_init (ommHandle,dt)
do while (.not. abort)
call openmm_bar_energy (ommHandle,energy)
write (iout,10) energy
10 format(/,' Total Potential Energy :',8x,f20.8,' Kcal/mole')
call readxyz (iarc)
end do
c
c perform any final tasks before program exit
c
call openmm_cleanup (ommHandle)
close (unit=iarc)
call final
end