| 447 |
|
#ifdef IS_MPI |
| 448 |
|
virtual void update(); //which is called to indicate the molecules' migration |
| 449 |
|
#endif |
| 450 |
+ |
|
| 451 |
+ |
enum ZConsState {zcsMoving, zcsFixed}; |
| 452 |
|
|
| 453 |
+ |
vector<Molecule*> zconsMols; //z-constraint molecules array |
| 454 |
+ |
vector<ZConsState> states; //state of z-constraint molecules |
| 455 |
+ |
|
| 456 |
+ |
|
| 457 |
+ |
|
| 458 |
+ |
int totNumOfUnconsAtoms; //total number of uncontraint atoms |
| 459 |
+ |
double totalMassOfUncons; //total mas of unconstraint molecules |
| 460 |
+ |
|
| 461 |
+ |
|
| 462 |
|
protected: |
| 463 |
|
|
| 464 |
< |
enum ZConsState {zcsMoving, zcsFixed}; |
| 464 |
> |
|
| 465 |
|
|
| 466 |
|
virtual void calcForce( int calcPot, int calcStress ); |
| 467 |
|
virtual void thermalize(void); |
| 484 |
|
double zForceConst; //base force constant term |
| 485 |
|
//which is estimate by OOPSE |
| 486 |
|
|
| 487 |
< |
vector<Molecule*> zconsMols; //z-constraint molecules array |
| 487 |
> |
|
| 488 |
|
vector<double> massOfZConsMols; //mass of z-constraint molecule |
| 489 |
|
vector<double> kz; //force constant array |
| 490 |
< |
vector<ZConsState> states; //state of z-constraint molecules |
| 490 |
> |
|
| 491 |
|
vector<double> zPos; // |
| 492 |
|
|
| 493 |
|
|
| 494 |
|
vector<Molecule*> unconsMols; //unconstraint molecules array |
| 495 |
|
vector<double> massOfUnconsMols; //mass array of unconstraint molecules |
| 485 |
– |
double totalMassOfUncons; //total mas of unconstraint molecules |
| 496 |
|
|
| 497 |
+ |
|
| 498 |
|
vector<ZConsParaItem>* parameters; // |
| 499 |
|
|
| 500 |
|
vector<int> indexOfAllZConsMols; //index of All Z-Constraint Molecuels |
| 503 |
|
double* fz; |
| 504 |
|
double* curZPos; |
| 505 |
|
|
| 495 |
– |
int totNumOfUnconsAtoms; //total number of uncontraint atoms |
| 506 |
|
|
| 507 |
+ |
|
| 508 |
|
int whichDirection; //constraint direction |
| 509 |
|
|
| 510 |
|
private: |