OpenMM
Main Page
Related Pages
Classes
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
AmoebaWcaDispersionForce.h
1
#ifndef OPENMM_AMOEBA_WCA_DISPERSION_FORCE_H_
2
#define OPENMM_AMOEBA_WCA_DISPERSION_FORCE_H_
3
4
/* -------------------------------------------------------------------------- *
5
* OpenMMAmoeba *
6
* -------------------------------------------------------------------------- *
7
* This is part of the OpenMM molecular simulation toolkit originating from *
8
* Simbios, the NIH National Center for Physics-Based Simulation of *
9
* Biological Structures at Stanford, funded under the NIH Roadmap for *
10
* Medical Research, grant U54 GM072970. See https://simtk.org. *
11
* *
12
* Portions copyright (c) 2008-2012 Stanford University and the Authors. *
13
* Authors: Mark Friedrichs, Peter Eastman *
14
* Contributors: *
15
* *
16
* Permission is hereby granted, free of charge, to any person obtaining a *
17
* copy of this software and associated documentation files (the "Software"), *
18
* to deal in the Software without restriction, including without limitation *
19
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
20
* and/or sell copies of the Software, and to permit persons to whom the *
21
* Software is furnished to do so, subject to the following conditions: *
22
* *
23
* The above copyright notice and this permission notice shall be included in *
24
* all copies or substantial portions of the Software. *
25
* *
26
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
27
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
28
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
29
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
30
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
31
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
32
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
33
* -------------------------------------------------------------------------- */
34
35
#include "openmm/Force.h"
36
#include "internal/windowsExportAmoeba.h"
37
#include <vector>
38
39
namespace
OpenMM
{
40
50
class
OPENMM_EXPORT_AMOEBA
AmoebaWcaDispersionForce
:
public
Force
{
51
52
public
:
53
57
AmoebaWcaDispersionForce
();
58
62
int
getNumParticles
()
const
{
63
return
parameters.size();
64
}
65
73
void
setParticleParameters(
int
particleIndex,
double
radius,
double
epsilon);
74
82
void
getParticleParameters(
int
particleIndex,
double
& radius,
double
& epsilon)
const
;
83
91
int
addParticle(
double
radius,
double
epsilon);
101
void
updateParametersInContext(
Context
& context);
102
103
/*
104
* Constants
105
*/
106
107
double
getEpso()
const
;
108
double
getEpsh()
const
;
109
double
getRmino()
const
;
110
double
getRminh()
const
;
111
double
getAwater()
const
;
112
double
getShctd()
const
;
113
double
getDispoff()
const
;
114
double
getSlevy()
const
;
115
116
void
setEpso(
double
inputValue);
117
void
setEpsh(
double
inputValue);
118
void
setRmino(
double
inputValue);
119
void
setRminh(
double
inputValue);
120
void
setAwater(
double
inputValue);
121
void
setShctd(
double
inputValue);
122
void
setDispoff(
double
inputValue);
123
void
setSlevy(
double
inputValue);
130
bool
usesPeriodicBoundaryConditions
()
const
{
131
return
false
;
132
}
133
protected
:
134
ForceImpl* createImpl()
const
;
135
private
:
136
class
WcaDispersionInfo;
137
double
epso;
138
double
epsh;
139
double
rmino;
140
double
rminh;
141
double
awater;
142
double
slevy;
143
double
shctd;
144
double
dispoff;
145
std::vector<WcaDispersionInfo> parameters;
146
};
147
152
class
AmoebaWcaDispersionForce::WcaDispersionInfo {
153
public
:
154
double
radius, epsilon;
155
WcaDispersionInfo() {
156
radius = 1.0;
157
epsilon = 0.0;
158
}
159
WcaDispersionInfo(
double
radius,
double
epsilon) : radius(radius), epsilon(epsilon) {
160
}
161
};
162
163
}
// namespace OpenMM
164
165
#endif
/*OPENMM_AMOEBA_WCA_DISPERSION_FORCE_H_*/
OpenMM::AmoebaWcaDispersionForce::getNumParticles
int getNumParticles() const
Get the number of particles.
Definition:
AmoebaWcaDispersionForce.h:62
OpenMM::Context
A Context stores the complete state of a simulation.
Definition:
Context.h:67
OpenMM::AmoebaWcaDispersionForce
This class implements a nonbonded interaction between pairs of particles typically used along with Am...
Definition:
AmoebaWcaDispersionForce.h:50
OpenMM::Force
Force objects apply forces to the particles in a System, or alter their behavior in other ways...
Definition:
Force.h:65
OpenMM::AmoebaWcaDispersionForce::usesPeriodicBoundaryConditions
bool usesPeriodicBoundaryConditions() const
Returns whether or not this force makes use of periodic boundary conditions.
Definition:
AmoebaWcaDispersionForce.h:130
OpenMM
Definition:
AndersenThermostat.h:40
openmm
plugins
amoeba
openmmapi
include
openmm
AmoebaWcaDispersionForce.h
Generated on Fri Jul 17 2015 01:23:15 for OpenMM by
1.8.8