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
Commit
65ee8fd7
authored
Feb 14, 2020
by
Peter Eastman
Browse files
Renamed BAOABLangevinIntegrator to LangevinMiddleIntegrator
parent
ba9f6b0a
Changes
43
Hide 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