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.
force_and_torque_utils.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: Máté Kelemen
11 //
12 
13 #ifndef KRATOS_FORCE_AND_TORQUE_UTILS
14 #define KRATOS_FORCE_AND_TORQUE_UTILS
15 
16 /* System includes */
17 
18 /* External includes */
19 
20 /* Project includes */
21 #include "includes/define.h"
22 #include "includes/model_part.h"
23 
24 namespace Kratos
25 {
28 
32 class KRATOS_API(KRATOS_CORE) ForceAndTorqueUtils
33 {
34 public:
37 
43  static array_1d<double,3> SumForce(
44  const ModelPart& rModelPart,
45  const Variable<array_1d<double,3>>& rForceVariable);
46 
52  static std::array<array_1d<double,3>,2> SumForceAndTorque(
53  const ModelPart& rModelPart,
54  const Variable<array_1d<double,3>>& rForceVariable,
55  const Variable<array_1d<double,3>>& rTorqueVariable);
56 
63  static std::array<array_1d<double,3>,2> ComputeEquivalentForceAndTorque(
64  const ModelPart& rModelPart,
65  const array_1d<double,3>& rReferencePoint,
66  const Variable<array_1d<double,3>>& rForceVariable,
67  const Variable<array_1d<double,3>>& rTorqueVariable);
68 
70 }; /* class ForceAndTorqueUtils */
71 
73 } /* namespace Kratos */
74 
75 #endif /* KRATOS_FORCE_AND_TORQUE_UTILS defined */
Definition: force_and_torque_utils.h:33
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21