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_mechanics_element_utilities.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Philipp Bucher
11 // Vahid Galavi
12 
13 #if !defined( KRATOS_GEO_STRUCTURAL_MECHANICS_ELEMENT_UTILITIES_H_INCLUDED )
14 #define KRATOS_GEO_STRUCTURAL_MECHANICS_ELEMENT_UTILITIES_H_INCLUDED
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "includes/element.h"
22 
23 namespace Kratos {
25 
26 public:
33 static bool ComputeLumpedMassMatrix(
34  const Properties& rProperites,
35  const ProcessInfo& rCurrentProcessInfo);
36 
43 static bool HasRayleighDamping(
44  const Properties& rProperites,
45  const ProcessInfo& rCurrentProcessInfo);
46 
53 static double GetRayleighAlpha(
54  const Properties& rProperites,
55  const ProcessInfo& rCurrentProcessInfo);
56 
63 static double GetRayleighBeta(
64  const Properties& rProperites,
65  const ProcessInfo& rCurrentProcessInfo);
66 
72 static double GetDensityForMassMatrixComputation(const Element& rElement);
73 
82  Element& rElement,
83  Element::MatrixType& rDampingMatrix,
84  const ProcessInfo& rCurrentProcessInfo,
85  const std::size_t MatrixSize);
86 
92 static double CalculateReferenceLength2D2N(const Element& rElement);
93 
99 static double CalculateCurrentLength2D2N(const Element& rElement);
100 
106 static double CalculateReferenceLength3D2N(const Element& rElement);
107 
113 static double CalculateCurrentLength3D2N(const Element& rElement);
114 
115 }; // class StructuralMechanicsElementUtilities.
116 } // namespace Kratos.
117 
118 #endif // KRATOS_GEO_STRUCTURAL_MECHANICS_ELEMENT_UTILITIES_H_INCLUDED defined
Base class for all Elements.
Definition: element.h:60
Definition: structural_mechanics_element_utilities.h:24
static double GetRayleighBeta(const Properties &rProperites, const ProcessInfo &rCurrentProcessInfo)
Method to get the rayleigh-beta parameter.
Definition: structural_mechanics_element_utilities.cpp:75
static double GetRayleighAlpha(const Properties &rProperites, const ProcessInfo &rCurrentProcessInfo)
Method to get the rayleigh-alpha parameter.
Definition: structural_mechanics_element_utilities.cpp:57
static bool ComputeLumpedMassMatrix(const Properties &rProperites, const ProcessInfo &rCurrentProcessInfo)
Method to specify if the lumped or the consistent mass-matrix should be computed.
Definition: structural_mechanics_element_utilities.cpp:24
static void CalculateRayleighDampingMatrix(Element &rElement, Element::MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo, const std::size_t MatrixSize)
Method to calculate the rayleigh damping-matrix.
Definition: structural_mechanics_element_utilities.cpp:114
static double CalculateReferenceLength3D2N(const Element &rElement)
This function calculates the reference length for 3D2N elements.
Definition: structural_mechanics_element_utilities.cpp:192
static double CalculateCurrentLength3D2N(const Element &rElement)
This function calculates the current length for 3D2N elements.
Definition: structural_mechanics_element_utilities.cpp:208
static double GetDensityForMassMatrixComputation(const Element &rElement)
Method to returns the density to be consider for the mass-matrix computation.
Definition: structural_mechanics_element_utilities.cpp:93
static bool HasRayleighDamping(const Properties &rProperites, const ProcessInfo &rCurrentProcessInfo)
Method to specify if rayligh-damping is specified.
Definition: structural_mechanics_element_utilities.cpp:46
static double CalculateCurrentLength2D2N(const Element &rElement)
This function calculates the current length for 2D2N elements.
Definition: structural_mechanics_element_utilities.cpp:168
static double CalculateReferenceLength2D2N(const Element &rElement)
This function calculates the reference length for 2D2N elements.
Definition: structural_mechanics_element_utilities.cpp:151
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21