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 com.sun.jna.ptr.DoubleByReference;
41 import ffx.openmm.Context;
42 import ffx.openmm.Force;
43
44 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_addParticle;
45 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_create;
46 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_destroy;
47 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getAwater;
48 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getDispoff;
49 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getEpsh;
50 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getEpso;
51 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getNumParticles;
52 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getParticleParameters;
53 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getRminh;
54 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getRmino;
55 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getShctd;
56 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_getSlevy;
57 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setAwater;
58 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setDispoff;
59 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setEpsh;
60 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setEpso;
61 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setParticleParameters;
62 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setRminh;
63 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setRmino;
64 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setShctd;
65 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_setSlevy;
66 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_updateParametersInContext;
67 import static edu.uiowa.jopenmm.OpenMMAmoebaLibrary.OpenMM_AmoebaWcaDispersionForce_usesPeriodicBoundaryConditions;
68 import static edu.uiowa.jopenmm.OpenMMLibrary.OpenMM_Boolean.OpenMM_True;
69
70
71
72
73
74
75
76
77
78 public class WcaDispersionForce extends Force {
79
80
81
82
83 public WcaDispersionForce() {
84 super(OpenMM_AmoebaWcaDispersionForce_create());
85 }
86
87
88
89
90
91
92
93
94 public int addParticle(double radius, double epsilon) {
95 return OpenMM_AmoebaWcaDispersionForce_addParticle(pointer, radius, epsilon);
96 }
97
98
99
100
101 @Override
102 public void destroy() {
103 if (pointer != null) {
104 OpenMM_AmoebaWcaDispersionForce_destroy(pointer);
105 pointer = null;
106 }
107 }
108
109
110
111
112
113
114 public double getAwater() {
115 return OpenMM_AmoebaWcaDispersionForce_getAwater(pointer);
116 }
117
118
119
120
121
122
123 public double getDispoff() {
124 return OpenMM_AmoebaWcaDispersionForce_getDispoff(pointer);
125 }
126
127
128
129
130
131
132 public double getEpsh() {
133 return OpenMM_AmoebaWcaDispersionForce_getEpsh(pointer);
134 }
135
136
137
138
139
140
141 public double getEpso() {
142 return OpenMM_AmoebaWcaDispersionForce_getEpso(pointer);
143 }
144
145
146
147
148 public int getNumParticles() {
149 return OpenMM_AmoebaWcaDispersionForce_getNumParticles(pointer);
150 }
151
152
153
154
155
156
157
158
159 public void getParticleParameters(int particleIndex, DoubleByReference radius, DoubleByReference epsilon) {
160 OpenMM_AmoebaWcaDispersionForce_getParticleParameters(pointer, particleIndex, radius, epsilon);
161 }
162
163
164
165
166
167
168 public double getRminh() {
169 return OpenMM_AmoebaWcaDispersionForce_getRminh(pointer);
170 }
171
172
173
174
175
176
177 public double getRmino() {
178 return OpenMM_AmoebaWcaDispersionForce_getRmino(pointer);
179 }
180
181
182
183
184
185
186 public double getShctd() {
187 return OpenMM_AmoebaWcaDispersionForce_getShctd(pointer);
188 }
189
190
191
192
193
194
195 public double getSlevy() {
196 return OpenMM_AmoebaWcaDispersionForce_getSlevy(pointer);
197 }
198
199
200
201
202
203
204 public void setAwater(double awater) {
205 OpenMM_AmoebaWcaDispersionForce_setAwater(pointer, awater);
206 }
207
208
209
210
211
212
213 public void setDispoff(double dispoff) {
214 OpenMM_AmoebaWcaDispersionForce_setDispoff(pointer, dispoff);
215 }
216
217
218
219
220
221
222 public void setEpsh(double epsh) {
223 OpenMM_AmoebaWcaDispersionForce_setEpsh(pointer, epsh);
224 }
225
226
227
228
229
230
231 public void setEpso(double epso) {
232 OpenMM_AmoebaWcaDispersionForce_setEpso(pointer, epso);
233 }
234
235
236
237
238
239
240
241
242 public void setParticleParameters(int particleIndex, double radius, double epsilon) {
243 OpenMM_AmoebaWcaDispersionForce_setParticleParameters(pointer, particleIndex, radius, epsilon);
244 }
245
246
247
248
249
250
251 public void setRminh(double rminh) {
252 OpenMM_AmoebaWcaDispersionForce_setRminh(pointer, rminh);
253 }
254
255
256
257
258
259
260 public void setRmino(double rmino) {
261 OpenMM_AmoebaWcaDispersionForce_setRmino(pointer, rmino);
262 }
263
264
265
266
267
268
269 public void setShctd(double shctd) {
270 OpenMM_AmoebaWcaDispersionForce_setShctd(pointer, shctd);
271 }
272
273
274
275
276
277
278 public void setSlevy(double slevy) {
279 OpenMM_AmoebaWcaDispersionForce_setSlevy(pointer, slevy);
280 }
281
282
283
284
285
286
287
288
289
290
291 public void updateParametersInContext(Context context) {
292 if (context.hasContextPointer()) {
293 OpenMM_AmoebaWcaDispersionForce_updateParametersInContext(pointer, context.getPointer());
294 }
295 }
296
297
298
299
300
301
302
303 @Override
304 public boolean usesPeriodicBoundaryConditions() {
305 int pbc = OpenMM_AmoebaWcaDispersionForce_usesPeriodicBoundaryConditions(pointer);
306 return pbc == OpenMM_True;
307 }
308 }