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.
structural_meshmoving_element.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license:
9 // kratos/license.txt
10 //
11 // Main authors: Andreas Winterstein (a.winterstein@tum.de)
12 //
13 
14 #if !defined(KRATOS_STRUCTURAL_MESHMOVING_ELEMENT_INCLUDED)
15 #define KRATOS_STRUCTURAL_MESHMOVING_ELEMENT_INCLUDED
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "includes/element.h"
23 
24 namespace Kratos {
40 
49 public:
54 
55  typedef Element BaseType;
66 
70 
71  StructuralMeshMovingElement(IndexType NewId, GeometryType::Pointer pGeometry);
72 
73  StructuralMeshMovingElement(IndexType NewId, GeometryType::Pointer pGeometry,
74  PropertiesType::Pointer pProperties);
75 
77 
83 
86 
97  BaseType::Pointer Create(IndexType NewId, NodesArrayType const &rThisNodes,
98  PropertiesType::Pointer pProperties) const override;
99 
100  BaseType::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom,
101  PropertiesType::Pointer pProperties) const override;
102 
103  void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix,
104  VectorType &rRightHandSideVector,
105  const ProcessInfo &rCurrentProcessInfo) override;
106 
111  const ProcessInfo &rCurrentProcessInfo) const override;
112 
118  void GetDofList(DofsVectorType &rElementalDofList,
119  const ProcessInfo &rCurrentProcessInfo) const override;
120 
121  void CalculateRightHandSide(VectorType &rRightHandSideVector,
122  const ProcessInfo &rCurrentProcessInfo) override;
123 
124  void GetValuesVector(VectorType &rValues, int Step = 0) const override;
125 
126  int Check(const ProcessInfo& rCurrentProcessInfo) const override;
127 
132 
136 
143 
144 protected:
148 
152 
156 
159 
169 
173 
177 
178 private:
181 
185 
190 
194 
195  // A private default constructor necessary for serialization
197 
198  MatrixType SetAndModifyConstitutiveLaw(const int Dimension,
199  const double PointNumber) const;
200 
201  MatrixType CalculateBMatrix(const int Dimension, const double PointNumber) const;
202 
203  void CheckElementMatrixDimension(MatrixType &rLeftHandSideMatrix,
204  VectorType &rRightHandSideVector) const;
206 
210 
214 
218 
221 
222  friend class Serializer;
223 
224  void save(Serializer& rSerializer) const override
225  {
227  }
228 
229  void load(Serializer& rSerializer) override
230  {
232  }
233 
235 
236 }; // Class StructuralMeshMovingElement
237 
239 
243 }
244 // namespace Kratos.
245 
246 #endif // KRATOS_STRUCTURAL_MESHMOVING_ELEMENT_INCLUDED
Base class for all Elements.
Definition: element.h:60
Vector VectorType
Definition: element.h:88
std::size_t SizeType
Definition: element.h:94
Properties PropertiesType
Definition: element.h:80
std::vector< DofType::Pointer > DofsVectorType
Definition: element.h:100
Geometry< NodeType >::PointsArrayType NodesArrayType
definition of nodes container type, redefined from GeometryType
Definition: element.h:86
Matrix MatrixType
Definition: element.h:90
std::vector< std::size_t > EquationIdVectorType
Definition: element.h:98
std::size_t IndexType
Definition: flags.h:74
std::size_t IndexType
Defines the index type.
Definition: geometrical_object.h:73
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
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
Definition: structural_meshmoving_element.h:48
BaseType::SizeType SizeType
Definition: structural_meshmoving_element.h:60
BaseType::GeometryType GeometryType
Definition: structural_meshmoving_element.h:56
void GetValuesVector(VectorType &rValues, int Step=0) const override
Definition: structural_meshmoving_element.cpp:60
void GetDofList(DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override
Definition: structural_meshmoving_element.cpp:324
BaseType::NodesArrayType NodesArrayType
Definition: structural_meshmoving_element.h:57
BaseType::DofsVectorType DofsVectorType
Definition: structural_meshmoving_element.h:64
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: structural_meshmoving_element.cpp:250
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(StructuralMeshMovingElement)
virtual ~StructuralMeshMovingElement()
Definition: structural_meshmoving_element.h:76
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
Definition: structural_meshmoving_element.cpp:286
Element BaseType
Definition: structural_meshmoving_element.h:55
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: structural_meshmoving_element.cpp:366
BaseType::PropertiesType PropertiesType
Definition: structural_meshmoving_element.h:58
BaseType::MatrixType MatrixType
Definition: structural_meshmoving_element.h:61
BaseType::Pointer Create(IndexType NewId, NodesArrayType const &rThisNodes, PropertiesType::Pointer pProperties) const override
Definition: structural_meshmoving_element.cpp:38
BaseType::VectorType VectorType
Definition: structural_meshmoving_element.h:62
BaseType::IndexType IndexType
Definition: structural_meshmoving_element.h:59
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: structural_meshmoving_element.cpp:356
BaseType::EquationIdVectorType EquationIdVectorType
Definition: structural_meshmoving_element.h:63
GeometryData::IntegrationMethod IntegrationMethod
Definition: structural_meshmoving_element.h:65
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
def load(f)
Definition: ode_solve.py:307