39 |
|
virtual void constrainB( void ); |
40 |
|
virtual int readyCheck( void ) { return 1; } |
41 |
|
|
42 |
+ |
virtual void resetIntegrator( void ) { } |
43 |
+ |
|
44 |
|
virtual void calcForce( int calcPot, int calcStress ); |
45 |
|
virtual void thermalize(); |
46 |
|
|
107 |
|
|
108 |
|
virtual int readyCheck(); |
109 |
|
|
110 |
+ |
virtual void resetIntegrator( void ); |
111 |
+ |
|
112 |
|
// chi is a propagated degree of freedom. |
113 |
|
|
114 |
|
double chi; |
148 |
|
|
149 |
|
virtual int readyCheck(); |
150 |
|
|
151 |
+ |
virtual void resetIntegrator( void ); |
152 |
+ |
|
153 |
|
// chi and eta are the propagated degrees of freedom |
154 |
|
|
155 |
|
double chi; |
193 |
|
|
194 |
|
virtual int readyCheck(); |
195 |
|
|
196 |
+ |
virtual void resetIntegrator( void ); |
197 |
+ |
|
198 |
|
Molecule* myMolecules; |
199 |
|
Atom** myAtoms; |
200 |
|
|
238 |
|
|
239 |
|
virtual void moveA( void ); |
240 |
|
virtual void moveB( void ); |
241 |
+ |
|
242 |
+ |
virtual void resetIntegrator( void ); |
243 |
|
|
244 |
|
virtual int readyCheck(); |
245 |
|
|
284 |
|
virtual void moveA( void ); |
285 |
|
virtual void moveB( void ); |
286 |
|
|
287 |
+ |
virtual void resetIntegrator( void ); |
288 |
+ |
|
289 |
|
virtual int readyCheck(); |
290 |
|
|
291 |
|
Molecule* myMolecules; |
335 |
|
|
336 |
|
virtual int readyCheck(); |
337 |
|
|
338 |
+ |
virtual void resetIntegrator( void ); |
339 |
+ |
|
340 |
|
// chi and eta are the propagated degrees of freedom |
341 |
|
|
342 |
|
double chi; |
360 |
|
template<typename T> class ZConstraint : public T { |
361 |
|
|
362 |
|
public: |
363 |
< |
class ForceSubstractionPolicy{ |
363 |
> |
class ForceSubtractionPolicy{ |
364 |
|
public: |
365 |
< |
ForceSubstractionPolicy(ZConstraint<T>* integrator) {zconsIntegrator = integrator;} |
365 |
> |
ForceSubtractionPolicy(ZConstraint<T>* integrator) {zconsIntegrator = integrator;} |
366 |
|
|
367 |
|
virtual void update() = 0; |
368 |
|
virtual double getZFOfFixedZMols(Molecule* mol, Atom* atom, double totalForce) = 0; |
374 |
|
ZConstraint<T>* zconsIntegrator;; |
375 |
|
}; |
376 |
|
|
377 |
< |
class PolicyByNumber : ForceSubstractionPolicy{ |
377 |
> |
class PolicyByNumber : public ForceSubtractionPolicy{ |
378 |
> |
|
379 |
|
public: |
380 |
< |
PolicyByNumber(ZConstraint<T>* integrator) :ForceSubstractionPolicy(integrator) {} |
380 |
> |
PolicyByNumber(ZConstraint<T>* integrator) :ForceSubtractionPolicy(integrator) {} |
381 |
|
virtual void update(); |
382 |
|
virtual double getZFOfFixedZMols(Molecule* mol, Atom* atom, double totalForce) ; |
383 |
|
virtual double getZFOfMovingMols(Atom* atom, double totalForce) ; |
388 |
|
int totNumOfMovingAtoms; |
389 |
|
}; |
390 |
|
|
391 |
< |
class PolicyByMass :ForceSubstractionPolicy{ |
391 |
> |
class PolicyByMass : public ForceSubtractionPolicy{ |
392 |
> |
|
393 |
|
public: |
394 |
< |
PolicyByMass(ZConstraint<T>* integrator) :ForceSubstractionPolicy(integrator) {} |
394 |
> |
PolicyByMass(ZConstraint<T>* integrator) :ForceSubtractionPolicy(integrator) {} |
395 |
|
|
396 |
|
virtual void update(); |
397 |
|
virtual double getZFOfFixedZMols(Molecule* mol, Atom* atom, double totalForce) ; |
483 |
|
double calcSysCOMVel(); |
484 |
|
double calcTotalForce(); |
485 |
|
|
486 |
< |
ForceSubstractionPolicy* forcePolicy; //force substration policy |
487 |
< |
friend class ForceSubstractionPolicy; |
486 |
> |
ForceSubtractionPolicy* forcePolicy; //force subtraction policy |
487 |
> |
friend class ForceSubtractionPolicy; |
488 |
|
|
489 |
|
}; |
490 |
|
|