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
65ee8fd7
"vscode:/vscode.git/clone" did not exist on "740ab642520eb48d72c32d330e04ff9ee2a52def"
Commit
65ee8fd7
authored
Feb 14, 2020
by
Peter Eastman
Browse files
Renamed BAOABLangevinIntegrator to LangevinMiddleIntegrator
parent
ba9f6b0a
Changes
43
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
86 additions
and
69 deletions
+86
-69
platforms/cpu/src/CpuKernelFactory.cpp
platforms/cpu/src/CpuKernelFactory.cpp
+2
-2
platforms/cpu/src/CpuKernels.cpp
platforms/cpu/src/CpuKernels.cpp
+5
-5
platforms/cpu/src/CpuLangevinMiddleDynamics.cpp
platforms/cpu/src/CpuLangevinMiddleDynamics.cpp
+10
-10
platforms/cpu/src/CpuPlatform.cpp
platforms/cpu/src/CpuPlatform.cpp
+1
-1
platforms/cpu/tests/TestCpuLangevinMiddleIntegrator.cpp
platforms/cpu/tests/TestCpuLangevinMiddleIntegrator.cpp
+1
-1
platforms/cuda/src/CudaKernelFactory.cpp
platforms/cuda/src/CudaKernelFactory.cpp
+2
-2
platforms/cuda/src/CudaPlatform.cpp
platforms/cuda/src/CudaPlatform.cpp
+1
-1
platforms/cuda/tests/TestCudaLangevinMiddleIntegrator.cpp
platforms/cuda/tests/TestCudaLangevinMiddleIntegrator.cpp
+1
-1
platforms/opencl/src/OpenCLKernelFactory.cpp
platforms/opencl/src/OpenCLKernelFactory.cpp
+2
-2
platforms/opencl/src/OpenCLPlatform.cpp
platforms/opencl/src/OpenCLPlatform.cpp
+1
-1
platforms/opencl/tests/TestOpenCLLangevinMiddleIntegrator.cpp
...forms/opencl/tests/TestOpenCLLangevinMiddleIntegrator.cpp
+1
-1
platforms/reference/include/ReferenceKernels.h
platforms/reference/include/ReferenceKernels.h
+12
-12
platforms/reference/include/ReferenceLangevinMiddleDynamics.h
...forms/reference/include/ReferenceLangevinMiddleDynamics.h
+6
-6
platforms/reference/src/ReferenceKernelFactory.cpp
platforms/reference/src/ReferenceKernelFactory.cpp
+2
-2
platforms/reference/src/ReferenceKernels.cpp
platforms/reference/src/ReferenceKernels.cpp
+6
-6
platforms/reference/src/ReferencePlatform.cpp
platforms/reference/src/ReferencePlatform.cpp
+1
-1
platforms/reference/src/SimTKReference/ReferenceLangevinMiddleDynamics.cpp
...ce/src/SimTKReference/ReferenceLangevinMiddleDynamics.cpp
+8
-8
platforms/reference/tests/TestReferenceLangevinMiddleIntegrator.cpp
...reference/tests/TestReferenceLangevinMiddleIntegrator.cpp
+1
-1
serialization/include/openmm/serialization/LangevinMiddleIntegratorProxy.h
...lude/openmm/serialization/LangevinMiddleIntegratorProxy.h
+17
-0
serialization/src/LangevinMiddleIntegratorProxy.cpp
serialization/src/LangevinMiddleIntegratorProxy.cpp
+6
-6
No files found.
platforms/cpu/src/CpuKernelFactory.cpp
View file @
65ee8fd7
...
...
@@ -61,7 +61,7 @@ KernelImpl* CpuKernelFactory::createKernelImpl(std::string name, const Platform&
return
new
CpuCalcGayBerneForceKernel
(
name
,
platform
,
data
);
if
(
name
==
IntegrateLangevinStepKernel
::
Name
())
return
new
CpuIntegrateLangevinStepKernel
(
name
,
platform
,
data
);
if
(
name
==
Integrate
BAOAB
StepKernel
::
Name
())
return
new
CpuIntegrate
BAOAB
StepKernel
(
name
,
platform
,
data
);
if
(
name
==
Integrate
LangevinMiddle
StepKernel
::
Name
())
return
new
CpuIntegrate
LangevinMiddle
StepKernel
(
name
,
platform
,
data
);
throw
OpenMMException
((
std
::
string
(
"Tried to create kernel with illegal kernel name '"
)
+
name
+
"'"
).
c_str
());
}
platforms/cpu/src/CpuKernels.cpp
View file @
65ee8fd7
...
...
@@ -1353,12 +1353,12 @@ double CpuIntegrateLangevinStepKernel::computeKineticEnergy(ContextImpl& context
return
computeShiftedKineticEnergy
(
context
,
masses
,
0.5
*
integrator
.
getStepSize
());
}
CpuIntegrate
BAOAB
StepKernel
::~
CpuIntegrate
BAOAB
StepKernel
()
{
CpuIntegrate
LangevinMiddle
StepKernel
::~
CpuIntegrate
LangevinMiddle
StepKernel
()
{
if
(
dynamics
)
delete
dynamics
;
}
void
CpuIntegrate
BAOAB
StepKernel
::
initialize
(
const
System
&
system
,
const
BAOAB
LangevinIntegrator
&
integrator
)
{
void
CpuIntegrate
LangevinMiddle
StepKernel
::
initialize
(
const
System
&
system
,
const
Langevin
Middle
Integrator
&
integrator
)
{
int
numParticles
=
system
.
getNumParticles
();
masses
.
resize
(
numParticles
);
for
(
int
i
=
0
;
i
<
numParticles
;
++
i
)
...
...
@@ -1366,7 +1366,7 @@ void CpuIntegrateBAOABStepKernel::initialize(const System& system, const BAOABLa
data
.
random
.
initialize
(
integrator
.
getRandomNumberSeed
(),
data
.
threads
.
getNumThreads
());
}
void
CpuIntegrate
BAOAB
StepKernel
::
execute
(
ContextImpl
&
context
,
const
BAOAB
LangevinIntegrator
&
integrator
)
{
void
CpuIntegrate
LangevinMiddle
StepKernel
::
execute
(
ContextImpl
&
context
,
const
Langevin
Middle
Integrator
&
integrator
)
{
double
temperature
=
integrator
.
getTemperature
();
double
friction
=
integrator
.
getFriction
();
double
stepSize
=
integrator
.
getStepSize
();
...
...
@@ -1377,7 +1377,7 @@ void CpuIntegrateBAOABStepKernel::execute(ContextImpl& context, const BAOABLange
if
(
dynamics
)
delete
dynamics
;
dynamics
=
new
Cpu
BAOAB
Dynamics
(
context
.
getSystem
().
getNumParticles
(),
stepSize
,
friction
,
temperature
,
data
.
threads
,
data
.
random
);
dynamics
=
new
Cpu
LangevinMiddle
Dynamics
(
context
.
getSystem
().
getNumParticles
(),
stepSize
,
friction
,
temperature
,
data
.
threads
,
data
.
random
);
dynamics
->
setReferenceConstraintAlgorithm
(
&
extractConstraints
(
context
));
prevTemp
=
temperature
;
prevFriction
=
friction
;
...
...
@@ -1389,6 +1389,6 @@ void CpuIntegrateBAOABStepKernel::execute(ContextImpl& context, const BAOABLange
refData
->
stepCount
++
;
}
double
CpuIntegrate
BAOAB
StepKernel
::
computeKineticEnergy
(
ContextImpl
&
context
,
const
BAOAB
LangevinIntegrator
&
integrator
)
{
double
CpuIntegrate
LangevinMiddle
StepKernel
::
computeKineticEnergy
(
ContextImpl
&
context
,
const
Langevin
Middle
Integrator
&
integrator
)
{
return
computeShiftedKineticEnergy
(
context
,
masses
,
0.0
);
}
platforms/cpu/src/Cpu
BAOAB
Dynamics.cpp
→
platforms/cpu/src/Cpu
LangevinMiddle
Dynamics.cpp
View file @
65ee8fd7
...
...
@@ -23,19 +23,19 @@
*/
#include "SimTKOpenMMUtilities.h"
#include "Cpu
BAOAB
Dynamics.h"
#include "Cpu
LangevinMiddle
Dynamics.h"
using
namespace
OpenMM
;
using
namespace
std
;
Cpu
BAOABDynamics
::
CpuBAOAB
Dynamics
(
int
numberOfAtoms
,
double
deltaT
,
double
friction
,
double
temperature
,
ThreadPool
&
threads
,
CpuRandom
&
random
)
:
Reference
BAOAB
Dynamics
(
numberOfAtoms
,
deltaT
,
friction
,
temperature
),
threads
(
threads
),
random
(
random
)
{
Cpu
LangevinMiddleDynamics
::
CpuLangevinMiddle
Dynamics
(
int
numberOfAtoms
,
double
deltaT
,
double
friction
,
double
temperature
,
ThreadPool
&
threads
,
CpuRandom
&
random
)
:
Reference
LangevinMiddle
Dynamics
(
numberOfAtoms
,
deltaT
,
friction
,
temperature
),
threads
(
threads
),
random
(
random
)
{
}
Cpu
BAOABDynamics
::~
CpuBAOAB
Dynamics
()
{
Cpu
LangevinMiddleDynamics
::~
CpuLangevinMiddle
Dynamics
()
{
}
void
Cpu
BAOAB
Dynamics
::
updatePart1
(
int
numberOfAtoms
,
vector
<
Vec3
>&
velocities
,
vector
<
Vec3
>&
forces
,
vector
<
double
>&
inverseMasses
)
{
void
Cpu
LangevinMiddle
Dynamics
::
updatePart1
(
int
numberOfAtoms
,
vector
<
Vec3
>&
velocities
,
vector
<
Vec3
>&
forces
,
vector
<
double
>&
inverseMasses
)
{
// Record the parameters for the threads.
this
->
numberOfAtoms
=
numberOfAtoms
;
...
...
@@ -49,7 +49,7 @@ void CpuBAOABDynamics::updatePart1(int numberOfAtoms, vector<Vec3>& velocities,
threads
.
waitForThreads
();
}
void
Cpu
BAOAB
Dynamics
::
updatePart2
(
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
void
Cpu
LangevinMiddle
Dynamics
::
updatePart2
(
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
vector
<
double
>&
inverseMasses
,
vector
<
Vec3
>&
xPrime
)
{
// Record the parameters for the threads.
...
...
@@ -65,7 +65,7 @@ void CpuBAOABDynamics::updatePart2(int numberOfAtoms, vector<Vec3>& atomCoordina
threads
.
waitForThreads
();
}
void
Cpu
BAOAB
Dynamics
::
updatePart3
(
ContextImpl
&
context
,
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
void
Cpu
LangevinMiddle
Dynamics
::
updatePart3
(
ContextImpl
&
context
,
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
vector
<
double
>&
inverseMasses
,
vector
<
Vec3
>&
xPrime
)
{
// Record the parameters for the threads.
...
...
@@ -81,7 +81,7 @@ void CpuBAOABDynamics::updatePart3(ContextImpl& context, int numberOfAtoms, vect
threads
.
waitForThreads
();
}
void
Cpu
BAOAB
Dynamics
::
threadUpdate1
(
int
threadIndex
)
{
void
Cpu
LangevinMiddle
Dynamics
::
threadUpdate1
(
int
threadIndex
)
{
int
start
=
threadIndex
*
numberOfAtoms
/
threads
.
getNumThreads
();
int
end
=
(
threadIndex
+
1
)
*
numberOfAtoms
/
threads
.
getNumThreads
();
...
...
@@ -90,7 +90,7 @@ void CpuBAOABDynamics::threadUpdate1(int threadIndex) {
velocities
[
i
]
+=
(
getDeltaT
()
*
inverseMasses
[
i
])
*
forces
[
i
];
}
void
Cpu
BAOAB
Dynamics
::
threadUpdate2
(
int
threadIndex
)
{
void
Cpu
LangevinMiddle
Dynamics
::
threadUpdate2
(
int
threadIndex
)
{
const
double
halfdt
=
0.5
*
getDeltaT
();
const
double
kT
=
BOLTZ
*
getTemperature
();
const
double
friction
=
getFriction
();
...
...
@@ -110,7 +110,7 @@ void CpuBAOABDynamics::threadUpdate2(int threadIndex) {
}
}
void
Cpu
BAOAB
Dynamics
::
threadUpdate3
(
int
threadIndex
)
{
void
Cpu
LangevinMiddle
Dynamics
::
threadUpdate3
(
int
threadIndex
)
{
int
start
=
threadIndex
*
numberOfAtoms
/
threads
.
getNumThreads
();
int
end
=
(
threadIndex
+
1
)
*
numberOfAtoms
/
threads
.
getNumThreads
();
...
...
platforms/cpu/src/CpuPlatform.cpp
View file @
65ee8fd7
...
...
@@ -74,7 +74,7 @@ CpuPlatform::CpuPlatform() {
registerKernelFactory
(
CalcCustomGBForceKernel
::
Name
(),
factory
);
registerKernelFactory
(
CalcGayBerneForceKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateLangevinStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
BAOAB
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
LangevinMiddle
StepKernel
::
Name
(),
factory
);
platformProperties
.
push_back
(
CpuThreads
());
platformProperties
.
push_back
(
CpuDeterministicForces
());
int
threads
=
getNumProcessors
();
...
...
platforms/cpu/tests/TestCpu
BAOAB
LangevinIntegrator.cpp
→
platforms/cpu/tests/TestCpuLangevin
Middle
Integrator.cpp
View file @
65ee8fd7
...
...
@@ -30,7 +30,7 @@
* -------------------------------------------------------------------------- */
#include "CpuTests.h"
#include "Test
BAOAB
LangevinIntegrator.h"
#include "TestLangevin
Middle
Integrator.h"
void
runPlatformTests
()
{
}
platforms/cuda/src/CudaKernelFactory.cpp
View file @
65ee8fd7
...
...
@@ -121,8 +121,8 @@ KernelImpl* CudaKernelFactory::createKernelImpl(std::string name, const Platform
return
new
CommonIntegrateVerletStepKernel
(
name
,
platform
,
cu
);
if
(
name
==
IntegrateLangevinStepKernel
::
Name
())
return
new
CommonIntegrateLangevinStepKernel
(
name
,
platform
,
cu
);
if
(
name
==
Integrate
BAOAB
StepKernel
::
Name
())
return
new
CommonIntegrate
BAOAB
StepKernel
(
name
,
platform
,
cu
);
if
(
name
==
Integrate
LangevinMiddle
StepKernel
::
Name
())
return
new
CommonIntegrate
LangevinMiddle
StepKernel
(
name
,
platform
,
cu
);
if
(
name
==
IntegrateBrownianStepKernel
::
Name
())
return
new
CommonIntegrateBrownianStepKernel
(
name
,
platform
,
cu
);
if
(
name
==
IntegrateVariableVerletStepKernel
::
Name
())
...
...
platforms/cuda/src/CudaPlatform.cpp
View file @
65ee8fd7
...
...
@@ -98,7 +98,7 @@ CudaPlatform::CudaPlatform() {
registerKernelFactory
(
IntegrateVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVelocityVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateLangevinStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
BAOAB
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
LangevinMiddle
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateBrownianStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVariableVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVariableLangevinStepKernel
::
Name
(),
factory
);
...
...
platforms/cuda/tests/TestCuda
BAOAB
LangevinIntegrator.cpp
→
platforms/cuda/tests/TestCudaLangevin
Middle
Integrator.cpp
View file @
65ee8fd7
...
...
@@ -30,7 +30,7 @@
* -------------------------------------------------------------------------- */
#include "CudaTests.h"
#include "Test
BAOAB
LangevinIntegrator.h"
#include "TestLangevin
Middle
Integrator.h"
void
runPlatformTests
()
{
}
platforms/opencl/src/OpenCLKernelFactory.cpp
View file @
65ee8fd7
...
...
@@ -119,8 +119,8 @@ KernelImpl* OpenCLKernelFactory::createKernelImpl(std::string name, const Platfo
return
new
CommonIntegrateVerletStepKernel
(
name
,
platform
,
cl
);
if
(
name
==
IntegrateLangevinStepKernel
::
Name
())
return
new
CommonIntegrateLangevinStepKernel
(
name
,
platform
,
cl
);
if
(
name
==
Integrate
BAOAB
StepKernel
::
Name
())
return
new
CommonIntegrate
BAOAB
StepKernel
(
name
,
platform
,
cl
);
if
(
name
==
Integrate
LangevinMiddle
StepKernel
::
Name
())
return
new
CommonIntegrate
LangevinMiddle
StepKernel
(
name
,
platform
,
cl
);
if
(
name
==
IntegrateBrownianStepKernel
::
Name
())
return
new
CommonIntegrateBrownianStepKernel
(
name
,
platform
,
cl
);
if
(
name
==
IntegrateVariableVerletStepKernel
::
Name
())
...
...
platforms/opencl/src/OpenCLPlatform.cpp
View file @
65ee8fd7
...
...
@@ -89,7 +89,7 @@ OpenCLPlatform::OpenCLPlatform() {
registerKernelFactory
(
IntegrateVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVelocityVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateLangevinStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
BAOAB
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
LangevinMiddle
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateBrownianStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVariableVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVariableLangevinStepKernel
::
Name
(),
factory
);
...
...
platforms/opencl/tests/TestOpenCL
BAOAB
LangevinIntegrator.cpp
→
platforms/opencl/tests/TestOpenCLLangevin
Middle
Integrator.cpp
View file @
65ee8fd7
...
...
@@ -30,7 +30,7 @@
* -------------------------------------------------------------------------- */
#include "OpenCLTests.h"
#include "Test
BAOAB
LangevinIntegrator.h"
#include "TestLangevin
Middle
Integrator.h"
void
runPlatformTests
()
{
}
platforms/reference/include/ReferenceKernels.h
View file @
65ee8fd7
...
...
@@ -45,7 +45,7 @@ namespace OpenMM {
class
ReferenceObc
;
class
ReferenceAndersenThermostat
;
class
Reference
BAOAB
Dynamics
;
class
Reference
LangevinMiddle
Dynamics
;
class
ReferenceCustomBondIxn
;
class
ReferenceCustomAngleIxn
;
class
ReferenceCustomTorsionIxn
;
...
...
@@ -1213,38 +1213,38 @@ private:
};
/**
* This kernel is invoked by
BAOAB
LangevinIntegrator to take one time step.
* This kernel is invoked by Langevin
Middle
Integrator to take one time step.
*/
class
ReferenceIntegrate
BAOAB
StepKernel
:
public
Integrate
BAOAB
StepKernel
{
class
ReferenceIntegrate
LangevinMiddle
StepKernel
:
public
Integrate
LangevinMiddle
StepKernel
{
public:
ReferenceIntegrate
BAOAB
StepKernel
(
std
::
string
name
,
const
Platform
&
platform
,
ReferencePlatform
::
PlatformData
&
data
)
:
Integrate
BAOAB
StepKernel
(
name
,
platform
),
ReferenceIntegrate
LangevinMiddle
StepKernel
(
std
::
string
name
,
const
Platform
&
platform
,
ReferencePlatform
::
PlatformData
&
data
)
:
Integrate
LangevinMiddle
StepKernel
(
name
,
platform
),
data
(
data
),
dynamics
(
0
)
{
}
~
ReferenceIntegrate
BAOAB
StepKernel
();
~
ReferenceIntegrate
LangevinMiddle
StepKernel
();
/**
* Initialize the kernel, setting up the particle masses.
*
* @param system the System this kernel will be applied to
* @param integrator the
BAOAB
LangevinIntegrator this kernel will be used for
* @param integrator the Langevin
Middle
Integrator this kernel will be used for
*/
void
initialize
(
const
System
&
system
,
const
BAOAB
LangevinIntegrator
&
integrator
);
void
initialize
(
const
System
&
system
,
const
Langevin
Middle
Integrator
&
integrator
);
/**
* Execute the kernel.
*
* @param context the context in which to execute this kernel
* @param integrator the
BAOAB
LangevinIntegrator this kernel is being used for
* @param integrator the Langevin
Middle
Integrator this kernel is being used for
*/
void
execute
(
ContextImpl
&
context
,
const
BAOAB
LangevinIntegrator
&
integrator
);
void
execute
(
ContextImpl
&
context
,
const
Langevin
Middle
Integrator
&
integrator
);
/**
* Compute the kinetic energy.
*
* @param context the context in which to execute this kernel
* @param integrator the
BAOAB
LangevinIntegrator this kernel is being used for
* @param integrator the Langevin
Middle
Integrator this kernel is being used for
*/
double
computeKineticEnergy
(
ContextImpl
&
context
,
const
BAOAB
LangevinIntegrator
&
integrator
);
double
computeKineticEnergy
(
ContextImpl
&
context
,
const
Langevin
Middle
Integrator
&
integrator
);
private:
ReferencePlatform
::
PlatformData
&
data
;
Reference
BAOAB
Dynamics
*
dynamics
;
Reference
LangevinMiddle
Dynamics
*
dynamics
;
std
::
vector
<
double
>
masses
;
double
prevTemp
,
prevFriction
,
prevStepSize
;
};
...
...
platforms/reference/include/Reference
BAOAB
Dynamics.h
→
platforms/reference/include/Reference
LangevinMiddle
Dynamics.h
View file @
65ee8fd7
...
...
@@ -22,8 +22,8 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __Reference
BAOAB
Dynamics_H__
#define __Reference
BAOAB
Dynamics_H__
#ifndef __Reference
LangevinMiddle
Dynamics_H__
#define __Reference
LangevinMiddle
Dynamics_H__
#include "ReferenceDynamics.h"
#include "openmm/internal/ContextImpl.h"
...
...
@@ -31,7 +31,7 @@
namespace
OpenMM
{
class
OPENMM_EXPORT
Reference
BAOAB
Dynamics
:
public
ReferenceDynamics
{
class
OPENMM_EXPORT
Reference
LangevinMiddle
Dynamics
:
public
ReferenceDynamics
{
protected:
...
...
@@ -52,7 +52,7 @@ class OPENMM_EXPORT ReferenceBAOABDynamics : public ReferenceDynamics {
--------------------------------------------------------------------------------------- */
Reference
BAOAB
Dynamics
(
int
numberOfAtoms
,
double
deltaT
,
double
friction
,
double
temperature
);
Reference
LangevinMiddle
Dynamics
(
int
numberOfAtoms
,
double
deltaT
,
double
friction
,
double
temperature
);
/**---------------------------------------------------------------------------------------
...
...
@@ -60,7 +60,7 @@ class OPENMM_EXPORT ReferenceBAOABDynamics : public ReferenceDynamics {
--------------------------------------------------------------------------------------- */
~
Reference
BAOAB
Dynamics
();
~
Reference
LangevinMiddle
Dynamics
();
/**---------------------------------------------------------------------------------------
...
...
@@ -133,4 +133,4 @@ class OPENMM_EXPORT ReferenceBAOABDynamics : public ReferenceDynamics {
}
// namespace OpenMM
#endif // __Reference
BAOAB
Dynamics_H__
#endif // __Reference
LangevinMiddle
Dynamics_H__
platforms/reference/src/ReferenceKernelFactory.cpp
View file @
65ee8fd7
...
...
@@ -94,8 +94,8 @@ KernelImpl* ReferenceKernelFactory::createKernelImpl(std::string name, const Pla
return
new
ReferenceNoseHooverChainKernel
(
name
,
platform
);
if
(
name
==
IntegrateLangevinStepKernel
::
Name
())
return
new
ReferenceIntegrateLangevinStepKernel
(
name
,
platform
,
data
);
if
(
name
==
Integrate
BAOAB
StepKernel
::
Name
())
return
new
ReferenceIntegrate
BAOAB
StepKernel
(
name
,
platform
,
data
);
if
(
name
==
Integrate
LangevinMiddle
StepKernel
::
Name
())
return
new
ReferenceIntegrate
LangevinMiddle
StepKernel
(
name
,
platform
,
data
);
if
(
name
==
IntegrateBrownianStepKernel
::
Name
())
return
new
ReferenceIntegrateBrownianStepKernel
(
name
,
platform
,
data
);
if
(
name
==
IntegrateVariableLangevinStepKernel
::
Name
())
...
...
platforms/reference/src/ReferenceKernels.cpp
View file @
65ee8fd7
...
...
@@ -33,7 +33,6 @@
#include "ReferenceObc.h"
#include "ReferenceAndersenThermostat.h"
#include "ReferenceAngleBondIxn.h"
#include "ReferenceBAOABDynamics.h"
#include "ReferenceBondForce.h"
#include "ReferenceBrownianDynamics.h"
#include "ReferenceCCMAAlgorithm.h"
...
...
@@ -53,6 +52,7 @@
#include "ReferenceCustomTorsionIxn.h"
#include "ReferenceGayBerneForce.h"
#include "ReferenceHarmonicBondIxn.h"
#include "ReferenceLangevinMiddleDynamics.h"
#include "ReferenceLJCoulomb14.h"
#include "ReferenceLJCoulombIxn.h"
#include "ReferenceMonteCarloBarostat.h"
...
...
@@ -2225,12 +2225,12 @@ double ReferenceIntegrateLangevinStepKernel::computeKineticEnergy(ContextImpl& c
return
computeShiftedKineticEnergy
(
context
,
masses
,
0.5
*
integrator
.
getStepSize
());
}
ReferenceIntegrate
BAOAB
StepKernel
::~
ReferenceIntegrate
BAOAB
StepKernel
()
{
ReferenceIntegrate
LangevinMiddle
StepKernel
::~
ReferenceIntegrate
LangevinMiddle
StepKernel
()
{
if
(
dynamics
)
delete
dynamics
;
}
void
ReferenceIntegrate
BAOAB
StepKernel
::
initialize
(
const
System
&
system
,
const
BAOAB
LangevinIntegrator
&
integrator
)
{
void
ReferenceIntegrate
LangevinMiddle
StepKernel
::
initialize
(
const
System
&
system
,
const
Langevin
Middle
Integrator
&
integrator
)
{
int
numParticles
=
system
.
getNumParticles
();
masses
.
resize
(
numParticles
);
for
(
int
i
=
0
;
i
<
numParticles
;
++
i
)
...
...
@@ -2238,7 +2238,7 @@ void ReferenceIntegrateBAOABStepKernel::initialize(const System& system, const B
SimTKOpenMMUtilities
::
setRandomNumberSeed
((
unsigned
int
)
integrator
.
getRandomNumberSeed
());
}
void
ReferenceIntegrate
BAOAB
StepKernel
::
execute
(
ContextImpl
&
context
,
const
BAOAB
LangevinIntegrator
&
integrator
)
{
void
ReferenceIntegrate
LangevinMiddle
StepKernel
::
execute
(
ContextImpl
&
context
,
const
Langevin
Middle
Integrator
&
integrator
)
{
double
temperature
=
integrator
.
getTemperature
();
double
friction
=
integrator
.
getFriction
();
double
stepSize
=
integrator
.
getStepSize
();
...
...
@@ -2249,7 +2249,7 @@ void ReferenceIntegrateBAOABStepKernel::execute(ContextImpl& context, const BAOA
if
(
dynamics
)
delete
dynamics
;
dynamics
=
new
Reference
BAOAB
Dynamics
(
dynamics
=
new
Reference
LangevinMiddle
Dynamics
(
context
.
getSystem
().
getNumParticles
(),
stepSize
,
friction
,
...
...
@@ -2264,7 +2264,7 @@ void ReferenceIntegrateBAOABStepKernel::execute(ContextImpl& context, const BAOA
data
.
stepCount
++
;
}
double
ReferenceIntegrate
BAOAB
StepKernel
::
computeKineticEnergy
(
ContextImpl
&
context
,
const
BAOAB
LangevinIntegrator
&
integrator
)
{
double
ReferenceIntegrate
LangevinMiddle
StepKernel
::
computeKineticEnergy
(
ContextImpl
&
context
,
const
Langevin
Middle
Integrator
&
integrator
)
{
return
computeShiftedKineticEnergy
(
context
,
masses
,
0.0
);
}
...
...
platforms/reference/src/ReferencePlatform.cpp
View file @
65ee8fd7
...
...
@@ -69,7 +69,7 @@ ReferencePlatform::ReferencePlatform() {
registerKernelFactory
(
IntegrateVelocityVerletStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
NoseHooverChainKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateLangevinStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
BAOAB
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
Integrate
LangevinMiddle
StepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateBrownianStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVariableLangevinStepKernel
::
Name
(),
factory
);
registerKernelFactory
(
IntegrateVariableVerletStepKernel
::
Name
(),
factory
);
...
...
platforms/reference/src/SimTKReference/Reference
BAOAB
Dynamics.cpp
→
platforms/reference/src/SimTKReference/Reference
LangevinMiddle
Dynamics.cpp
View file @
65ee8fd7
...
...
@@ -26,7 +26,7 @@
#include <sstream>
#include "SimTKOpenMMUtilities.h"
#include "Reference
BAOAB
Dynamics.h"
#include "Reference
LangevinMiddle
Dynamics.h"
#include "ReferencePlatform.h"
#include "ReferenceVirtualSites.h"
#include "openmm/OpenMMException.h"
...
...
@@ -35,7 +35,7 @@
using
std
::
vector
;
using
namespace
OpenMM
;
Reference
BAOAB
Dynamics
::
Reference
BAOAB
Dynamics
(
int
numberOfAtoms
,
Reference
LangevinMiddle
Dynamics
::
Reference
LangevinMiddle
Dynamics
(
int
numberOfAtoms
,
double
deltaT
,
double
friction
,
double
temperature
)
:
ReferenceDynamics
(
numberOfAtoms
,
deltaT
,
temperature
),
friction
(
friction
)
{
...
...
@@ -44,20 +44,20 @@ ReferenceBAOABDynamics::ReferenceBAOABDynamics(int numberOfAtoms,
inverseMasses
.
resize
(
numberOfAtoms
);
}
Reference
BAOAB
Dynamics
::~
Reference
BAOAB
Dynamics
()
{
Reference
LangevinMiddle
Dynamics
::~
Reference
LangevinMiddle
Dynamics
()
{
}
double
Reference
BAOAB
Dynamics
::
getFriction
()
const
{
double
Reference
LangevinMiddle
Dynamics
::
getFriction
()
const
{
return
friction
;
}
void
Reference
BAOAB
Dynamics
::
updatePart1
(
int
numberOfAtoms
,
vector
<
Vec3
>&
velocities
,
vector
<
Vec3
>&
forces
,
vector
<
double
>&
inverseMasses
)
{
void
Reference
LangevinMiddle
Dynamics
::
updatePart1
(
int
numberOfAtoms
,
vector
<
Vec3
>&
velocities
,
vector
<
Vec3
>&
forces
,
vector
<
double
>&
inverseMasses
)
{
for
(
int
i
=
0
;
i
<
numberOfAtoms
;
i
++
)
if
(
inverseMasses
[
i
]
!=
0.0
)
velocities
[
i
]
+=
(
getDeltaT
()
*
inverseMasses
[
i
])
*
forces
[
i
];
}
void
Reference
BAOAB
Dynamics
::
updatePart2
(
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
void
Reference
LangevinMiddle
Dynamics
::
updatePart2
(
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
vector
<
double
>&
inverseMasses
,
vector
<
Vec3
>&
xPrime
)
{
const
double
halfdt
=
0.5
*
getDeltaT
();
...
...
@@ -79,7 +79,7 @@ void ReferenceBAOABDynamics::updatePart2(int numberOfAtoms, vector<Vec3>& atomCo
}
}
void
Reference
BAOAB
Dynamics
::
updatePart3
(
OpenMM
::
ContextImpl
&
context
,
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
void
Reference
LangevinMiddle
Dynamics
::
updatePart3
(
OpenMM
::
ContextImpl
&
context
,
int
numberOfAtoms
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
vector
<
double
>&
inverseMasses
,
vector
<
Vec3
>&
xPrime
)
{
for
(
int
i
=
0
;
i
<
numberOfAtoms
;
i
++
)
{
if
(
inverseMasses
[
i
]
!=
0.0
)
{
...
...
@@ -89,7 +89,7 @@ void ReferenceBAOABDynamics::updatePart3(OpenMM::ContextImpl& context, int numbe
}
}
void
Reference
BAOAB
Dynamics
::
update
(
ContextImpl
&
context
,
vector
<
Vec3
>&
atomCoordinates
,
void
Reference
LangevinMiddle
Dynamics
::
update
(
ContextImpl
&
context
,
vector
<
Vec3
>&
atomCoordinates
,
vector
<
Vec3
>&
velocities
,
vector
<
double
>&
masses
,
double
tolerance
)
{
int
numberOfAtoms
=
context
.
getSystem
().
getNumParticles
();
ReferenceConstraintAlgorithm
*
referenceConstraintAlgorithm
=
getReferenceConstraintAlgorithm
();
...
...
platforms/reference/tests/TestReference
BAOAB
LangevinIntegrator.cpp
→
platforms/reference/tests/TestReferenceLangevin
Middle
Integrator.cpp
View file @
65ee8fd7
...
...
@@ -30,7 +30,7 @@
* -------------------------------------------------------------------------- */
#include "ReferenceTests.h"
#include "Test
BAOAB
LangevinIntegrator.h"
#include "TestLangevin
Middle
Integrator.h"
void
runPlatformTests
()
{
}
serialization/include/openmm/serialization/
BAOAB
LangevinIntegratorProxy.h
→
serialization/include/openmm/serialization/Langevin
Middle
IntegratorProxy.h
View file @
65ee8fd7
#ifndef OPENMM_
BAOAB_
LANGEVIN_INTEGRATOR_PROXY_H_
#define OPENMM_
BAOAB_
LANGEVIN_INTEGRATOR_PROXY_H_
#ifndef OPENMM_LANGEVIN_
MIDDLE_
INTEGRATOR_PROXY_H_
#define OPENMM_LANGEVIN_
MIDDLE_
INTEGRATOR_PROXY_H_
#include "openmm/serialization/XmlSerializer.h"
namespace
OpenMM
{
class
BAOAB
LangevinIntegratorProxy
:
public
SerializationProxy
{
class
Langevin
Middle
IntegratorProxy
:
public
SerializationProxy
{
public:
BAOAB
LangevinIntegratorProxy
();
Langevin
Middle
IntegratorProxy
();
void
serialize
(
const
void
*
object
,
SerializationNode
&
node
)
const
;
void
*
deserialize
(
const
SerializationNode
&
node
)
const
;
};
}
#endif
/*OPENMM_BAOAB_LANGEVIN_INTEGRATOR_PROXY_H_*/
\ No newline at end of file
#endif
/*OPENMM_LANGEVIN_MIDDLE_INTEGRATOR_PROXY_H_*/
\ No newline at end of file
serialization/src/
BAOAB
LangevinIntegratorProxy.cpp
→
serialization/src/Langevin
Middle
IntegratorProxy.cpp
View file @
65ee8fd7
...
...
@@ -29,19 +29,19 @@
* USE OR OTHER DEALINGS IN THE SOFTWARE. *
* -------------------------------------------------------------------------- */
#include "openmm/serialization/
BAOAB
LangevinIntegratorProxy.h"
#include "openmm/serialization/Langevin
Middle
IntegratorProxy.h"
#include <OpenMM.h>
using
namespace
std
;
using
namespace
OpenMM
;
BAOAB
LangevinIntegratorProxy
::
BAOAB
LangevinIntegratorProxy
()
:
SerializationProxy
(
"
BAOAB
LangevinIntegrator"
)
{
Langevin
Middle
IntegratorProxy
::
Langevin
Middle
IntegratorProxy
()
:
SerializationProxy
(
"Langevin
Middle
Integrator"
)
{
}
void
BAOAB
LangevinIntegratorProxy
::
serialize
(
const
void
*
object
,
SerializationNode
&
node
)
const
{
void
Langevin
Middle
IntegratorProxy
::
serialize
(
const
void
*
object
,
SerializationNode
&
node
)
const
{
node
.
setIntProperty
(
"version"
,
1
);
const
BAOAB
LangevinIntegrator
&
integrator
=
*
reinterpret_cast
<
const
BAOAB
LangevinIntegrator
*>
(
object
);
const
Langevin
Middle
Integrator
&
integrator
=
*
reinterpret_cast
<
const
Langevin
Middle
Integrator
*>
(
object
);
node
.
setDoubleProperty
(
"stepSize"
,
integrator
.
getStepSize
());
node
.
setDoubleProperty
(
"constraintTolerance"
,
integrator
.
getConstraintTolerance
());
node
.
setDoubleProperty
(
"temperature"
,
integrator
.
getTemperature
());
...
...
@@ -49,10 +49,10 @@ void BAOABLangevinIntegratorProxy::serialize(const void* object, SerializationNo
node
.
setIntProperty
(
"randomSeed"
,
integrator
.
getRandomNumberSeed
());
}
void
*
BAOAB
LangevinIntegratorProxy
::
deserialize
(
const
SerializationNode
&
node
)
const
{
void
*
Langevin
Middle
IntegratorProxy
::
deserialize
(
const
SerializationNode
&
node
)
const
{
if
(
node
.
getIntProperty
(
"version"
)
!=
1
)
throw
OpenMMException
(
"Unsupported version number"
);
BAOAB
LangevinIntegrator
*
integrator
=
new
BAOAB
LangevinIntegrator
(
node
.
getDoubleProperty
(
"temperature"
),
Langevin
Middle
Integrator
*
integrator
=
new
Langevin
Middle
Integrator
(
node
.
getDoubleProperty
(
"temperature"
),
node
.
getDoubleProperty
(
"friction"
),
node
.
getDoubleProperty
(
"stepSize"
));
integrator
->
setConstraintTolerance
(
node
.
getDoubleProperty
(
"constraintTolerance"
));
integrator
->
setRandomNumberSeed
(
node
.
getIntProperty
(
"randomSeed"
));
...
...
Prev
1
2
3
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