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.
project_vector_on_surface_utility.h
Go to the documentation of this file.
1 // KRATOS ___| | | |
2 // \___ \ __| __| | | __| __| | | __| _` | |
3 // | | | | | ( | | | | ( | |
4 // _____/ \__|_| \__,_|\___|\__|\__,_|_| \__,_|_| MECHANICS
5 //
6 // License: BSD License
7 // license: StructuralMechanicsApplication/license.txt
8 //
9 // Main authors: Klaus Sautter
10 // Philipp Bucher
11 //
12 //
13 
14 #pragma once
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "includes/model_part.h"
23 
24 
25 namespace Kratos
26 {
29 
32 
34 
36 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) ProjectVectorOnSurfaceUtility
37 {
38 public:
41 
44 
47 
51 
54 
56  virtual ~ProjectVectorOnSurfaceUtility() = default;
57 
58 
62 
63  static void Execute(ModelPart& rModelPart,Parameters ThisParameters);
64 
66 
67 private:
71 
72  static void PlanarProjection(
73  ModelPart& rModelPart,
74  const Parameters ThisParameters,
75  const Vector3& rGlobalDirection,
76  const ArrayVariableType& rVariable,
77  const int EchoLevel,
78  const bool rCheckLocalSpaceDimension);
79 
80  static void RadialProjection(
81  ModelPart& rModelPart,
82  const Parameters ThisParameters,
83  const Vector3& rGlobalDirection,
84  const ArrayVariableType& rVariable,
85  const int EchoLevel,
86  const bool rCheckLocalSpaceDimension);
87 
88  static void SphericalProjection(
89  ModelPart& rModelPart,
90  const Parameters ThisParameters,
91  const Vector3& rGlobalDirection,
92  const ArrayVariableType& rVariable,
93  const int EchoLevel,
94  const bool rCheckLocalSpaceDimension);
95 
97 
98 }; // Class ProjectVectorOnSurfaceUtility
99 
101 
103 
104 } // namespace Kratos.
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
Short class definition.
Definition: project_vector_on_surface_utility.h:37
array_1d< double, 3 > Vector3
Definition: project_vector_on_surface_utility.h:45
KRATOS_CLASS_POINTER_DEFINITION(ProjectVectorOnSurfaceUtility)
Pointer definition of ProjectVectorOnSurfaceUtility.
ProjectVectorOnSurfaceUtility()=delete
Default constructor, not accessible.
virtual ~ProjectVectorOnSurfaceUtility()=default
Destructor.
Variable< array_1d< double, 3 > > ArrayVariableType
Definition: project_vector_on_surface_utility.h:46
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
static int EchoLevel
Definition: co_sim_EMPIRE_API.h:42
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21