NLMech  0.1.0
model.h
1 // Copyright (c) 2019 Prashant K. Jha
3 // Copyright (c) 2019 Patrick Diehl
4 //
5 // Distributed under the Boost Software License, Version 1.0. (See accompanying
6 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 
9 #ifndef MODEL_MODEL_H
10 #define MODEL_MODEL_H
11 
12 #include "util/matrix.h" // definition of SymMatrix3
13 #include "util/point.h" // definition of Point3
14 #include <vector>
15 #include <atomic>
16 
33 namespace model {
34 
37 class Model {
38 
39 public:
41  Model();
42 
43 protected:
68  std::vector<double> d_thetaX;
69 
74  std::vector<double> d_mX;
75 
77  size_t d_n;
78 
80  double d_time;
81 
97  std::vector<util::SymMatrix3> d_strain;
98 
100  std::vector<util::SymMatrix3> d_stress;
101 
103  float d_te;
104 
106  float d_tw;
107 
109  float d_tk;
110 
112  float d_teF;
113 
115  float d_teFB;
116 
118 };
119 
120 } // namespace model
121 
122 #endif // MODEL_MODEL_H
A base class for different model implementation.
Definition: model.h:37
std::vector< util::SymMatrix3 > d_stress
Stress of the nodes.
Definition: model.h:100
float d_te
Total internal energy.
Definition: model.h:103
double d_time
Current time.
Definition: model.h:80
std::vector< util::SymMatrix3 > d_strain
Strains of the nodes.
Definition: model.h:97
std::vector< double > d_thetaX
Dilation.
Definition: model.h:68
float d_tw
Total work done.
Definition: model.h:106
Model()
Constructor.
Definition: model.cpp:11
size_t d_n
Current time step.
Definition: model.h:77
float d_teFB
Total bond-based fracture energy.
Definition: model.h:115
float d_teF
Total fracture energy.
Definition: model.h:112
float d_tk
Total kinetic energy.
Definition: model.h:109
std::vector< double > d_mX
Weighted volume.
Definition: model.h:74
Collection of Peridynamic models.
Definition: fDModel.h:56