35 |
|
* |
36 |
|
* [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). |
37 |
|
* [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). |
38 |
< |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
39 |
< |
* [4] Vardeman & Gezelter, in progress (2009). |
38 |
> |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 |
> |
* [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 |
> |
* [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 |
|
*/ |
42 |
|
|
43 |
|
#ifndef CONSTRAINTS_RATTLE_HPP |
45 |
|
|
46 |
|
#include "brains/SimInfo.hpp" |
47 |
|
#include "constraints/ConstraintPair.hpp" |
48 |
+ |
#include "io/ConstraintWriter.hpp" |
49 |
+ |
|
50 |
|
namespace OpenMD { |
51 |
|
|
52 |
|
/** |
56 |
|
class Rattle { |
57 |
|
public: |
58 |
|
enum ConsStatus{ |
59 |
< |
consFail = -1, //Constraint Fail |
60 |
< |
consSuccess = 0, //constrain the pair by moving two elements |
61 |
< |
consAlready = 1}; //current pair is already constrained, do not need to move the elements |
59 |
> |
consFail = -1, //Constraint Fail |
60 |
> |
consSuccess = 0, //constrain the pair by moving two elements |
61 |
> |
consAlready = 1 //current pair is already constrained, do not need to move the elements |
62 |
> |
}; |
63 |
|
|
64 |
|
Rattle(SimInfo* info); |
65 |
|
void constraintA(); |
81 |
|
int maxConsIteration_; |
82 |
|
RealType consTolerance_; |
83 |
|
RealType dt_; |
84 |
< |
Snapshot* currentSnapshot_; |
84 |
> |
Snapshot* currentSnapshot_; |
85 |
> |
bool doRattle_; |
86 |
> |
std::string constraintOutputFile_; |
87 |
> |
ConstraintWriter* constraintWriter_; |
88 |
> |
RealType constraintTime_; |
89 |
> |
RealType currConstraintTime_; |
90 |
|
}; |
82 |
– |
|
91 |
|
} |
92 |
|
#endif |