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 (20 years, 8 months ago) by gezelter
File size: 1382 byte(s)
Log Message:
work on bilayer builder

File Contents

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