| 346 |
|
template<typename T> class ZConstraint : public T { |
| 347 |
|
|
| 348 |
|
public: |
| 349 |
< |
class ForceSubstractionPolicy{ |
| 349 |
> |
class ForceSubtractionPolicy{ |
| 350 |
|
public: |
| 351 |
< |
ForceSubstractionPolicy(ZConstraint<T>* integrator) {zconsIntegrator = integrator;} |
| 351 |
> |
ForceSubtractionPolicy(ZConstraint<T>* integrator) {zconsIntegrator = integrator;} |
| 352 |
|
|
| 353 |
|
virtual void update() = 0; |
| 354 |
|
virtual double getZFOfFixedZMols(Molecule* mol, Atom* atom, double totalForce) = 0; |
| 360 |
|
ZConstraint<T>* zconsIntegrator;; |
| 361 |
|
}; |
| 362 |
|
|
| 363 |
< |
class PolicyByNumber : ForceSubstractionPolicy{ |
| 363 |
> |
class PolicyByNumber : public ForceSubtractionPolicy{ |
| 364 |
|
public: |
| 365 |
< |
PolicyByNumber(ZConstraint<T>* integrator) :ForceSubstractionPolicy(integrator) {} |
| 365 |
> |
PolicyByNumber(ZConstraint<T>* integrator) :ForceSubtractionPolicy(integrator) {} |
| 366 |
|
virtual void update(); |
| 367 |
|
virtual double getZFOfFixedZMols(Molecule* mol, Atom* atom, double totalForce) ; |
| 368 |
|
virtual double getZFOfMovingMols(Atom* atom, double totalForce) ; |
| 373 |
|
int totNumOfMovingAtoms; |
| 374 |
|
}; |
| 375 |
|
|
| 376 |
< |
class PolicyByMass :ForceSubstractionPolicy{ |
| 376 |
> |
class PolicyByMass : public ForceSubtractionPolicy{ |
| 377 |
|
public: |
| 378 |
< |
PolicyByMass(ZConstraint<T>* integrator) :ForceSubstractionPolicy(integrator) {} |
| 378 |
> |
PolicyByMass(ZConstraint<T>* integrator) :ForceSubtractionPolicy(integrator) {} |
| 379 |
|
|
| 380 |
|
virtual void update(); |
| 381 |
|
virtual double getZFOfFixedZMols(Molecule* mol, Atom* atom, double totalForce) ; |
| 467 |
|
double calcSysCOMVel(); |
| 468 |
|
double calcTotalForce(); |
| 469 |
|
|
| 470 |
< |
ForceSubstractionPolicy* forcePolicy; //force substration policy |
| 471 |
< |
friend class ForceSubstractionPolicy; |
| 470 |
> |
ForceSubtractionPolicy* forcePolicy; //force substration policy |
| 471 |
> |
friend class ForceSubtractionPolicy; |
| 472 |
|
|
| 473 |
|
}; |
| 474 |
|
|