10 |
|
class ExtendedSystem{ |
11 |
|
public: |
12 |
|
|
13 |
< |
ExtendedSystem(SimInfo &info); |
13 |
> |
ExtendedSystem(SimInfo* the_entry_plug); |
14 |
|
virtual ~ExtendedSystem() {} |
15 |
|
|
16 |
< |
void setQmass(double q) {qmass = q;} |
17 |
< |
void setTauRelax(double tr) {tauRelax = tr;} |
18 |
< |
void setTargetTemp(double tt) {targetTemp = tt;} |
19 |
< |
void setTargetPressure(double tp) {targetPressure = tp;} |
16 |
> |
void setQmass(double q) {qmass = q; have_qmass = 1;} |
17 |
> |
void setTauThermostat(double tt) {tauThermostat = tt; have_tau_thermostat=1;} |
18 |
> |
void setTauBarostat(double tt) {tauBarostat = tt; have_tau_barostat = 1;} |
19 |
> |
void setTargetTemp(double tt) {targetTemp = tt; have_target_temp = 1;} |
20 |
> |
void setTargetPressure(double tp) {targetPressure=tp;have_target_pressure=1;} |
21 |
|
|
22 |
|
void NoseHooverNVT(double dt, double ke); |
23 |
< |
void NoseHooverAndersonNPT(double dt, double ke, double p_mol); |
23 |
> |
void NoseHooverAndersonNPT(double dt, double ke, double p_tensor[9]); |
24 |
> |
void ConstantStress(double dt, double ke, double p_tensor[9]); |
25 |
|
void AffineTransform(double oldBox[3], double newBox[3]); |
26 |
|
|
27 |
|
protected: |
28 |
|
|
29 |
|
SimInfo* entry_plug; |
30 |
|
|
31 |
+ |
short int NVTready(); |
32 |
+ |
short int NPTready(); |
33 |
+ |
|
34 |
|
// |
35 |
|
int nAtoms; |
36 |
|
int nMols; |
43 |
|
// zeta and epsilonDot are propagated |
44 |
|
double zeta; |
45 |
|
double epsilonDot; |
46 |
+ |
double epsilonDotX; |
47 |
+ |
double epsilonDotY; |
48 |
+ |
double epsilonDotZ; |
49 |
|
|
50 |
|
// qmass, tauRelax, targetTemp, and targetPressure are parameters that |
51 |
|
// must be set |
52 |
|
double qmass; |
53 |
|
double targetTemp; |
54 |
|
double targetPressure; |
55 |
< |
double tauRelax; |
55 |
> |
double tauThermostat; |
56 |
> |
double tauBarostat; |
57 |
|
|
58 |
+ |
short int have_tau_thermostat, have_tau_barostat, have_target_temp; |
59 |
+ |
short int have_target_pressure, have_qmass; |
60 |
+ |
|
61 |
|
}; |
62 |
|
#endif |