Commit 1adaefcc authored by Mark Friedrichs's avatar Mark Friedrichs
Browse files

Daily commit

parent d00e8b67
...@@ -45,6 +45,7 @@ using namespace std; ...@@ -45,6 +45,7 @@ using namespace std;
#define PARAMS(X,Y,Z) (params[(Y)][4*(X) + Z]) #define PARAMS(X,Y,Z) (params[(Y)][4*(X) + Z])
/** /**
*
* BrookBonded constructor * BrookBonded constructor
* *
*/ */
......
...@@ -49,12 +49,21 @@ class BrookBonded : public BrookCommon { ...@@ -49,12 +49,21 @@ class BrookBonded : public BrookCommon {
public: public:
static const int DefaultReturnValue = 0; /**
static const int ErrorReturnValue = -1; *
* BrookBonded constructor
*
*/
BrookBonded( ); BrookBonded( );
~BrookBonded(); /**
*
* BrookBonded desstructor
*
*/
~BrookBonded( );
/** /**
* Initialize the kernel, setting up the values of all the force field parameters. * Initialize the kernel, setting up the values of all the force field parameters.
......
...@@ -66,6 +66,13 @@ const std::string BrookCommon::ObcBornRadii2Stream ...@@ -66,6 +66,13 @@ const std::string BrookCommon::ObcBornRadii2Stream
const std::string BrookCommon::ObcIntermediateForceStream = "ObcIntermediateForceStream"; const std::string BrookCommon::ObcIntermediateForceStream = "ObcIntermediateForceStream";
const std::string BrookCommon::ObcChainStream = "ObcChainStream"; const std::string BrookCommon::ObcChainStream = "ObcChainStream";
// StochasticDynamics streams
const std::string BrookCommon::SDPC1Stream = "SDPC1Stream";
const std::string BrookCommon::SDPC2Stream = "SDPC2Stream";
const std::string BrookCommon::SD2XStream = "SD2XStream";
const std::string BrookCommon::SD1VStream = "SD1VStream";
/** /**
* Constructor * Constructor
* *
......
...@@ -52,11 +52,6 @@ class BrookGbsa : public BrookCommon { ...@@ -52,11 +52,6 @@ class BrookGbsa : public BrookCommon {
public: public:
// return values
static const int DefaultReturnValue = 0;
static const int ErrorReturnValue = -1;
/** /**
* Constructor * Constructor
* *
......
...@@ -83,6 +83,8 @@ void BrookIntegrateLangevinStepKernel::initialize( const vector<double>& masses, ...@@ -83,6 +83,8 @@ void BrookIntegrateLangevinStepKernel::initialize( const vector<double>& masses,
// --------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------
_brookkStochasticDynamics = new BrookStochasticDynamics( masses ); _brookkStochasticDynamics = new BrookStochasticDynamics( masses );
_brookkStochasticDynamics->setup( masses, getPlatform() );
_brookShakeAlgorithm = new BrookShakeAlgorithm( masses, constraintIndices, constraintLengths ); _brookShakeAlgorithm = new BrookShakeAlgorithm( masses, constraintIndices, constraintLengths );
/* /*
this->masses = new RealOpenMM[masses.size()]; this->masses = new RealOpenMM[masses.size()];
......
...@@ -49,11 +49,6 @@ class BrookNonBonded : public BrookCommon { ...@@ -49,11 +49,6 @@ class BrookNonBonded : public BrookCommon {
public: public:
// return values
static const int DefaultReturnValue = 0;
static const int ErrorReturnValue = -1;
BrookNonBonded( ); BrookNonBonded( );
~BrookNonBonded(); ~BrookNonBonded();
......
...@@ -51,17 +51,15 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -51,17 +51,15 @@ class BrookStochasticDynamics : public BrookCommon {
public: public:
// return values
static const int DefaultReturnValue = 0;
static const int ErrorReturnValue = -1;
/** /**
* Constructor * Constructor
* *
* @param masses atomic masses
* @param randomNumberSeed random number seed
*
*/ */
BrookStochasticDynamics( ); BrookStochasticDynamics( const std::vector<double>& masses, uint32_t randomNumberSeed = 1364 );
/** /**
* Destructor * Destructor
...@@ -70,6 +68,30 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -70,6 +68,30 @@ class BrookStochasticDynamics : public BrookCommon {
~BrookStochasticDynamics(); ~BrookStochasticDynamics();
/**
* Get tau
*
* @return tau
*/
BrookOpenMMFloat getTau( void ) const;
/**
* Get temperature
*
* @return temperature
*/
BrookOpenMMFloat getTemperature( void ) const;
/**
* Get step size
*
* @return step size
*/
BrookOpenMMFloat getStepSize( void ) const;
/** /**
* Get StochasticDynamics atom stream width * Get StochasticDynamics atom stream width
* *
...@@ -143,13 +165,48 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -143,13 +165,48 @@ class BrookStochasticDynamics : public BrookCommon {
std::string getContentsString( int level = 0 ) const; std::string getContentsString( int level = 0 ) const;
/**
* Get SDPC1 stream
*
* @return SDPC1 stream
*
*/
BrookFloatStreamInternal* getSDPC1( void ) const;
/**
* Get SDPC2 stream
*
* @return SDPC2 stream
*
*/
BrookFloatStreamInternal* getSDPC2( void ) const;
/**
* Get SD2X stream
*
* @return SD2X stream
*
*/
BrookFloatStreamInternal* getSD2X( void ) const;
/**
* Get SD1V stream
*
* @return SD1V stream
*
*/
BrookFloatStreamInternal* getSD1V( void ) const;
private: private:
enum FixedParameters { GDT, EPH, EMH, EP, EM, B, C, D, V, X, Yv, Yx, MaxFixedParameters }; enum DerivedParameters { GDT, EPH, EMH, EP, EM, B, C, D, V, X, Yv, Yx,
enum TwoDArrayIndicies { X2D, V2D, OldV, xPrime2D, vPrime2D, Max2DArrays }; Sd1pc1, Sd1pc2, Sd1pc3, Sd2pc1, Sd2pc2, MaxDerivedParameters };
enum OneDArrayIndicies { InverseMasses, Max1DArrays };
RealOpenMM _fixedParameters[MaxFixedParameters]; BrookOpenMMFloat _derivedParameters[MaxDerivedParameters];
// streams indices // streams indices
...@@ -161,20 +218,99 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -161,20 +218,99 @@ class BrookStochasticDynamics : public BrookCommon {
LastStreamIndex LastStreamIndex
}; };
// randomNumberSeed
uint32_t _randomNumberSeed;
BrookOpenMMFloat _tau;
BrookOpenMMFloat _temperature;
BrookOpenMMFloat _stepSize;
// Atom stream dimensions // Atom stream dimensions
int _sdAtomStreamWidth; int _sdAtomStreamWidth;
int _sdAtomStreamHeight; int _sdAtomStreamHeight;
int _sdAtomStreamSize; int _sdAtomStreamSize;
// inverse masses /**
* Get derived parameter string
*
* @return string
*
*/
vector<BrookOpenMMFloat>& _inverseMasses; std::string _getDerivedParametersString( BrookStochasticDynamics::DerivedParameters ) const;
/**
* Update derived parameters
*
* @return DefaultReturn
*
*/
int _updateDerivedParameters( void );
/*
* Update streams
*
* @return DefaultReturn
*
*/
int _updateSdStreams( void );
// inverse sqrt masses
BrookOpenMMFloat* _inverseSqrtMasses;
// internal streams // internal streams
BrookFloatStreamInternal* _sdStreams[LastStreamIndex]; BrookFloatStreamInternal* _sdStreams[LastStreamIndex];
/**
* Set tau
*
* @param tau new tau value
*
* @return DefaultReturn
*
*/
int _setTau( BrookOpenMMFloat tau );
/**
* Set friction = 1/tau
*
* @param friction new friction value
*
* @return DefaultReturn
*
*/
int _setFriction( BrookOpenMMFloat friction );
/**
* Set temperature
*
* @parameter temperature
*
* @return DefaultReturn
*
*/
int _setTemperature( BrookOpenMMFloat temperature );
/**
* Set stepSize
*
* @param stepSize
*
* @return DefaultReturn
*
*/
int _setStepSize( BrookOpenMMFloat stepSize );
/* /*
* Setup of stream dimensions * Setup of stream dimensions
* *
...@@ -185,7 +321,7 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -185,7 +321,7 @@ class BrookStochasticDynamics : public BrookCommon {
* *
* */ * */
int initializeStreamSizes( int atomStreamSize, int atomStreamWidth ); int _initializeStreamSizes( int atomStreamSize, int atomStreamWidth );
/** /**
* Initialize stream dimensions * Initialize stream dimensions
...@@ -197,7 +333,7 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -197,7 +333,7 @@ class BrookStochasticDynamics : public BrookCommon {
* *
*/ */
int initializeStreamSizes( int numberOfAtoms, const Platform& platform ); int _initializeStreamSizes( int numberOfAtoms, const Platform& platform );
/** /**
* Initialize stream dimensions and streams * Initialize stream dimensions and streams
...@@ -208,7 +344,18 @@ class BrookStochasticDynamics : public BrookCommon { ...@@ -208,7 +344,18 @@ class BrookStochasticDynamics : public BrookCommon {
* *
*/ */
int initializeStreams( const Platform& platform ); int _initializeStreams( const Platform& platform );
/**
* Set masses
*
* @param masses atomic masses
*
*/
int _setInverseSqrtMasses( const std::vector<double>& masses );
}; };
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment