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