Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
f7f79b04
Commit
f7f79b04
authored
Jul 22, 2010
by
Mark Friedrichs
Browse files
Initial Amoeba
parent
5003591d
Changes
114
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1664 additions
and
0 deletions
+1664
-0
plugins/amoeba/openmmapi/include/internal/AmoebaHarmonicBondForceImpl.h
.../openmmapi/include/internal/AmoebaHarmonicBondForceImpl.h
+72
-0
plugins/amoeba/openmmapi/include/internal/AmoebaHarmonicInPlaneAngleForceImpl.h
...pi/include/internal/AmoebaHarmonicInPlaneAngleForceImpl.h
+72
-0
plugins/amoeba/openmmapi/include/internal/AmoebaMultipoleForceImpl.h
...eba/openmmapi/include/internal/AmoebaMultipoleForceImpl.h
+71
-0
plugins/amoeba/openmmapi/include/internal/AmoebaOutOfPlaneBendForceImpl.h
...penmmapi/include/internal/AmoebaOutOfPlaneBendForceImpl.h
+72
-0
plugins/amoeba/openmmapi/include/internal/AmoebaPiTorsionForceImpl.h
...eba/openmmapi/include/internal/AmoebaPiTorsionForceImpl.h
+72
-0
plugins/amoeba/openmmapi/include/internal/AmoebaSASAForceImpl.h
...s/amoeba/openmmapi/include/internal/AmoebaSASAForceImpl.h
+69
-0
plugins/amoeba/openmmapi/include/internal/AmoebaStretchBendForceImpl.h
...a/openmmapi/include/internal/AmoebaStretchBendForceImpl.h
+72
-0
plugins/amoeba/openmmapi/include/internal/AmoebaTorsionForceImpl.h
...moeba/openmmapi/include/internal/AmoebaTorsionForceImpl.h
+73
-0
plugins/amoeba/openmmapi/include/internal/AmoebaTorsionTorsionForceImpl.h
...penmmapi/include/internal/AmoebaTorsionTorsionForceImpl.h
+71
-0
plugins/amoeba/openmmapi/include/internal/AmoebaVdwForceImpl.h
...ns/amoeba/openmmapi/include/internal/AmoebaVdwForceImpl.h
+72
-0
plugins/amoeba/openmmapi/include/internal/AmoebaWcaDispersionForceImpl.h
...openmmapi/include/internal/AmoebaWcaDispersionForceImpl.h
+72
-0
plugins/amoeba/openmmapi/src/AmoebaGeneralizedKirkwoodForce.cpp
...s/amoeba/openmmapi/src/AmoebaGeneralizedKirkwoodForce.cpp
+112
-0
plugins/amoeba/openmmapi/src/AmoebaGeneralizedKirkwoodForceImpl.cpp
...oeba/openmmapi/src/AmoebaGeneralizedKirkwoodForceImpl.cpp
+61
-0
plugins/amoeba/openmmapi/src/AmoebaHarmonicAngleForce.cpp
plugins/amoeba/openmmapi/src/AmoebaHarmonicAngleForce.cpp
+100
-0
plugins/amoeba/openmmapi/src/AmoebaHarmonicAngleForceImpl.cpp
...ins/amoeba/openmmapi/src/AmoebaHarmonicAngleForceImpl.cpp
+66
-0
plugins/amoeba/openmmapi/src/AmoebaHarmonicBondForce.cpp
plugins/amoeba/openmmapi/src/AmoebaHarmonicBondForce.cpp
+86
-0
plugins/amoeba/openmmapi/src/AmoebaHarmonicBondForceImpl.cpp
plugins/amoeba/openmmapi/src/AmoebaHarmonicBondForceImpl.cpp
+67
-0
plugins/amoeba/openmmapi/src/AmoebaHarmonicInPlaneAngleForce.cpp
.../amoeba/openmmapi/src/AmoebaHarmonicInPlaneAngleForce.cpp
+102
-0
plugins/amoeba/openmmapi/src/AmoebaHarmonicInPlaneAngleForceImpl.cpp
...eba/openmmapi/src/AmoebaHarmonicInPlaneAngleForceImpl.cpp
+66
-0
plugins/amoeba/openmmapi/src/AmoebaMultipoleForce.cpp
plugins/amoeba/openmmapi/src/AmoebaMultipoleForce.cpp
+216
-0
No files found.
plugins/amoeba/openmmapi/include/internal/AmoebaHarmonicBondForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_HARMONIC_BOND_FORCE_IMPL_H_
#define OPENMM_AMOEBA_HARMONIC_BOND_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaHarmonicBondForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaHarmonicBondForce.
*/
class
AmoebaHarmonicBondForceImpl
:
public
ForceImpl
{
public:
AmoebaHarmonicBondForceImpl
(
AmoebaHarmonicBondForce
&
owner
);
~
AmoebaHarmonicBondForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaHarmonicBondForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaHarmonicBondForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_HARMONIC_BOND_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaHarmonicInPlaneAngleForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_HARMONIC_IN_PLANE_ANGLE_FORCE_IMPL_H_
#define OPENMM_AMOEBA_HARMONIC_IN_PLANE_ANGLE_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaHarmonicInPlaneAngleForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaHarmonicInPlaneAngleForce.
*/
class
AmoebaHarmonicInPlaneAngleForceImpl
:
public
ForceImpl
{
public:
AmoebaHarmonicInPlaneAngleForceImpl
(
AmoebaHarmonicInPlaneAngleForce
&
owner
);
~
AmoebaHarmonicInPlaneAngleForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaHarmonicInPlaneAngleForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaHarmonicInPlaneAngleForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_HARMONIC_ANGLE_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaMultipoleForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_MULTIPOLE_FORCE_IMPL_H_
#define OPENMM_AMOEBA_MULTIPOLE_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaMultipoleForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaMultipoleForce.
*/
class
AmoebaMultipoleForceImpl
:
public
ForceImpl
{
public:
AmoebaMultipoleForceImpl
(
AmoebaMultipoleForce
&
owner
);
~
AmoebaMultipoleForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaMultipoleForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaMultipoleForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_MULTIPOLE_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaOutOfPlaneBendForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_OUT_OF_PLANE_BEND_FORCE_IMPL_H_
#define OPENMM_AMOEBA_OUT_OF_PLANE_BEND_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaOutOfPlaneBendForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaOutOfPlaneBendForce.
*/
class
AmoebaOutOfPlaneBendForceImpl
:
public
ForceImpl
{
public:
AmoebaOutOfPlaneBendForceImpl
(
AmoebaOutOfPlaneBendForce
&
owner
);
~
AmoebaOutOfPlaneBendForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaOutOfPlaneBendForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaOutOfPlaneBendForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_OUT_OF_PLANE_BEND_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaPiTorsionForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_PI_TORSION_FORCE_IMPL_H_
#define OPENMM_AMOEBA_PI_TORSION_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaPiTorsionForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaPiTorsionForce.
*/
class
AmoebaPiTorsionForceImpl
:
public
ForceImpl
{
public:
AmoebaPiTorsionForceImpl
(
AmoebaPiTorsionForce
&
owner
);
~
AmoebaPiTorsionForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaPiTorsionForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaPiTorsionForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_PI_TORSION_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaSASAForceImpl.h
0 → 100644
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_SASA_FORCE_FIELD_IMPL_H_
#define OPENMM_AMOEBA_SASA_FORCE_FIELD_IMPL_H_
/* -------------------------------------------------------------------------- *
* OpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: Peter Eastman *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaSASAForce.h"
#include "openmm/Kernel.h"
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaSASAForce.
*/
class
AmoebaSASAForceImpl
:
public
ForceImpl
{
public:
AmoebaSASAForceImpl
(
AmoebaSASAForce
&
owner
);
void
initialize
(
ContextImpl
&
context
);
AmoebaSASAForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaSASAForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_SASA_FORCE_FIELD_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaStretchBendForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_STRETCH_BEND_FORCE_IMPL_H_
#define OPENMM_AMOEBA_STRETCH_BEND_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaStretchBendForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaStretchBendForce.
*/
class
AmoebaStretchBendForceImpl
:
public
ForceImpl
{
public:
AmoebaStretchBendForceImpl
(
AmoebaStretchBendForce
&
owner
);
~
AmoebaStretchBendForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaStretchBendForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaStretchBendForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_STRETCH_BEND_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaTorsionForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_TORSION_FORCE_IMPL_H_
#define OPENMM_AMOEBA_TORSION_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaTorsionForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <map>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaTorsionForce.
*/
class
AmoebaTorsionForceImpl
:
public
ForceImpl
{
public:
AmoebaTorsionForceImpl
(
AmoebaTorsionForce
&
owner
);
~
AmoebaTorsionForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaTorsionForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaTorsionForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_TORSION_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaTorsionTorsionForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_TORSION_TORSION_FORCE_IMPL_H_
#define OPENMM_AMOEBA_TORSION_TORSION_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaTorsionTorsionForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaTorsionTorsionForce.
*/
class
AmoebaTorsionTorsionForceImpl
:
public
ForceImpl
{
public:
AmoebaTorsionTorsionForceImpl
(
AmoebaTorsionTorsionForce
&
owner
);
~
AmoebaTorsionTorsionForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaTorsionTorsionForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaTorsionTorsionForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_TORSION_TORSION_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaVdwForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_VDW_FORCE_IMPL_H_
#define OPENMM_AMOEBA_VDW_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaVdwForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaVdwForce.
*/
class
AmoebaVdwForceImpl
:
public
ForceImpl
{
public:
AmoebaVdwForceImpl
(
AmoebaVdwForce
&
owner
);
~
AmoebaVdwForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaVdwForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaVdwForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_VDW_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/include/internal/AmoebaWcaDispersionForceImpl.h
0 → 100755
View file @
f7f79b04
#ifndef OPENMM_AMOEBA_WCA_DISPERSION_FORCE_IMPL_H_
#define OPENMM_AMOEBA_WCA_DISPERSION_FORCE_IMPL_H_
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ForceImpl.h"
#include "AmoebaWcaDispersionForce.h"
#include "openmm/Kernel.h"
#include <utility>
#include <set>
#include <string>
namespace
OpenMM
{
/**
* This is the internal implementation of AmoebaWcaDispersionForce.
*/
class
AmoebaWcaDispersionForceImpl
:
public
ForceImpl
{
public:
AmoebaWcaDispersionForceImpl
(
AmoebaWcaDispersionForce
&
owner
);
~
AmoebaWcaDispersionForceImpl
();
void
initialize
(
ContextImpl
&
context
);
AmoebaWcaDispersionForce
&
getOwner
()
{
return
owner
;
}
void
updateContextState
(
ContextImpl
&
context
)
{
// This force field doesn't update the state directly.
}
void
calcForces
(
ContextImpl
&
context
);
double
calcEnergy
(
ContextImpl
&
context
);
std
::
map
<
std
::
string
,
double
>
getDefaultParameters
()
{
return
std
::
map
<
std
::
string
,
double
>
();
// This force field doesn't define any parameters.
}
std
::
vector
<
std
::
string
>
getKernelNames
();
private:
AmoebaWcaDispersionForce
&
owner
;
Kernel
kernel
;
};
}
// namespace OpenMM
#endif
/*OPENMM_AMOEBA_WCA_DISPERSION_FORCE_IMPL_H_*/
plugins/amoeba/openmmapi/src/AmoebaGeneralizedKirkwoodForce.cpp
0 → 100644
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* OpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008-2009 Stanford University and the Authors. *
* Authors: Peter Eastman *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/Force.h"
#include "openmm/OpenMMException.h"
#include "AmoebaGeneralizedKirkwoodForce.h"
#include "internal/AmoebaGeneralizedKirkwoodForceImpl.h"
using
namespace
OpenMM
;
AmoebaGeneralizedKirkwoodForce
::
AmoebaGeneralizedKirkwoodForce
()
:
nonbondedMethod
(
NoCutoff
),
cutoffDistance
(
1.0
),
solventDielectric
(
78.3
),
soluteDielectric
(
1.0
),
dielectricOffset
(
0.009
),
includeCavityTerm
(
1
),
probeRadius
(
0.14
)
{
surfaceAreaFactor
=
-
6.0
*
3.1415926535
*
0.0216
*
1000.0
*
0.4184
;
}
int
AmoebaGeneralizedKirkwoodForce
::
addParticle
(
double
charge
,
double
radius
,
double
scalingFactor
)
{
particles
.
push_back
(
ParticleInfo
(
charge
,
radius
,
scalingFactor
));
return
particles
.
size
()
-
1
;
}
void
AmoebaGeneralizedKirkwoodForce
::
getParticleParameters
(
int
index
,
double
&
charge
,
double
&
radius
,
double
&
scalingFactor
)
const
{
charge
=
particles
[
index
].
charge
;
radius
=
particles
[
index
].
radius
;
scalingFactor
=
particles
[
index
].
scalingFactor
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setParticleParameters
(
int
index
,
double
charge
,
double
radius
,
double
scalingFactor
)
{
particles
[
index
].
charge
=
charge
;
particles
[
index
].
radius
=
radius
;
particles
[
index
].
scalingFactor
=
scalingFactor
;
}
AmoebaGeneralizedKirkwoodForce
::
NonbondedMethod
AmoebaGeneralizedKirkwoodForce
::
getNonbondedMethod
()
const
{
return
nonbondedMethod
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setNonbondedMethod
(
NonbondedMethod
method
)
{
nonbondedMethod
=
method
;
}
double
AmoebaGeneralizedKirkwoodForce
::
getCutoffDistance
()
const
{
return
cutoffDistance
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setCutoffDistance
(
double
distance
)
{
cutoffDistance
=
distance
;
}
double
AmoebaGeneralizedKirkwoodForce
::
getDielectricOffset
()
const
{
return
dielectricOffset
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setDielectricOffset
(
double
inputDielectricOffset
)
{
dielectricOffset
=
inputDielectricOffset
;
}
int
AmoebaGeneralizedKirkwoodForce
::
getIncludeCavityTerm
()
const
{
return
includeCavityTerm
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setIncludeCavityTerm
(
int
inputIncludeCavityTerm
)
{
includeCavityTerm
=
inputIncludeCavityTerm
;
}
double
AmoebaGeneralizedKirkwoodForce
::
getProbeRadius
()
const
{
return
probeRadius
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setProbeRadius
(
double
inputProbeRadius
)
{
probeRadius
=
inputProbeRadius
;
}
double
AmoebaGeneralizedKirkwoodForce
::
getSurfaceAreaFactor
()
const
{
return
surfaceAreaFactor
;
}
void
AmoebaGeneralizedKirkwoodForce
::
setSurfaceAreaFactor
(
double
inputSurfaceAreaFactor
)
{
surfaceAreaFactor
=
inputSurfaceAreaFactor
;
}
ForceImpl
*
AmoebaGeneralizedKirkwoodForce
::
createImpl
()
{
return
new
AmoebaGeneralizedKirkwoodForceImpl
(
*
this
);
}
plugins/amoeba/openmmapi/src/AmoebaGeneralizedKirkwoodForceImpl.cpp
0 → 100644
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* OpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: Peter Eastman *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "internal/AmoebaGeneralizedKirkwoodForceImpl.h"
#include "openmm/internal/ContextImpl.h"
#include "amoebaKernels.h"
using
namespace
OpenMM
;
using
std
::
vector
;
AmoebaGeneralizedKirkwoodForceImpl
::
AmoebaGeneralizedKirkwoodForceImpl
(
AmoebaGeneralizedKirkwoodForce
&
owner
)
:
owner
(
owner
)
{
}
void
AmoebaGeneralizedKirkwoodForceImpl
::
initialize
(
ContextImpl
&
context
)
{
kernel
=
context
.
getPlatform
().
createKernel
(
CalcAmoebaGeneralizedKirkwoodForceKernel
::
Name
(),
context
);
if
(
owner
.
getNumParticles
()
!=
context
.
getSystem
().
getNumParticles
())
throw
OpenMMException
(
"AmoebaGeneralizedKirkwoodForce must have exactly as many particles as the System it belongs to."
);
dynamic_cast
<
CalcAmoebaGeneralizedKirkwoodForceKernel
&>
(
kernel
.
getImpl
()).
initialize
(
context
.
getSystem
(),
owner
);
}
void
AmoebaGeneralizedKirkwoodForceImpl
::
calcForces
(
ContextImpl
&
context
)
{
dynamic_cast
<
CalcAmoebaGeneralizedKirkwoodForceKernel
&>
(
kernel
.
getImpl
()).
executeForces
(
context
);
}
double
AmoebaGeneralizedKirkwoodForceImpl
::
calcEnergy
(
ContextImpl
&
context
)
{
return
dynamic_cast
<
CalcAmoebaGeneralizedKirkwoodForceKernel
&>
(
kernel
.
getImpl
()).
executeEnergy
(
context
);
}
std
::
vector
<
std
::
string
>
AmoebaGeneralizedKirkwoodForceImpl
::
getKernelNames
()
{
std
::
vector
<
std
::
string
>
names
;
names
.
push_back
(
CalcAmoebaGeneralizedKirkwoodForceKernel
::
Name
());
return
names
;
}
plugins/amoeba/openmmapi/src/AmoebaHarmonicAngleForce.cpp
0 → 100755
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008-2009 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/Force.h"
#include "openmm/OpenMMException.h"
#include "AmoebaHarmonicAngleForce.h"
#include "internal/AmoebaHarmonicAngleForceImpl.h"
using
namespace
OpenMM
;
AmoebaHarmonicAngleForce
::
AmoebaHarmonicAngleForce
()
{
_globalCubicK
=
_globalQuarticK
=
_globalPenticK
=
_globalSexticK
=
0.0
;
}
int
AmoebaHarmonicAngleForce
::
addAngle
(
int
particle1
,
int
particle2
,
int
particle3
,
double
length
,
double
quadraticK
)
{
angles
.
push_back
(
AngleInfo
(
particle1
,
particle2
,
particle3
,
length
,
quadraticK
));
return
angles
.
size
()
-
1
;
}
void
AmoebaHarmonicAngleForce
::
getAngleParameters
(
int
index
,
int
&
particle1
,
int
&
particle2
,
int
&
particle3
,
double
&
length
,
double
&
quadraticK
)
const
{
particle1
=
angles
[
index
].
particle1
;
particle2
=
angles
[
index
].
particle2
;
particle3
=
angles
[
index
].
particle3
;
length
=
angles
[
index
].
length
;
quadraticK
=
angles
[
index
].
quadraticK
;
}
void
AmoebaHarmonicAngleForce
::
setAngleParameters
(
int
index
,
int
particle1
,
int
particle2
,
int
particle3
,
double
length
,
double
quadraticK
)
{
angles
[
index
].
particle1
=
particle1
;
angles
[
index
].
particle2
=
particle2
;
angles
[
index
].
particle3
=
particle3
;
angles
[
index
].
length
=
length
;
angles
[
index
].
quadraticK
=
quadraticK
;
}
double
AmoebaHarmonicAngleForce
::
getAmoebaGlobalHarmonicAngleCubic
(
void
)
const
{
return
_globalCubicK
;
}
void
AmoebaHarmonicAngleForce
::
setAmoebaGlobalHarmonicAngleCubic
(
double
cubicK
)
{
_globalCubicK
=
cubicK
;
}
double
AmoebaHarmonicAngleForce
::
getAmoebaGlobalHarmonicAngleQuartic
(
void
)
const
{
return
_globalQuarticK
;
}
void
AmoebaHarmonicAngleForce
::
setAmoebaGlobalHarmonicAngleQuartic
(
double
quarticK
)
{
_globalQuarticK
=
quarticK
;
}
double
AmoebaHarmonicAngleForce
::
getAmoebaGlobalHarmonicAnglePentic
(
void
)
const
{
return
_globalPenticK
;
}
void
AmoebaHarmonicAngleForce
::
setAmoebaGlobalHarmonicAnglePentic
(
double
penticK
)
{
_globalPenticK
=
penticK
;
}
double
AmoebaHarmonicAngleForce
::
getAmoebaGlobalHarmonicAngleSextic
(
void
)
const
{
return
_globalSexticK
;
}
void
AmoebaHarmonicAngleForce
::
setAmoebaGlobalHarmonicAngleSextic
(
double
sexticK
)
{
_globalSexticK
=
sexticK
;
}
ForceImpl
*
AmoebaHarmonicAngleForce
::
createImpl
()
{
return
new
AmoebaHarmonicAngleForceImpl
(
*
this
);
}
plugins/amoeba/openmmapi/src/AmoebaHarmonicAngleForceImpl.cpp
0 → 100755
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* Amoeba OpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ContextImpl.h"
#include "internal/AmoebaHarmonicAngleForceImpl.h"
#include "amoebaKernels.h"
using
namespace
OpenMM
;
using
std
::
pair
;
using
std
::
vector
;
using
std
::
set
;
AmoebaHarmonicAngleForceImpl
::
AmoebaHarmonicAngleForceImpl
(
AmoebaHarmonicAngleForce
&
owner
)
:
owner
(
owner
)
{
}
AmoebaHarmonicAngleForceImpl
::~
AmoebaHarmonicAngleForceImpl
()
{
}
void
AmoebaHarmonicAngleForceImpl
::
initialize
(
ContextImpl
&
context
)
{
kernel
=
context
.
getPlatform
().
createKernel
(
CalcAmoebaHarmonicAngleForceKernel
::
Name
(),
context
);
dynamic_cast
<
CalcAmoebaHarmonicAngleForceKernel
&>
(
kernel
.
getImpl
()).
initialize
(
context
.
getSystem
(),
owner
);
}
void
AmoebaHarmonicAngleForceImpl
::
calcForces
(
ContextImpl
&
context
)
{
dynamic_cast
<
CalcAmoebaHarmonicAngleForceKernel
&>
(
kernel
.
getImpl
()).
executeForces
(
context
);
}
double
AmoebaHarmonicAngleForceImpl
::
calcEnergy
(
ContextImpl
&
context
)
{
return
dynamic_cast
<
CalcAmoebaHarmonicAngleForceKernel
&>
(
kernel
.
getImpl
()).
executeEnergy
(
context
);
}
std
::
vector
<
std
::
string
>
AmoebaHarmonicAngleForceImpl
::
getKernelNames
()
{
std
::
vector
<
std
::
string
>
names
;
names
.
push_back
(
CalcAmoebaHarmonicAngleForceKernel
::
Name
());
return
names
;
}
plugins/amoeba/openmmapi/src/AmoebaHarmonicBondForce.cpp
0 → 100755
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008-2009 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/Force.h"
#include "openmm/OpenMMException.h"
#include "AmoebaHarmonicBondForce.h"
#include "internal/AmoebaHarmonicBondForceImpl.h"
using
namespace
OpenMM
;
const
double
AmoebaHarmonicBondForce
::
DEFAULT_GLOBAL_K
=
-
1234.567891234
;
AmoebaHarmonicBondForce
::
AmoebaHarmonicBondForce
()
{
_globalCubicK
=
_globalQuarticK
=
0.0
;
}
int
AmoebaHarmonicBondForce
::
addBond
(
int
particle1
,
int
particle2
,
double
length
,
double
quadraticK
,
double
cubicK
,
double
quarticK
)
{
bonds
.
push_back
(
BondInfo
(
particle1
,
particle2
,
length
,
quadraticK
,
cubicK
,
quarticK
));
return
bonds
.
size
()
-
1
;
}
void
AmoebaHarmonicBondForce
::
getBondParameters
(
int
index
,
int
&
particle1
,
int
&
particle2
,
double
&
length
,
double
&
quadraticK
,
double
&
cubicK
,
double
&
quarticK
)
const
{
particle1
=
bonds
[
index
].
particle1
;
particle2
=
bonds
[
index
].
particle2
;
length
=
bonds
[
index
].
length
;
quadraticK
=
bonds
[
index
].
quadraticK
;
cubicK
=
bonds
[
index
].
cubicK
==
DEFAULT_GLOBAL_K
?
_globalCubicK
:
bonds
[
index
].
cubicK
;
quarticK
=
bonds
[
index
].
quarticK
==
DEFAULT_GLOBAL_K
?
_globalQuarticK
:
bonds
[
index
].
quarticK
;
}
void
AmoebaHarmonicBondForce
::
setBondParameters
(
int
index
,
int
particle1
,
int
particle2
,
double
length
,
double
quadraticK
,
double
cubicK
,
double
quarticK
)
{
bonds
[
index
].
particle1
=
particle1
;
bonds
[
index
].
particle2
=
particle2
;
bonds
[
index
].
length
=
length
;
bonds
[
index
].
quadraticK
=
quadraticK
;
bonds
[
index
].
cubicK
=
cubicK
;
bonds
[
index
].
quarticK
=
quarticK
;
}
void
AmoebaHarmonicBondForce
::
setAmoebaGlobalHarmonicBondCubic
(
double
cubicK
)
{
_globalCubicK
=
cubicK
;
}
void
AmoebaHarmonicBondForce
::
setAmoebaGlobalHarmonicBondQuartic
(
double
quarticK
)
{
_globalQuarticK
=
quarticK
;
}
double
AmoebaHarmonicBondForce
::
getAmoebaGlobalHarmonicBondCubic
(
void
)
const
{
return
_globalCubicK
;
}
double
AmoebaHarmonicBondForce
::
getAmoebaGlobalHarmonicBondQuartic
(
void
)
const
{
return
_globalQuarticK
;
}
ForceImpl
*
AmoebaHarmonicBondForce
::
createImpl
()
{
return
new
AmoebaHarmonicBondForceImpl
(
*
this
);
}
plugins/amoeba/openmmapi/src/AmoebaHarmonicBondForceImpl.cpp
0 → 100755
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* OpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/internal/ContextImpl.h"
#include "internal/AmoebaHarmonicBondForceImpl.h"
#include "amoebaKernels.h"
#include "openmm/Platform.h"
using
namespace
OpenMM
;
using
std
::
pair
;
using
std
::
vector
;
using
std
::
set
;
AmoebaHarmonicBondForceImpl
::
AmoebaHarmonicBondForceImpl
(
AmoebaHarmonicBondForce
&
owner
)
:
owner
(
owner
)
{
}
AmoebaHarmonicBondForceImpl
::~
AmoebaHarmonicBondForceImpl
()
{
}
void
AmoebaHarmonicBondForceImpl
::
initialize
(
ContextImpl
&
context
)
{
kernel
=
context
.
getPlatform
().
createKernel
(
CalcAmoebaHarmonicBondForceKernel
::
Name
(),
context
);
dynamic_cast
<
CalcAmoebaHarmonicBondForceKernel
&>
(
kernel
.
getImpl
()).
initialize
(
context
.
getSystem
(),
owner
);
}
void
AmoebaHarmonicBondForceImpl
::
calcForces
(
ContextImpl
&
context
)
{
dynamic_cast
<
CalcAmoebaHarmonicBondForceKernel
&>
(
kernel
.
getImpl
()).
executeForces
(
context
);
}
double
AmoebaHarmonicBondForceImpl
::
calcEnergy
(
ContextImpl
&
context
)
{
return
dynamic_cast
<
CalcAmoebaHarmonicBondForceKernel
&>
(
kernel
.
getImpl
()).
executeEnergy
(
context
);
}
std
::
vector
<
std
::
string
>
AmoebaHarmonicBondForceImpl
::
getKernelNames
()
{
std
::
vector
<
std
::
string
>
names
;
names
.
push_back
(
CalcAmoebaHarmonicBondForceKernel
::
Name
());
return
names
;
}
plugins/amoeba/openmmapi/src/AmoebaHarmonicInPlaneAngleForce.cpp
0 → 100755
View file @
f7f79b04
/* -------------------------------------------------------------------------- *
* AmoebaOpenMM *
* -------------------------------------------------------------------------- *
* This is part of the OpenMM molecular simulation toolkit originating from *
* Simbios, the NIH National Center for Physics-Based Simulation of *
* Biological Structures at Stanford, funded under the NIH Roadmap for *
* Medical Research, grant U54 GM072970. See https://simtk.org. *
* *
* Portions copyright (c) 2008-2009 Stanford University and the Authors. *
* Authors: *
* Contributors: *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the "Software"), *
* to deal in the Software without restriction, including without limitation *
* the rights to use, copy, modify, merge, publish, distribute, sublicense, *
* and/or sell copies of the Software, and to permit persons to whom the *
* Software is furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *
* THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/Force.h"
#include "openmm/OpenMMException.h"
#include "AmoebaHarmonicInPlaneAngleForce.h"
#include "internal/AmoebaHarmonicInPlaneAngleForceImpl.h"
using
namespace
OpenMM
;
AmoebaHarmonicInPlaneAngleForce
::
AmoebaHarmonicInPlaneAngleForce
()
{
_globalCubicK
=
_globalQuarticK
=
_globalPenticK
=
_globalSexticK
=
0.0
;
}
int
AmoebaHarmonicInPlaneAngleForce
::
addAngle
(
int
particle1
,
int
particle2
,
int
particle3
,
int
particle4
,
double
length
,
double
quadraticK
)
{
angles
.
push_back
(
AngleInfo
(
particle1
,
particle2
,
particle3
,
particle4
,
length
,
quadraticK
));
return
angles
.
size
()
-
1
;
}
void
AmoebaHarmonicInPlaneAngleForce
::
getAngleParameters
(
int
index
,
int
&
particle1
,
int
&
particle2
,
int
&
particle3
,
int
&
particle4
,
double
&
length
,
double
&
quadraticK
)
const
{
particle1
=
angles
[
index
].
particle1
;
particle2
=
angles
[
index
].
particle2
;
particle3
=
angles
[
index
].
particle3
;
particle4
=
angles
[
index
].
particle4
;
length
=
angles
[
index
].
length
;
quadraticK
=
angles
[
index
].
quadraticK
;
}
void
AmoebaHarmonicInPlaneAngleForce
::
setAngleParameters
(
int
index
,
int
particle1
,
int
particle2
,
int
particle3
,
int
particle4
,
double
length
,
double
quadraticK
)
{
angles
[
index
].
particle1
=
particle1
;
angles
[
index
].
particle2
=
particle2
;
angles
[
index
].
particle3
=
particle3
;
angles
[
index
].
particle4
=
particle4
;
angles
[
index
].
length
=
length
;
angles
[
index
].
quadraticK
=
quadraticK
;
}
void
AmoebaHarmonicInPlaneAngleForce
::
setAmoebaGlobalHarmonicInPlaneAngleCubic
(
double
cubicK
)
{
_globalCubicK
=
cubicK
;
}
void
AmoebaHarmonicInPlaneAngleForce
::
setAmoebaGlobalHarmonicInPlaneAngleQuartic
(
double
quarticK
)
{
_globalQuarticK
=
quarticK
;
}
double
AmoebaHarmonicInPlaneAngleForce
::
getAmoebaGlobalHarmonicInPlaneAngleCubic
(
void
)
const
{
return
_globalCubicK
;
}
double
AmoebaHarmonicInPlaneAngleForce
::
getAmoebaGlobalHarmonicInPlaneAngleQuartic
(
void
)
const
{
return
_globalQuarticK
;
}
void
AmoebaHarmonicInPlaneAngleForce
::
setAmoebaGlobalHarmonicInPlaneAnglePentic
(
double
cubicK
)
{
_globalPenticK
=
cubicK
;
}
void
AmoebaHarmonicInPlaneAngleForce
::
setAmoebaGlobalHarmonicInPlaneAngleSextic
(
double
quarticK
)
{
_globalSexticK
=
quarticK
;
}
double
AmoebaHarmonicInPlaneAngleForce
::
getAmoebaGlobalHarmonicInPlaneAnglePentic
(
void
)
const
{
return
_globalPenticK
;
}
double
AmoebaHarmonicInPlaneAngleForce
::
getAmoebaGlobalHarmonicInPlaneAngleSextic
(
void
)
const
{
return
_globalSexticK
;
}
ForceImpl
*
AmoebaHarmonicInPlaneAngleForce
::
createImpl
()
{
return
new
AmoebaHarmonicInPlaneAngleForceImpl
(
*
this
);
}
plugins/amoeba/openmmapi/src/AmoebaHarmonicInPlaneAngleForceImpl.cpp
0 → 100755
View file @
f7f79b04
This diff is collapsed.
Click to expand it.
plugins/amoeba/openmmapi/src/AmoebaMultipoleForce.cpp
0 → 100755
View file @
f7f79b04
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
6
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment