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.
stress_response_definitions.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: Martin Fusseder, https://github.com/MFusseder
10 //
11 
12 #pragma once
13 
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "includes/define.h"
21 #include "includes/element.h"
22 
23 namespace Kratos
24 {
25 
26 enum class TracedStressType
27 {
28  FX,
29  FY,
30  FZ,
31  MX,
32  MY,
33  MZ,
34  FXX,
35  FXY,
36  FXZ,
37  FYX,
38  FYY,
39  FYZ,
40  FZX,
41  FZY,
42  FZZ,
43  MXX,
44  MXY,
45  MXZ,
46  MYX,
47  MYY,
48  MYZ,
49  MZX,
50  MZY,
51  MZZ,
52  PK2,
54 };
55 
56 enum class StressTreatment
57 {
58  Mean,
59  Node,
61 };
62 
63 namespace StressResponseDefinitions
64 {
65 
66  TracedStressType ConvertStringToTracedStressType(const std::string& Str);
67 
68  StressTreatment ConvertStringToStressTreatment(const std::string& Str);
69 
70 } // namespace StressResponseDefinitions.
71 
72 
80 {
81 public:
82 
83  typedef std::size_t IndexType;
84  typedef std::size_t SizeType;
85 
86  static void CalculateStressOnNode(Element& rElement,
87  const TracedStressType rTracedStressType,
88  Vector& rOutput,
89  const ProcessInfo& rCurrentProcessInfo);
90 
91  static void CalculateStressOnGP(Element& rElement,
92  const TracedStressType rTracedStressType,
93  Vector& rOutput,
94  const ProcessInfo& rCurrentProcessInfo);
95 
96 private:
97 
98  static void CalculateStressOnGPLinearTruss(Element& rElement,
99  const TracedStressType rTracedStressType,
100  Vector& rOutput,
101  const ProcessInfo& rCurrentProcessInfo);
102 
103  static void CalculateStressOnGPTruss(Element& rElement,
104  const TracedStressType rTracedStressType,
105  Vector& rOutput,
106  const ProcessInfo& rCurrentProcessInfo);
107 
108  static void CalculateStressOnGPShell(Element& rElement,
109  const TracedStressType rTracedStressType,
110  Vector& rOutput,
111  const ProcessInfo& rCurrentProcessInfo);
112 
113  static void CalculateStressBeam(Element& rElement,
114  const TracedStressType rTracedStressType,
115  std::vector< array_1d<double, 3 > >& rStressVector,
116  const ProcessInfo& rCurrentProcessInfo,
117  int& rDirection);
118 
119  static void CalculateStressOnGPBeam(Element& rElement,
120  const TracedStressType rTracedStressType,
121  Vector& rOutput,
122  const ProcessInfo& rCurrentProcessInfo);
123 
124  static void CalculateStressOnNodeBeam(Element& rElement,
125  const TracedStressType rTracedStressType,
126  Vector& rOutput,
127  const ProcessInfo& rCurrentProcessInfo);
128 
129  static void CalculateStressOnGPSmallDisplacement(Element& rElement,
130  const TracedStressType rTracedStressType,
131  Vector& rOutput,
132  const ProcessInfo& rCurrentProcessInfo);
133 
134 }; // class StressCalculation.
135 
136 } // namespace Kratos.
137 
138 
Base class for all Elements.
Definition: element.h:60
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
StressCalculation.
Definition: stress_response_definitions.h:80
static void CalculateStressOnNode(Element &rElement, const TracedStressType rTracedStressType, Vector &rOutput, const ProcessInfo &rCurrentProcessInfo)
Definition: stress_response_definitions.cpp:95
std::size_t IndexType
Definition: stress_response_definitions.h:83
static void CalculateStressOnGP(Element &rElement, const TracedStressType rTracedStressType, Vector &rOutput, const ProcessInfo &rCurrentProcessInfo)
Definition: stress_response_definitions.cpp:119
std::size_t SizeType
Definition: stress_response_definitions.h:84
TracedStressType ConvertStringToTracedStressType(const std::string &Str)
Definition: stress_response_definitions.cpp:26
StressTreatment ConvertStringToStressTreatment(const std::string &Str)
Definition: stress_response_definitions.cpp:71
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
StressTreatment
Definition: stress_response_definitions.h:57
TracedStressType
Definition: stress_response_definitions.h:27