ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/sysbuilder/latticeBuilder.hpp
Revision: 817
Committed: Fri Oct 24 17:36:18 2003 UTC (21 years, 6 months ago) by gezelter
File size: 1382 byte(s)
Log Message:
work on bilayer builder

File Contents

# User Rev Content
1 chuckv 678 #ifndef __LATTICEBUILDER_H__
2     #define __LATTICEBUILDER_H__
3    
4     #define FCC_LATTICE_TYPE 1
5     #define BCC_LATTICE_TYPE 2
6     #define HCP_LATTICE_TYPE 3
7     #define HCPWATER_LATTICE_TYPE 4
8     #define DIAMOND_LATTICE_TYPE 5
9 gezelter 817 #define ORTHORHOMBIC_LATTICE_TYPE 6
10 chuckv 678 #define UNKNOWN_LATTICE_TYPE 0
11    
12     class Lattice{
13    
14     public:
15 chuckv 700 Lattice(int latticeType,double latticeParameter);
16 gezelter 817 Lattice(int latticeType,double latticeParameters[3]);
17 chuckv 678 ~Lattice(void);
18    
19     int getLatticePoints(double** thePosX, double** thePosY,
20     double** thePosZ,
21     int ix, int iy, int iz);
22    
23     int getNpoints(void){return nCellSites;}
24    
25 gezelter 817 void setStartX(double sx) {startX = sx;}
26     void setStartY(double sy) {startY = sy;}
27     void setStartZ(double sz) {startZ = sz;}
28 chuckv 678
29    
30     private:
31    
32    
33     int createFccLattice(double latticeSpacing);
34     int createBccLattice(double latticeSpacing);
35     int createHcpLattice(double latticeSpacing);
36     int createHcpWaterLattice(double latticeSpacing);
37 gezelter 817 int createOrthorhombicLattice(double latticeSpacings[3]);
38 chuckv 678
39     int myLatticeType;
40     double cellLength;
41 gezelter 817 double cellLengthX;
42     double cellLengthY;
43     double cellLengthZ;
44     double startX;
45     double startY;
46     double startZ;
47 chuckv 678 int nCellSites;
48     double* latticePosX;
49     double* latticePosY;
50     double* latticePosZ;
51    
52     struct unitCell{
53     double* sx;
54     double* sy;
55     double* sz;
56     double* s_ex;
57     double* s_ey;
58     double* s_ez;
59     }thisUnitCell;
60    
61    
62     };
63    
64    
65     #endif