KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
tamagnini_model.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosConstitutiveModelsApplication $
3 // Created by: $Author: LMonforte $
4 // Last modified by: $Co-Author: MCiantia $
5 // Date: $Date: JULY 2017 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_TAMAGNINI_MODEL_H_INCLUDED )
11 #define KRATOS_TAMAGNINI_MODEL_H_INCLUDED
12 
13 // System includes
14 
15 // External includes
16 
17 // Project includes
19 
20 namespace Kratos
21 {
24 
27 
31 
35 
39 
43 
45 
47  class KRATOS_API(CONSTITUTIVE_MODELS_APPLICATION) TamagniniModel : public BorjaModel
48  {
49  public:
50 
53 
56 
60 
62  TamagniniModel();
63 
65  TamagniniModel(TamagniniModel const& rOther);
66 
68  TamagniniModel& operator=(TamagniniModel const& rOther);
69 
71  virtual ConstitutiveModel::Pointer Clone() const override;
72 
73 
75  virtual ~TamagniniModel();
76 
77 
81 
82 
86 
90 
91  void SetValue( const Variable<Vector> & rThisVariable,
92  const Vector & rValue,
93  const ProcessInfo& rCurrentProcessInfo) override;
94 
98 
99 
103 
105  virtual std::string Info() const override
106  {
107  std::stringstream buffer;
108  buffer << "TamagniniModel";
109  return buffer.str();
110  }
111 
113  virtual void PrintInfo(std::ostream& rOStream) const override
114  {
115  rOStream << "TamagniniModel";
116  }
117 
119  virtual void PrintData(std::ostream& rOStream) const override
120  {
121  rOStream << "TamagniniModel Data";
122  }
123 
124 
128 
129 
131 
132  protected:
135 
136 
140 
141 
145 
146 
150 
154  virtual void CalculateAndAddStressTensor(HyperElasticDataType& rVariables, MatrixType& rStressMatrix) override;
155 
159  virtual void CalculateAndAddConstitutiveTensor(HyperElasticDataType& rVariables, Matrix& rConstitutiveMatrix) override;
160 
161 
162  void SetStressState( MatrixType & rHenckyStrain, const double & rE, const double & rNu);
163 
167 
168 
172 
173 
177 
178 
180 
181  private:
182 
185 
186 
187  bool mSetStressState;
188  Vector mInitialStressState;
189 
193 
194 
198 
199 
203 
204 
208 
209 
213  friend class Serializer;
214 
215 
216  virtual void save(Serializer& rSerializer) const override
217  {
219  }
220 
221  virtual void load(Serializer& rSerializer) override
222  {
224  }
225 
229 
230 
234 
236 
237  }; // Class TamagniniModel
238 
240 
243 
244 
248 
249 
251 
253 
254 } // namespace Kratos.
255 
256 #endif // KRATOS_BORJA_MODEL_H_INCLUDED defined
257 
258 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: borja_model.hpp:48
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Short class definition.
Definition: tamagnini_model.hpp:48
virtual std::string Info() const override
Turn back information as a string.
Definition: tamagnini_model.hpp:105
KRATOS_CLASS_POINTER_DEFINITION(TamagniniModel)
Pointer definition of TamagniniModel.
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: tamagnini_model.hpp:113
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: tamagnini_model.hpp:119
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
Matrix MatrixType
Definition: geometrical_transformation_utilities.h:55
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def SetValue(entity, variable, value)
Definition: coupling_interface_data.py:256
def load(f)
Definition: ode_solve.py:307