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.
entity_calculation_utils.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // license: OptimizationApplication/license.txt
9 //
10 // Main author: Reza Najian Asl
11 // Suneth Warnakulasuriya
12 //
13 
14 #pragma once
15 
16 // System includes
17 
18 // Project includes
19 #include "geometries/geometry.h"
20 #include "includes/node.h"
22 
23 // Application includes
24 
25 namespace Kratos {
26 
29 
30 class KRATOS_API(OPTIMIZATION_APPLICATION) EntityCalculationUtils {
31 public:
34 
35  using IndexType = std::size_t;
36 
38 
40 
44 
45  static Geometry<Node>::Pointer CreateSolidGeometry(const GeometryType& rSurfaceGeometry);
46 
47  static void CalculateElementGaussPointData(
48  Vector& rGaussWeights,
49  Matrix& rShapeFunctionValues,
50  const GeometryType& rGeometry,
51  const IntegrationMethodType& rIntegrationMethod);
52 
53  template<class TMatrixType>
54  static void CalculateSurfaceElementShapeDerivatives(
55  TMatrixType& rOutput,
56  GeometryType& rSolidGeometry,
57  const GeometryType& rSurfaceGeometry,
58  const IntegrationMethodType& rIntegrationMethod,
59  const IndexType PointNumber);
60 
62 };
63 
65 } // namespace Kratos
Definition: entity_calculation_utils.h:30
std::size_t IndexType
Definition: entity_calculation_utils.h:35
IntegrationMethod
Definition: geometry_data.h:76
Geometry base class.
Definition: geometry.h:71
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21