1 |
#ifndef _LATTICE_H_ |
2 |
#define _LATTICE_H_ |
3 |
#include "applications/BaseLattice.hpp" |
4 |
#include <string> |
5 |
#include <vector> |
6 |
using namespace std; |
7 |
|
8 |
const string FCCLatticeType = "FCC"; |
9 |
const string BCCLatticeType = "BCC"; |
10 |
const string HCPCLatticeType = "HCP"; |
11 |
const string OrthorhombicLatticeType = "ORTHORHOMBIC"; |
12 |
|
13 |
|
14 |
class CubicLattice : public BaseLattice{ |
15 |
protected: |
16 |
CubicLattice(); |
17 |
public: |
18 |
//get lattice constant of unit cell |
19 |
virtual vector<double> getLatticeConstant(); |
20 |
|
21 |
//set lattice constant of unit cell |
22 |
virtual void setLatticeConstant(const vector<double>& lc); |
23 |
protected: |
24 |
double latticeParam; |
25 |
}; |
26 |
|
27 |
|
28 |
class FCCLattice : public CubicLattice{ |
29 |
public: |
30 |
FCCLattice(); |
31 |
virtual const string getLatticeType() {return FCCLatticeType;} |
32 |
virtual void update(); |
33 |
|
34 |
}; |
35 |
|
36 |
/* |
37 |
class BCCLattice : public CubicLattice{ |
38 |
public: |
39 |
BCCLattice(); |
40 |
virtual const string getLatticeType() {return BCCLatticeType;} |
41 |
}; |
42 |
|
43 |
|
44 |
class HCPLattice : public BaseLattice{ |
45 |
public: |
46 |
HCPLattice(); |
47 |
virtual const string getLatticeType() {return HCPCLatticeType;} |
48 |
}; |
49 |
|
50 |
class OrthorhombicLattice : public BaseLattice{ |
51 |
public: |
52 |
OrthorhombicLattice(); |
53 |
virtual const string getLatticeType() {return OrthorhombicLatticeType;} |
54 |
}; |
55 |
*/ |
56 |
|
57 |
|
58 |
#endif |