ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/LRI.hpp
Revision: 11
Committed: Tue Jul 9 18:40:59 2002 UTC (22 years ago) by mmeineke
File size: 2365 byte(s)
Log Message:
This commit was generated by cvs2svn to compensate for changes in r10, which
included commits to RCS files with non-trunk default branches.

File Contents

# Content
1 #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