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

Comparing trunk/OOPSE/libmdtools/SimInfo.hpp (file contents):
Revision 412 by mmeineke, Wed Mar 26 21:50:33 2003 UTC vs.
Revision 588 by gezelter, Thu Jul 10 17:10:56 2003 UTC

# Line 30 | Line 30 | class SimInfo{ (public)
30    unsigned int n_bends;    // number of bends
31    unsigned int n_torsions; // number of torsions
32    unsigned int n_oriented; // number of of atoms with orientation
33 +  unsigned int ndf;        // number of actual degrees of freedom
34 +  unsigned int ndfRaw;     // number of settable degrees of freedom
35  
36    unsigned int setTemp;   // boolean to set the temperature at each sampleTime
37  
# Line 39 | Line 41 | class SimInfo{ (public)
41    double dielectric;      // the dielectric of the medium for reaction field
42  
43    int n_exclude;  // the # of pairs excluded from long range forces
44 <  Exclude* excludes;       // the pairs themselves
44 >  Exclude** excludes;       // the pairs themselves
45  
46    int nGlobalExcludes;
47    int* globalExcludes; // same as above, but these guys participate in
48                         // no long range forces.
49  
50    int* identArray;     // array of unique identifiers for the atoms
51 +  int* molMembershipArray;  // map of atom numbers onto molecule numbers
52  
53    int n_constraints; // the number of constraints on the system
54  
55    unsigned int n_SRI;   // the number of short range interactions
53  SRI **sr_interactions;// the array of short range force objects
56  
57    double lrPot; // the potential energy from the long range calculations.
58  
59 <  double box_x, box_y, box_z; // the periodic boundry conditions
59 >  double Hmat[3][3];  // the periodic boundry conditions. The Hmat is the
60 >                      // column vectors of the x, y, and z box vectors.
61 >                      //   h1  h2  h3
62 >                      // [ Xx  Yx  Zx ]
63 >                      // [ Xy  Yy  Zy ]
64 >                      // [ Xz  Yz  Zz ]
65 >                      //  
66 >  double HmatInv[3][3];
67 >
68 >  double boxLx, boxLy, boxLz; // the box Lengths
69 >  double boxVol;
70 >  int orthoRhombic;
71 >  
72 >
73 >
74    double rList, rCut; // variables for the neighborlist
75    
76    int usePBC; // whether we use periodic boundry conditions.
# Line 82 | Line 98 | class SimInfo{ (public)
98    
99    char ensemble[100]; // the enesemble of the simulation (NVT, NVE, etc. )
100    char mixingRule[100]; // the mixing rules for Lennard jones/van der walls
101 <  Integrator *the_integrator; // the integrator of the simulation
101 >  BaseIntegrator *the_integrator; // the integrator of the simulation
102  
103    char finalName[300];  // the name of the eor file to be written
104    char sampleName[300]; // the name of the dump file to be written
# Line 103 | Line 119 | class SimInfo{ (public)
119      setFortranBoxSize = fBox;
120    }
121  
122 +  int getNDF();
123 +  int getNDFraw();
124 +
125 +  void setBox( double newBox[3] );
126 +  void setBoxM( double newBox[3][3] );
127 +  void getBoxM( double theBox[3][3] );
128 +  void scaleBox( double scale );
129 +
130 +  void wrapVector( double thePos[3] );
131 +
132 +  void matMul3(double a[3][3], double b[3][3], double out[3][3]);
133 +  void matVecMul3(double m[3][3], double inVec[3], double outVec[3]);
134 +  void invertMat3(double in[3][3], double out[3][3]);
135 +  double matDet3(double m[3][3]);
136 +  
137   private:
138    
139 +  void calcHmatInv( void );
140 +  void calcBoxL();
141 +
142    // private function to initialize the fortran side of the simulation
143    void (*setFsimulation) setFortranSimList;
144  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines