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