QNANO
Strain_Tensor_List.h
1 #ifndef QNANO_NEW_STRAIN_TENSOR_CALCULATOR_DEFINED_H
2 #define QNANO_NEW_STRAIN_TENSOR_CALCULATOR_DEFINED_H
3 
4 #include "tools/Tensor2.h"
5 #include "structure/Sample.h"
6 
15 class Strain_Tensor_List: public List_Class<Tensor2d>{
16 public:
17 
18  Atom_List atlist_welldefined;
19  virtual void resize(size_t i){
20  list.resize(i);
21  atlist_welldefined.resize(i);
22  }
23  virtual void push_back(const Tensor2d &value, const Atom &atom=Atom() ) {
24  list.push_back(value);
25  atlist_welldefined.push_back(atom);
26  }
27  virtual void clear(){
28  list.clear();
29  atlist_welldefined.clear();
30  }
31  virtual void reserve(size_t i){
32  list.reserve(i);
33  atlist_welldefined.reserve(i);
34  }
35 
36 
37 
38 
39  void invert3by3(Tensor2d &R0, Tensor2d &invR0)const;
40  void setup(const Sample &sample);
41  void setup(Parameter_Map &param_map){
42  Sample sample(param_map);
43  setup(sample);
44  }
47  setup(param_map);
48  }
49  Strain_Tensor_List(const Sample &sample){
50  setup(sample);
51  }
52 
53 };
54 
55 #endif
Definition: Parameter_Map.h:12
Definition: Atom_List.h:9
Definition: List_Class.h:8
Definition: Atom.h:6
Class to store a rank-2 (complex) tensor, i.e., a matrix:
Definition: Tensor2.h:10
Definition: Strain_Tensor_List.h:15
Definition: Sample.h:9