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
"devtools/ci/vscode:/vscode.git/clone" did not exist on "76d0252cee7e601a04d29a6049f443ab6411f98b"
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