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 package ffx.openmm.amoeba;
39
40 import ffx.openmm.Context;
41 import ffx.openmm.Force;
42 import ffx.openmm.IntArray;
43
44 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_addParticleType;
45 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_addParticle_1;
46 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_addTypePair;
47 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_create;
48 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_destroy;
49 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setAlchemicalMethod;
50 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setCutoffDistance;
51 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setNonbondedMethod;
52 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setParticleExclusions;
53 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setParticleParameters;
54 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setSoftcoreAlpha;
55 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setSoftcorePower;
56 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_setUseDispersionCorrection;
57 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaVdwForce_updateParametersInContext;
58
59
60
61
62 public class VdwForce extends Force {
63
64
65
66
67 public VdwForce() {
68 pointer = OpenMM_AmoebaVdwForce_create();
69 }
70
71
72
73
74
75
76
77
78 public int addParticleType(double rad, double eps) {
79 return OpenMM_AmoebaVdwForce_addParticleType(pointer, rad, eps);
80 }
81
82
83
84
85
86
87
88
89
90 public void addTypePair(int type1, int type2, double rad, double eps) {
91 OpenMM_AmoebaVdwForce_addTypePair(pointer, type1, type2, rad, eps);
92 }
93
94
95
96
97
98
99
100
101
102
103 public void addParticle_1(int ired, int type, double reductionFactor, int isAlchemical, double scaleFactor) {
104 OpenMM_AmoebaVdwForce_addParticle_1(pointer, ired, type, reductionFactor, isAlchemical, scaleFactor);
105 }
106
107
108
109
110
111
112
113
114
115
116
117
118
119 public void setParticleParameters(int index, int ired, double rad, double eps, double reductionFactor,
120 int isAlchemical, int type, double scaleFactor) {
121 OpenMM_AmoebaVdwForce_setParticleParameters(pointer, index, ired, rad, eps, reductionFactor, isAlchemical, type, scaleFactor);
122 }
123
124
125
126
127
128
129 public void setCutoffDistance(double cutoff) {
130 OpenMM_AmoebaVdwForce_setCutoffDistance(pointer, cutoff);
131 }
132
133
134
135
136
137
138 public void setUseDispersionCorrection(int value) {
139 OpenMM_AmoebaVdwForce_setUseDispersionCorrection(pointer, value);
140 }
141
142
143
144
145
146
147 public void setNonbondedMethod(int method) {
148 OpenMM_AmoebaVdwForce_setNonbondedMethod(pointer, method);
149 }
150
151
152
153
154
155
156 public void setAlchemicalMethod(int method) {
157 OpenMM_AmoebaVdwForce_setAlchemicalMethod(pointer, method);
158 }
159
160
161
162
163
164
165 public void setSoftcoreAlpha(double vdWSoftcoreAlpha) {
166 OpenMM_AmoebaVdwForce_setSoftcoreAlpha(pointer, vdWSoftcoreAlpha);
167 }
168
169
170
171
172
173
174 public void setSoftcorePower(int vdwSoftcorePower) {
175 OpenMM_AmoebaVdwForce_setSoftcorePower(pointer, vdwSoftcorePower);
176 }
177
178
179
180
181
182
183
184 public void setParticleExclusions(int i, IntArray exclusions) {
185 OpenMM_AmoebaVdwForce_setParticleExclusions(pointer, i, exclusions.getPointer());
186 }
187
188
189
190
191
192
193 public void updateParametersInContext(Context context) {
194 if (context.hasContextPointer()) {
195 OpenMM_AmoebaVdwForce_updateParametersInContext(pointer, context.getPointer());
196 }
197 }
198
199
200
201
202 public void destroy() {
203 if (pointer != null) {
204 OpenMM_AmoebaVdwForce_destroy(pointer);
205 pointer = null;
206 }
207 }
208
209 }