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.
umat_application.h
Go to the documentation of this file.
1 //------------------------------------------------------------------
2 // _ _ _ .
3 // KRATOS | | | |_ __ __ _| |_ .
4 // | |_| | ' \/ _` | _| .
5 // \___/|_|_|_\__,_|\__| INTERFACE .
6 // .
7 // License:(BSD) UmatApplication/license.txt .
8 // Main authors: LlMonforte, JMCarbonell .
9 // .. .
10 //------------------------------------------------------------------
11 //
12 // Project Name: KratosUmatApplication $
13 // Created by: $Author: JMCarbonell $
14 // Last modified by: $Co-Author: $
15 // Date: $Date: September 2017 $
16 // Revision: $Revision: 0.0 $
17 //
18 //
19 
20 #if !defined(KRATOS_UMAT_APPLICATION_H_INCLUDED )
21 #define KRATOS_UMAT_APPLICATION_H_INCLUDED
22 
23 
24 // System includes
25 #include <string>
26 #include <iostream>
27 
28 
29 // External includes
30 
31 
32 // Project includes
33 #include "includes/define.h"
35 #include "includes/variables.h"
36 
37 // Constitutive models
42 
43 // Core applications
45 
46 namespace Kratos {
47 
50 
54 
58 
62 
66 
68 
71 public:
74 
75 
78 
82 
85 
88 
89 
93 
94 
98 
99  void Register() override;
100 
101 
102 
106 
107 
111 
112 
116 
118  std::string Info() const override {
119  return "KratosUmatApplication";
120  }
121 
123  void PrintInfo(std::ostream& rOStream) const override {
124  rOStream << Info();
125  PrintData(rOStream);
126  }
127 
129  void PrintData(std::ostream& rOStream) const override {
130  KRATOS_WATCH("in UmatApplication");
132  rOStream << "Variables:" << std::endl;
134  rOStream << std::endl;
135  }
136 
137 
141 
142 
144 
145 protected:
148 
149 
153 
154 
158 
159 
163 
164 
168 
169 
173 
174 
178 
179 
181 
182 private:
185 
186  const FabricSmallStrainUmatModel mFabricSmallStrainUmatModel;
187  const VonMisesSmallStrainUmatModel mVonMisesSmallStrainUmatModel;
188  const HypoplasticSmallStrainUmatModel mHypoplasticSmallStrainUmatModel;
189  const VonMisesLargeStrainUmatModel mVonMisesLargeStrainUmatModel;
190 
194 
195 
199 
200 
204 
205 
209 
210 
214 
215 
219 
221  KratosUmatApplication& operator=(KratosUmatApplication const& rOther);
222 
225 
226 
228 
229 }; // Class KratosUmatApplication
230 
232 
233 
236 
237 
241 
243 
244 
245 } // namespace Kratos.
246 
247 #endif // KRATOS_UMAT_APPLICATION_H_INCLUDED defined
Short class definition.
Definition: fabric_umat_small_strain_model.hpp:50
Short class definition.
Definition: hypoplastic_umat_small_strain_model.hpp:50
This class defines the interface with kernel for all applications in Kratos.
Definition: kratos_application.h:91
Definition: kratos_components.h:253
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: kratos_components.h:403
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
Short class definition.
Definition: umat_application.h:70
std::string Info() const override
Turn back information as a string.
Definition: umat_application.h:118
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: umat_application.h:123
void Register() override
Definition: umat_application.cpp:27
KRATOS_CLASS_POINTER_DEFINITION(KratosUmatApplication)
Pointer definition of KratosUmatApplication.
KratosUmatApplication()
Default constructor.
Definition: umat_application.cpp:23
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: umat_application.h:129
virtual ~KratosUmatApplication()
Destructor.
Definition: umat_application.h:87
Short class definition.
Definition: von_mises_umat_large_strain_model.hpp:50
Short class definition.
Definition: von_mises_umat_small_strain_model.hpp:50
#define KRATOS_WATCH(variable)
Definition: define.h:806
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21