1 |
#ifndef _LATTICE_H_ |
2 |
#define _LATTICE_H_ |
3 |
#include "applications/simpleBuilder/BaseLattice.hpp" |
4 |
#include <string> |
5 |
#include <vector> |
6 |
|
7 |
namespace oopse { |
8 |
|
9 |
const std::string FCCLatticeType = "FCC"; |
10 |
const std::string BCCLatticeType = "BCC"; |
11 |
const std::string HCPCLatticeType = "HCP"; |
12 |
const std::string OrthorhombicLatticeType = "ORTHORHOMBIC"; |
13 |
|
14 |
|
15 |
class CubicLattice : public BaseLattice{ |
16 |
protected: |
17 |
CubicLattice(); |
18 |
public: |
19 |
//get lattice constant of unit cell |
20 |
virtual std::vector<double> getLatticeConstant(); |
21 |
|
22 |
//set lattice constant of unit cell |
23 |
virtual void setLatticeConstant(const std::vector<double>& lc); |
24 |
protected: |
25 |
double latticeParam; |
26 |
}; |
27 |
|
28 |
|
29 |
class FCCLattice : public CubicLattice{ |
30 |
public: |
31 |
FCCLattice(); |
32 |
virtual const std::string getLatticeType() {return FCCLatticeType;} |
33 |
virtual void update(); |
34 |
|
35 |
}; |
36 |
|
37 |
} |
38 |
#endif |