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
df7f942c
"wrappers/python/vscode:/vscode.git/clone" did not exist on "fcba92a6aa1f2867642ab4fd12deedd5473cbc39"
Commit
df7f942c
authored
Jul 01, 2009
by
Michael Sherman
Browse files
Added wrappers for AndersenThermostat.
parent
705ec545
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
174 additions
and
25 deletions
+174
-25
examples/OpenMM_CWrapper.cpp
examples/OpenMM_CWrapper.cpp
+114
-24
examples/OpenMM_CWrapper.h
examples/OpenMM_CWrapper.h
+10
-0
examples/OpenMM_Module.f90
examples/OpenMM_Module.f90
+50
-1
No files found.
examples/OpenMM_CWrapper.cpp
View file @
df7f942c
...
...
@@ -679,6 +679,14 @@ void openmm_harmonicbondforce_destroy_(OpenMM_HarmonicBondForce*& doomed)
void
OPENMM_HARMONICBONDFORCE_DESTROY
(
OpenMM_HarmonicBondForce
*&
doomed
)
{
OpenMM_HarmonicBondForce_destroy
(
doomed
);
doomed
=
0
;}
// Fortran only: recast HarmonicBondForce as a Force.
void
openmm_harmonicbondforce_asforce_
(
OpenMM_HarmonicBondForce
*
const
&
hbf
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
hbf
;
}
void
OPENMM_HARMONICBONDFORCE_ASFORCE
(
OpenMM_HarmonicBondForce
*
const
&
hbf
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
hbf
;
}
// getNumBonds
int
OpenMM_HarmonicBondForce_getNumBonds
(
const
OpenMM_HarmonicBondForce
*
hbf
)
{
return
((
const
HarmonicBondForce
*
)
hbf
)
->
getNumBonds
();
}
...
...
@@ -734,6 +742,14 @@ void openmm_harmonicangleforce_destroy_(OpenMM_HarmonicAngleForce*& doomed)
void
OPENMM_HARMONICANGLEFORCE_DESTROY
(
OpenMM_HarmonicAngleForce
*&
doomed
)
{
OpenMM_HarmonicAngleForce_destroy
(
doomed
);
doomed
=
0
;}
// Fortran only: recast HarmonicAngleForce as a Force.
void
openmm_harmonicangleforce_asforce_
(
OpenMM_HarmonicAngleForce
*
const
&
haf
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
haf
;
}
void
OPENMM_HARMONICANGLEFORCE_ASFORCE
(
OpenMM_HarmonicAngleForce
*
const
&
haf
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
haf
;
}
// getNumAngles
int
OpenMM_HarmonicAngleForce_getNumAngles
(
const
OpenMM_HarmonicAngleForce
*
haf
)
{
return
((
const
HarmonicAngleForce
*
)
haf
)
->
getNumAngles
();
}
...
...
@@ -790,38 +806,112 @@ void openmm_periodictorsionforce_destroy_(OpenMM_PeriodicTorsionForce*& doomed)
void
OPENMM_PERIODICTORSIONFORCE_DESTROY
(
OpenMM_PeriodicTorsionForce
*&
doomed
)
{
OpenMM_PeriodicTorsionForce_destroy
(
doomed
);
doomed
=
0
;}
// Fortran only: recast PeriodicTorsionForce as a Force.
void
openmm_periodictorsionforce_asforce_
(
OpenMM_PeriodicTorsionForce
*
const
&
ptf
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
ptf
;
}
void
OPENMM_PERIODICTORSIONFORCE_ASFORCE
(
OpenMM_PeriodicTorsionForce
*
const
&
ptf
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
ptf
;
}
// getNumTorsions
int
OpenMM_PeriodicTorsionForce_getNumTorsions
(
const
OpenMM_PeriodicTorsionForce
*
ha
f
)
{
return
((
const
PeriodicTorsionForce
*
)
ha
f
)
->
getNumTorsions
();
}
int
openmm_periodictorsionforce_getnumangles_
(
const
OpenMM_PeriodicTorsionForce
*
const
&
ha
f
)
{
return
OpenMM_PeriodicTorsionForce_getNumTorsions
(
ha
f
);
}
int
OPENMM_PERIODICTORSIONFORCE_GETNUMANGLES
(
const
OpenMM_PeriodicTorsionForce
*
const
&
ha
f
)
{
return
OpenMM_PeriodicTorsionForce_getNumTorsions
(
ha
f
);
}
int
OpenMM_PeriodicTorsionForce_getNumTorsions
(
const
OpenMM_PeriodicTorsionForce
*
pt
f
)
{
return
((
const
PeriodicTorsionForce
*
)
pt
f
)
->
getNumTorsions
();
}
int
openmm_periodictorsionforce_getnumangles_
(
const
OpenMM_PeriodicTorsionForce
*
const
&
pt
f
)
{
return
OpenMM_PeriodicTorsionForce_getNumTorsions
(
pt
f
);
}
int
OPENMM_PERIODICTORSIONFORCE_GETNUMANGLES
(
const
OpenMM_PeriodicTorsionForce
*
const
&
pt
f
)
{
return
OpenMM_PeriodicTorsionForce_getNumTorsions
(
pt
f
);
}
// addTorsion
int
OpenMM_PeriodicTorsionForce_addTorsion
(
OpenMM_PeriodicTorsionForce
*
ha
f
,
int
p1
,
int
p2
,
int
p3
,
int
p4
,
int
periodicity
,
double
phase
,
double
k
)
{
return
((
PeriodicTorsionForce
*
)
ha
f
)
->
addTorsion
(
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
int
openmm_periodictorsionforce_addtorsion_
(
OpenMM_PeriodicTorsionForce
*
const
&
ha
f
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
return
OpenMM_PeriodicTorsionForce_addTorsion
(
ha
f
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
int
OPENMM_PERIODICTORSIONFORCE_ADDTORSION
(
OpenMM_PeriodicTorsionForce
*
const
&
ha
f
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
return
OpenMM_PeriodicTorsionForce_addTorsion
(
ha
f
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
int
OpenMM_PeriodicTorsionForce_addTorsion
(
OpenMM_PeriodicTorsionForce
*
pt
f
,
int
p1
,
int
p2
,
int
p3
,
int
p4
,
int
periodicity
,
double
phase
,
double
k
)
{
return
((
PeriodicTorsionForce
*
)
pt
f
)
->
addTorsion
(
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
int
openmm_periodictorsionforce_addtorsion_
(
OpenMM_PeriodicTorsionForce
*
const
&
pt
f
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
return
OpenMM_PeriodicTorsionForce_addTorsion
(
pt
f
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
int
OPENMM_PERIODICTORSIONFORCE_ADDTORSION
(
OpenMM_PeriodicTorsionForce
*
const
&
pt
f
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
return
OpenMM_PeriodicTorsionForce_addTorsion
(
pt
f
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
// setTorsionParameters
void
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
OpenMM_PeriodicTorsionForce
*
ha
f
,
int
ix
,
int
p1
,
int
p2
,
int
p3
,
int
p4
,
int
periodicity
,
double
phase
,
double
k
)
{
((
PeriodicTorsionForce
*
)
ha
f
)
->
setTorsionParameters
(
ix
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
void
openmm_periodictorsionforce_settorsionparameters_
(
OpenMM_PeriodicTorsionForce
*
const
&
ha
f
,
int
const
&
ix
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
ha
f
,
ix
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
void
OPENMM_PERIODICTORSIONFORCE_SETTORSIONPARAMETERS
(
OpenMM_PeriodicTorsionForce
*
const
&
ha
f
,
int
const
&
ix
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
ha
f
,
ix
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
void
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
OpenMM_PeriodicTorsionForce
*
pt
f
,
int
ix
,
int
p1
,
int
p2
,
int
p3
,
int
p4
,
int
periodicity
,
double
phase
,
double
k
)
{
((
PeriodicTorsionForce
*
)
pt
f
)
->
setTorsionParameters
(
ix
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
void
openmm_periodictorsionforce_settorsionparameters_
(
OpenMM_PeriodicTorsionForce
*
const
&
pt
f
,
int
const
&
ix
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
pt
f
,
ix
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
void
OPENMM_PERIODICTORSIONFORCE_SETTORSIONPARAMETERS
(
OpenMM_PeriodicTorsionForce
*
const
&
pt
f
,
int
const
&
ix
,
int
const
&
p1
,
int
const
&
p2
,
int
const
&
p3
,
int
const
&
p4
,
int
const
&
periodicity
,
double
const
&
phase
,
double
const
&
k
)
{
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
pt
f
,
ix
,
p1
,
p2
,
p3
,
p4
,
periodicity
,
phase
,
k
);
}
// getTorsionParameters
void
OpenMM_PeriodicTorsionForce_getTorsionParameters
(
const
OpenMM_PeriodicTorsionForce
*
ha
f
,
int
ix
,
void
OpenMM_PeriodicTorsionForce_getTorsionParameters
(
const
OpenMM_PeriodicTorsionForce
*
pt
f
,
int
ix
,
int
*
p1
,
int
*
p2
,
int
*
p3
,
int
*
p4
,
int
*
periodicity
,
double
*
phase
,
double
*
k
)
{
((
const
PeriodicTorsionForce
*
)
haf
)
->
getTorsionParameters
(
ix
,
*
p1
,
*
p2
,
*
p3
,
*
p4
,
*
periodicity
,
*
phase
,
*
k
);
}
void
openmm_periodictorsionforce_gettorsionparameters_
(
const
OpenMM_PeriodicTorsionForce
*
const
&
haf
,
int
const
&
ix
,
int
&
p1
,
int
&
p2
,
int
&
p3
,
int
&
p4
,
int
&
periodicity
,
double
&
phase
,
double
&
k
)
{
OpenMM_PeriodicTorsionForce_getTorsionParameters
(
haf
,
ix
,
&
p1
,
&
p2
,
&
p3
,
&
p4
,
&
periodicity
,
&
phase
,
&
k
);
}
void
OPENMM_PERIODICTORSIONFORCE_GETTORSIONPARAMETERS
(
const
OpenMM_PeriodicTorsionForce
*
const
&
haf
,
int
const
&
ix
,
int
&
p1
,
int
&
p2
,
int
&
p3
,
int
&
p4
,
int
&
periodicity
,
double
&
phase
,
double
&
k
)
{
OpenMM_PeriodicTorsionForce_getTorsionParameters
(
haf
,
ix
,
&
p1
,
&
p2
,
&
p3
,
&
p4
,
&
periodicity
,
&
phase
,
&
k
);
}
{
((
const
PeriodicTorsionForce
*
)
ptf
)
->
getTorsionParameters
(
ix
,
*
p1
,
*
p2
,
*
p3
,
*
p4
,
*
periodicity
,
*
phase
,
*
k
);
}
void
openmm_periodictorsionforce_gettorsionparameters_
(
const
OpenMM_PeriodicTorsionForce
*
const
&
ptf
,
int
const
&
ix
,
int
&
p1
,
int
&
p2
,
int
&
p3
,
int
&
p4
,
int
&
periodicity
,
double
&
phase
,
double
&
k
)
{
OpenMM_PeriodicTorsionForce_getTorsionParameters
(
ptf
,
ix
,
&
p1
,
&
p2
,
&
p3
,
&
p4
,
&
periodicity
,
&
phase
,
&
k
);
}
void
OPENMM_PERIODICTORSIONFORCE_GETTORSIONPARAMETERS
(
const
OpenMM_PeriodicTorsionForce
*
const
&
ptf
,
int
const
&
ix
,
int
&
p1
,
int
&
p2
,
int
&
p3
,
int
&
p4
,
int
&
periodicity
,
double
&
phase
,
double
&
k
)
{
OpenMM_PeriodicTorsionForce_getTorsionParameters
(
ptf
,
ix
,
&
p1
,
&
p2
,
&
p3
,
&
p4
,
&
periodicity
,
&
phase
,
&
k
);
}
////////////////////////////////
// OpenMM::AndersenThermostat //
////////////////////////////////
// create
OpenMM_AndersenThermostat
*
OpenMM_AndersenThermostat_create
(
double
temp
,
double
collisionFreqInPerPs
)
{
return
(
OpenMM_AndersenThermostat
*
)
new
AndersenThermostat
(
temp
,
collisionFreqInPerPs
);
}
void
openmm_andersenthermostat_create_
(
OpenMM_AndersenThermostat
*&
frc
,
double
const
&
temp
,
double
const
&
freq
)
{
frc
=
OpenMM_AndersenThermostat_create
(
temp
,
freq
);}
void
OPENMM_ANDERSENTHERMOSTAT_CREATE
(
OpenMM_AndersenThermostat
*&
frc
,
double
const
&
temp
,
double
const
&
freq
)
{
frc
=
OpenMM_AndersenThermostat_create
(
temp
,
freq
);}
// destroy
void
OpenMM_AndersenThermostat_destroy
(
OpenMM_AndersenThermostat
*
doomed
)
{
delete
(
AndersenThermostat
*
)
doomed
;
}
void
openmm_andersenthermostat_destroy_
(
OpenMM_AndersenThermostat
*&
doomed
)
{
OpenMM_AndersenThermostat_destroy
(
doomed
);
doomed
=
0
;}
void
OPENMM_ANDERSENTHERMOSTAT_DESTROY
(
OpenMM_AndersenThermostat
*&
doomed
)
{
OpenMM_AndersenThermostat_destroy
(
doomed
);
doomed
=
0
;}
// Fortran only: recast AndersenThermostat as a Force.
void
openmm_andersenthermostat_asforce_
(
OpenMM_AndersenThermostat
*
const
&
at
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
at
;
}
void
OPENMM_ANDERSENTHERMOSTAT_ASFORCE
(
OpenMM_AndersenThermostat
*
const
&
at
,
OpenMM_Force
*&
force
)
{
force
=
(
OpenMM_Force
*
)
at
;
}
// For compatibility with preview release 3 where getDefaultTemperature() and
// getDefaultCollisionFrequency() were accidentally declared nonconst, we're
// using const_cast<> here; that will be unnecessary (but harmless) later.
// getDefaultTemperature
double
OpenMM_AndersenThermostat_getDefaultTemperature
(
const
OpenMM_AndersenThermostat
*
at
)
{
return
const_cast
<
AndersenThermostat
*>
((
const
AndersenThermostat
*
)
at
)
->
getDefaultTemperature
();
}
double
openmm_andersenthermostat_getdefaulttemperature_
(
const
OpenMM_AndersenThermostat
*
const
&
at
)
{
return
OpenMM_AndersenThermostat_getDefaultTemperature
(
at
);
}
double
OPENMM_ANDERSENTHERMOSTAT_GETDEFAULTTEMPERATURE
(
const
OpenMM_AndersenThermostat
*
const
&
at
)
{
return
OpenMM_AndersenThermostat_getDefaultTemperature
(
at
);
}
// getDefaultCollisionFrequency
double
OpenMM_AndersenThermostat_getDefaultCollisionFrequency
(
const
OpenMM_AndersenThermostat
*
at
)
{
return
const_cast
<
AndersenThermostat
*>
((
const
AndersenThermostat
*
)
at
)
->
getDefaultCollisionFrequency
();
}
double
openmm_andersenthermostat_getdefaultcollisionfrequency_
(
const
OpenMM_AndersenThermostat
*
const
&
at
)
{
return
OpenMM_AndersenThermostat_getDefaultCollisionFrequency
(
at
);
}
double
OPENMM_ANDERSENTHERMOSTAT_GETDEFAULTCOLLISIONFREQUENCY
(
const
OpenMM_AndersenThermostat
*
const
&
at
)
{
return
OpenMM_AndersenThermostat_getDefaultCollisionFrequency
(
at
);
}
// getRandomNumberSeed
int
OpenMM_AndersenThermostat_getRandomNumberSeed
(
const
OpenMM_AndersenThermostat
*
at
)
{
return
((
const
AndersenThermostat
*
)
at
)
->
getRandomNumberSeed
();
}
int
openmm_andersenthermostat_getrandomnumberseed_
(
const
OpenMM_AndersenThermostat
*
const
&
at
)
{
return
OpenMM_AndersenThermostat_getRandomNumberSeed
(
at
);
}
int
OPENMM_ANDERSENTHERMOSTAT_GETRANDOMNUMBERSEED
(
const
OpenMM_AndersenThermostat
*
const
&
at
)
{
return
OpenMM_AndersenThermostat_getRandomNumberSeed
(
at
);
}
// setRandomNumberSeed
void
OpenMM_AndersenThermostat_setRandomNumberSeed
(
OpenMM_AndersenThermostat
*
at
,
int
seed
)
{
((
AndersenThermostat
*
)
at
)
->
setRandomNumberSeed
(
seed
);
}
void
openmm_andersenthermostat_setrandomnumberseed_
(
OpenMM_AndersenThermostat
*
const
&
at
,
int
const
&
seed
)
{
OpenMM_AndersenThermostat_setRandomNumberSeed
(
at
,
seed
);
}
void
OPENMM_ANDERSENTHERMOSTAT_SETRANDOMNUMBERSEED
(
OpenMM_AndersenThermostat
*
const
&
at
,
int
const
&
seed
)
{
OpenMM_AndersenThermostat_setRandomNumberSeed
(
at
,
seed
);
}
////////////////////////
...
...
examples/OpenMM_CWrapper.h
View file @
df7f942c
...
...
@@ -67,6 +67,7 @@ typedef struct OpenMM_GBSAOBCForce_s OpenMM_GBSAOBCForce;
typedef
struct
OpenMM_HarmonicBondForce_s
OpenMM_HarmonicBondForce
;
typedef
struct
OpenMM_HarmonicAngleForce_s
OpenMM_HarmonicAngleForce
;
typedef
struct
OpenMM_PeriodicTorsionForce_s
OpenMM_PeriodicTorsionForce
;
typedef
struct
OpenMM_AndersenThermostat_s
OpenMM_AndersenThermostat
;
typedef
enum
{
OpenMM_NonbondedForce_NoCutoff
=
0
,
...
...
@@ -261,6 +262,15 @@ extern void OpenMM_PeriodicTorsionForce_getTorsionParameters(const OpenMM_Period
extern
void
OpenMM_PeriodicTorsionForce_setTorsionParameters
(
OpenMM_PeriodicTorsionForce
*
,
int
ix
,
int
p1
,
int
p2
,
int
p3
,
int
p4
,
int
periodicity
,
double
phase
,
double
k
);
/* OpenMM::AndersenThermostat */
extern
OpenMM_AndersenThermostat
*
OpenMM_AndersenThermostat_create
(
double
temp
,
double
collisionFreqInPerPs
);
extern
void
OpenMM_AndersenThermostat_destroy
(
OpenMM_AndersenThermostat
*
);
extern
double
OpenMM_AndersenThermostat_getDefaultTemperature
(
const
OpenMM_AndersenThermostat
*
);
extern
double
OpenMM_AndersenThermostat_getDefaultCollisionFrequency
(
const
OpenMM_AndersenThermostat
*
);
extern
int
OpenMM_AndersenThermostat_getRandomNumberSeed
(
const
OpenMM_AndersenThermostat
*
);
extern
void
OpenMM_AndersenThermostat_setRandomNumberSeed
(
OpenMM_AndersenThermostat
*
,
int
seed
);
/* OpenMM::Integrator */
extern
void
OpenMM_Integrator_step
(
OpenMM_Integrator
*
,
int
numSteps
);
extern
void
OpenMM_Integrator_destroy
(
OpenMM_Integrator
*
);
...
...
examples/OpenMM_Module.f90
View file @
df7f942c
...
...
@@ -92,6 +92,9 @@ MODULE OpenMM_Types
type
OpenMM_PeriodicTorsionForce
integer
*
8
::
handle
=
0
end
type
type
OpenMM_AndersenThermostat
integer
*
8
::
handle
=
0
end
type
type
OpenMM_VerletIntegrator
integer
*
8
::
handle
=
0
end
type
...
...
@@ -684,6 +687,52 @@ MODULE OpenMM
real
*
8
phase
,
k
end
! --------------------------
! OpenMM::AndersenThermostat
! --------------------------
subroutine
OpenMM_AndersenThermostat_create
(
at
,
temp
,
freqInPerPs
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
real
*
8
temp
,
freqInPerPs
end
subroutine
OpenMM_AndersenThermostat_destroy
(
at
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
end
! This takes an AndersenThermostat handle and recasts it to a generic
! Force handle. This is only a type change; the returned Force
! handle refers to the same AndersenThermostat object as the input.
! You can accomplish the same thing with Fortran 95's "transfer"
! intrinsic function.
subroutine
OpenMM_AndersenThermostat_asForce
(
at
,
force
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
type
(
OpenMM_Force
)
force
end
function
OpenMM_AndersenThermostat_getDefaultTemperature
(
at
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
real
*
8
OpenMM_AndersenThermostat_getDefaultTemperature
end
function
OpenMM_AndersenThermostat_getDefaultCollisionFrequency
(
at
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
real
*
8
OpenMM_AndersenThermostat_getDefaultCollisionFrequency
end
function
OpenMM_AndersenThermostat_getRandomNumberSeed
(
at
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
integer
*
4
OpenMM_AndersenThermostat_getRandomNumberSeed
end
subroutine
OpenMM_AndersenThermostat_setRandomNumberSeed
(
at
,
seed
)
use
OpenMM_Types
;
implicit
none
type
(
OpenMM_AndersenThermostat
)
at
integer
*
4
seed
end
! -------------------------
! OpenMM::Integrator
! -------------------------
...
...
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