ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/LRI.hpp
Revision: 10
Committed: Tue Jul 9 18:40:59 2002 UTC (22 years ago) by mmeineke
Original Path: branches/mmeineke/mdtools/headers/LRI.hpp
File size: 2365 byte(s)
Log Message:
everything you need to make libmdtools

File Contents

# User Rev Content
1 mmeineke 10 #ifndef _LRI_H_
2     #define _LRI_H_
3    
4     #include <stdio.h>
5     #include <fstream>
6    
7     #include "Atom.hpp"
8     #include "AbstractClasses.hpp"
9     #include "SimInfo.hpp"
10    
11     using namespace std;
12    
13     class AllLong : public LRI{
14    
15     public:
16     AllLong( SimInfo* entry_plug );
17     ~AllLong();
18     void calc_forces();
19     double get_potential() {return potentialE;}
20    
21     private:
22    
23     int nPairs; // the number of excluded pairs
24     int* pairI; // the array of excluded pairs
25     int* pairJ;
26     unsigned short int exclude; // boolean on whether there are any excludes
27    
28     int nAtoms; // the number of atoms
29     Atom** atoms; // the array of atom objects
30    
31     double boxX; // periodic boundry conditions
32     double boxY;
33     double boxZ;
34    
35     int nDipoles; // the number of dipoles in the system
36    
37     double rRF; // the reaction field cut off radius
38     double rTaper; // the taper radius of the reaction field
39     double dielectric; // the dielectric constant for the reaction field medium
40    
41     double* Rx; // position vector
42     double* Ry;
43     double* Rz;
44    
45     double* Rx0; // initial position vectors ( for neighbor list )
46     double* Ry0;
47     double* Rz0;
48    
49     double* ux; // unit vector
50     double* uy;
51     double* uz;
52    
53     double* Tx; // torque vector
54     double* Ty;
55     double* Tz;
56    
57     double* Fx; // force vector
58     double* Fy;
59     double* Fz;
60    
61     double* Ex; // reaction field
62     double* Ey;
63     double* Ez;
64    
65     double* Axx; // Rotation matrix
66     double* Axy;
67     double* Axz;
68    
69     double* Ayx;
70     double* Ayy;
71     double* Ayz;
72    
73     double* Azx;
74     double* Azy;
75     double* Azz;
76    
77     double* epslon; // the array of VDW/LJ epslons
78     double* sigma; // the array of VDW/LJ sigmas
79     double* mu; // the magnitude of the dipole moments;
80    
81     double rCut; // the LJ/VDW cutoff radius
82     double rListSmall;// the inner shell radius of the Neighbor List
83     int maxNab; // the max number of ab pairs (used by neighbor list)
84     double rList; // the cut off shell for the neighbor list
85     int* point; // the pointer array of the neighbor list
86     int* list; // the list of neighbors
87     unsigned short int listUpdate; // boolean to update the neighbor list
88    
89     unsigned short int* isDipole; // boolean array for dipoles
90     unsigned short int* isVDW; // boolean array for VDW atoms
91     unsigned short int* isLJ; // boolean array for LJ atoms
92     unsigned short int* isSSD; // boolean array for SSD atoms
93    
94     double potentialE;
95    
96     };
97     #endif