ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/utils/sysbuilder/latticeBuilder.hpp
Revision: 1427
Committed: Wed Jul 28 18:42:59 2004 UTC (19 years, 11 months ago) by tim
File size: 1380 byte(s)
Log Message:
SimpleBuilder in progress

File Contents

# User Rev Content
1 gezelter 1334 #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     #define ORTHORHOMBIC_LATTICE_TYPE 6
10     #define UNKNOWN_LATTICE_TYPE 0
11    
12     class Lattice{
13    
14     public:
15     Lattice(int latticeType,double latticeParameter);
16     Lattice(int latticeType,double latticeParameters[3]);
17     ~Lattice(void);
18 tim 1427
19 gezelter 1334 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     void setStartX(double sx) {startX = sx;}
26     void setStartY(double sy) {startY = sy;}
27     void setStartZ(double sz) {startZ = sz;}
28    
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     int createOrthorhombicLattice(double latticeSpacings[3]);
38    
39     int myLatticeType;
40     double cellLength;
41     double cellLengthX;
42     double cellLengthY;
43     double cellLengthZ;
44     double startX;
45     double startY;
46     double startZ;
47     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