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.
laplacian_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_LAPLACIAN_MESHMOVING_ELEMENT_INCLUDED)
15 #define KRATOS_LAPLACIAN_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;
65 
68 
71  LaplacianMeshMovingElement(IndexType NewId, GeometryType::Pointer pGeometry);
72 
74  LaplacianMeshMovingElement(IndexType NewId, GeometryType::Pointer pGeometry,
75  PropertiesType::Pointer pProperties);
76 
80 
84 
87 
88  BaseType::Pointer Create(IndexType NewId, NodesArrayType const &rThisNodes,
89  PropertiesType::Pointer pProperties) const override;
90 
91  BaseType::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom,
92  PropertiesType::Pointer pProperties) const override;
93 
94  void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix,
95  VectorType &rRightHandSideVector,
96  const ProcessInfo &rCurrentProcessInfo) override;
97 
99  const ProcessInfo &rCurrentProcessInfo) const override;
100 
101  void GetDofList(DofsVectorType &rElementalDofList,
102  const ProcessInfo &rCurrentProcessInfo) const override;
103 
104  void CalculateRightHandSide(VectorType &rRightHandSideVector,
105  const ProcessInfo &rCurrentProcessInfo) override;
106 
107  int Check(const ProcessInfo& rCurrentProcessInfo) const override;
108 
110 
114 
118 
123 
127 
128 protected:
132 
136 
142 
144 
148 
152 
156 
157 private:
161 
165 
169 
172 
173  // A private default constructor necessary for serialization
175 
176  void CalculateDeltaPosition(VectorType &IntermediateDisplacements,
177  const ProcessInfo &rCurrentProcessInfo) const;
178 
179  void CheckElementMatrixDimension(MatrixType &rLeftHandSideMatrix,
180  VectorType &rRightHandSideVector) const;
182 
186 
190 
194 
195 
198 
199  friend class Serializer;
200 
201  void save(Serializer& rSerializer) const override
202  {
204  }
205 
206  void load(Serializer& rSerializer) override
207  {
209  }
210 
212 
213 }; // Class LaplacianMeshMovingElement
214 
216 
220 
223 
225 
226 } // namespace Kratos.
227 
228 #endif // KRATOS_LAPLACIAN_MESHMOVING_ELEMENT_INCLUDED defined
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
Definition: laplacian_meshmoving_element.h:48
void GetDofList(DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override
Definition: laplacian_meshmoving_element.cpp:190
BaseType::MatrixType MatrixType
Definition: laplacian_meshmoving_element.h:61
BaseType::Pointer Create(IndexType NewId, NodesArrayType const &rThisNodes, PropertiesType::Pointer pProperties) const override
It creates a new element pointer.
Definition: laplacian_meshmoving_element.cpp:38
GeometryData::IntegrationMethod IntegrationMethod
Definition: laplacian_meshmoving_element.h:66
BaseType::GeometryType GeometryType
Definition: laplacian_meshmoving_element.h:56
BaseType::SizeType SizeType
Definition: laplacian_meshmoving_element.h:60
BaseType::PropertiesType PropertiesType
Definition: laplacian_meshmoving_element.h:58
virtual ~LaplacianMeshMovingElement()
Destructor.
Definition: laplacian_meshmoving_element.h:78
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
Definition: laplacian_meshmoving_element.cpp:146
BaseType::NodesArrayType NodesArrayType
Definition: laplacian_meshmoving_element.h:57
BaseType::DofsVectorType DofsVectorType
Definition: laplacian_meshmoving_element.h:64
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: laplacian_meshmoving_element.cpp:95
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: laplacian_meshmoving_element.cpp:238
BaseType::IndexType IndexType
Definition: laplacian_meshmoving_element.h:59
BaseType::VectorType VectorType
Definition: laplacian_meshmoving_element.h:62
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: laplacian_meshmoving_element.cpp:228
Element BaseType
Definition: laplacian_meshmoving_element.h:55
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(LaplacianMeshMovingElement)
BaseType::EquationIdVectorType EquationIdVectorType
Definition: laplacian_meshmoving_element.h:63
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
#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