ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Integrator.hpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Integrator.hpp (file contents):
Revision 658 by tim, Thu Jul 31 15:35:07 2003 UTC vs.
Revision 677 by tim, Mon Aug 11 19:41:36 2003 UTC

# Line 38 | Line 38 | template<typename T = BaseIntegrator> class Integrator
38    virtual void constrainA( void );
39    virtual void constrainB( void );
40    virtual int  readyCheck( void ) { return 1; }
41 +
42 +  virtual void calcForce( int calcPot, int calcStress );  
43 +  virtual void thermalize();
44    
45    void checkConstraints( void );
46    void rotate( int axes1, int axes2, double angle, double j[3],
47                 double A[3][3] );
48 <
46 <
48 >              
49    ForceFields* myFF;
50  
51    SimInfo *info; // all the info we'll ever need
# Line 302 | Line 304 | template<typename T> class ZConstraint : public T { (p
304  
305    ZConstraint( SimInfo *theInfo, ForceFields* the_ff);
306    ~ZConstraint();
307 <
306 <  virtual void integrateStep( int calcPot, int calcStress );
307 <  
308 <  
307 >    
308    void setZConsTime(double time)                  {this->zconsTime = time;}
309    void getZConsTime()                             {return zconsTime;}
310    
# Line 314 | Line 313 | template<typename T> class ZConstraint : public T { (p
313    
314    void setZConsOutput(const char * fileName)      {zconsOutput = fileName;}
315    string getZConsOutput()                         {return zconsOutput;}
316 +  
317 +  virtual void integrate();
318 +  
319  
320   #ifdef IS_MPI
321    virtual void update(); //which is called to indicate the molecules' migration
# Line 321 | Line 323 | template<typename T> class ZConstraint : public T { (p
323  
324   protected:
325  
326 <  double zconsTime;
326 >  enum ZConsState {zcsMoving, zcsFixed};
327 >
328 >
329 >
330 >  virtual void calcForce( int calcPot, int calcStress );
331 >  virtual void thermalize(void);
332    
333 <  void resetZ(void);
333 >  void zeroOutVel();
334 >  void doZconstraintForce();
335 >  bool checkZConsState();
336 >
337 >  bool haveFixedZMols();
338 >  bool haveMovingZMols();
339 >
340 >  double calcZSys();
341 >
342 >  int isZConstraintMol(Molecule* mol);
343 >
344 >
345 >  double zconsTime;
346 >  double ztol;
347    
348    vector<Molecule*> zconsMols;
349    vector<double> massOfZConsMols;
350 +  vector<double> zconsPos;
351 +  vector<double> kz;
352 +  vector<ZConsState> states;
353 +  vector<double> ZPos;
354    
355 +  
356    vector<Molecule*> unconsMols;
357    vector<double> massOfUnconsMols;
358    double totalMassOfUncons;
334
335  vector<double> allRefZ;    
336  vector<double> refZ;
359    
360    vector<int> indexOfAllZConsMols;     //index of All Z-Constraint Molecuels
361 <  int* indexOfZConsMols;               //index of local Z-Constraint Molecules
362 <    
361 >
362 >  int* indexOfZConsMols;                   //index of local Z-Constraint Molecules  
363    double* fz;
364    
365 < private:
365 >  int totNumOfUnconsAtoms;
366  
367 <  int isZConstraintMol(Molecule* mol);
367 >  int whichDirection;                           //constraint direction
368 >  
369 > private:
370 >  
371    string zconsOutput;
372    ZConsWriter* fzOut;
373 +
374 +
375   };
376  
377   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines