OpenMM
Main Page
Classes
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
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);
124
125
protected
:
126
ForceImpl
* createImpl()
const
;
127
private
:
128
class
WcaDispersionInfo;
129
double
epso;
130
double
epsh;
131
double
rmino;
132
double
rminh;
133
double
awater;
134
double
slevy;
135
double
shctd;
136
double
dispoff;
137
std::vector<WcaDispersionInfo> parameters;
138
};
139
144
class
AmoebaWcaDispersionForce::WcaDispersionInfo {
145
public
:
146
double
radius, epsilon;
147
WcaDispersionInfo() {
148
radius = 1.0;
149
epsilon = 0.0;
150
}
151
WcaDispersionInfo(
double
radius,
double
epsilon) : radius(radius), epsilon(epsilon) {
152
}
153
};
154
155
}
// namespace OpenMM
156
157
#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::ForceImpl
A ForceImpl provides the internal implementation of a Force.
Definition:
ForceImpl.h:57
plugins
amoeba
openmmapi
include
openmm
AmoebaWcaDispersionForce.h
Generated on Fri Jan 17 2014 15:20:11 for OpenMM by
1.8.5