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.
fabric_umat_small_strain_model.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosUmatApplication $
3 // Created by: $Author: LMonforte $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: April 2018 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_FABRIC_SMALL_STRAIN_UMAT_MODEL_H_INCLUDED )
11 #define KRATOS_FABRIC_SMALL_STRAIN_UMAT_MODEL_H_INCLUDED
12 
13 // System includes
14 #include <string>
15 #include <iostream>
16 
17 // External includes
18 
19 // Project includes
21 
22 namespace Kratos
23 {
26 
29 
33 
37 
41 
45 
47 
49  class KRATOS_API(CONSTITUTIVE_MODELS_APPLICATION) FabricSmallStrainUmatModel : public SmallStrainUmatModel
50  {
51 
52 
53  public:
54 
57 
60 
64 
67 
70 
72  virtual ConstitutiveModel::Pointer Clone() const override;
73 
76 
78  virtual ~FabricSmallStrainUmatModel();
79 
80 
84 
85 
89 
90 
94 
98 
99  double& GetValue(const Variable<double> & , double& rValue) override;
100 
104 
106  virtual std::string Info() const override
107  {
108  std::stringstream buffer;
109  buffer << "FabricSmallStrainUmatModel";
110  return buffer.str();
111  }
112 
114  virtual void PrintInfo(std::ostream& rOStream) const override
115  {
116  rOStream << "FabricSmallStrainUmatModel";
117  }
118 
120  virtual void PrintData(std::ostream& rOStream) const override
121  {
122  rOStream << "FabricSmallStrainUmatModel Data";
123  }
124 
125 
129 
130 
132 
133  protected:
136 
137 
141 
142 
146 
147 
151 
152  /*
153  Get the dimension of StateVariables
154  */
155 
156  virtual unsigned int GetNumberOfStateVariables() override {
157  return 16;
158  };
159 
160  virtual void InitializeStateVariables( Vector& rStateVariables, const Properties & rMaterialProperties) override;
161 
162  /*
163  Create the vector with constitutive parameters value
164  */
165  virtual void CreateConstitutiveParametersVector(double* & pVector, int & rNumberParameters, const Properties & rMaterialProperties) override;
166  /*
167  Number of the constitutive equation in the fortran wrapper
168  */
169  virtual int GetConstitutiveEquationNumber() override
170  {
171  return 2;
172  }
176 
177 
181 
182 
186 
187 
189 
190  private:
191 
194 
195 
199 
200 
204 
205 
209 
210 
214 
215 
219  friend class Serializer;
220 
221  virtual void save(Serializer& rSerializer) const override
222  {
224  }
225 
226  virtual void load(Serializer& rSerializer) override
227  {
229  }
230 
234 
235 
239 
241 
242  }; // Class FabricSmallStrainUmatModel
243 
245 
248 
249 
253 
255 
257 
258 } // namespace Kratos.
259 
260 #endif // KRATOS_FABRIC_SMALL_STRAIN_UMAT_MODEL_H_INCLUDED defined
261 
262 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: fabric_umat_small_strain_model.hpp:50
virtual std::string Info() const override
Turn back information as a string.
Definition: fabric_umat_small_strain_model.hpp:106
virtual int GetConstitutiveEquationNumber() override
Definition: fabric_umat_small_strain_model.hpp:169
KRATOS_CLASS_POINTER_DEFINITION(FabricSmallStrainUmatModel)
Pointer definition of FabricSmallStrainUmatModel.
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: fabric_umat_small_strain_model.hpp:114
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: fabric_umat_small_strain_model.hpp:120
virtual unsigned int GetNumberOfStateVariables() override
Definition: fabric_umat_small_strain_model.hpp:156
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
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: small_strain_umat_model.hpp:51
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307