| 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: |