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.
normal_check_process.h
Go to the documentation of this file.
1 // KRATOS ______ __ __ _____ __ __ __
2 // / ____/___ ____ / /_____ ______/ /_/ ___// /________ _______/ /___ ___________ _/ /
3 // / / / __ \/ __ \/ __/ __ `/ ___/ __/\__ \/ __/ ___/ / / / ___/ __/ / / / ___/ __ `/ /
4 // / /___/ /_/ / / / / /_/ /_/ / /__/ /_ ___/ / /_/ / / /_/ / /__/ /_/ /_/ / / / /_/ / /
5 // \____/\____/_/ /_/\__/\__,_/\___/\__//____/\__/_/ \__,_/\___/\__/\__,_/_/ \__,_/_/ MECHANICS
6 //
7 // License: BSD License
8 // license: ContactStructuralMechanicsApplication/license.txt
9 //
10 // Main authors: Vicente Mataix Ferrandiz
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "processes/process.h"
21 #include "includes/model_part.h"
22 
23 namespace Kratos
24 {
27 
31 
35 
39 
43 
50 class KRATOS_API(CONTACT_STRUCTURAL_MECHANICS_APPLICATION) NormalCheckProcess
51  : public Process
52 {
53 public:
56 
58  using PointType = Point;
60 
64 
66  static constexpr double ZeroTolerance = std::numeric_limits<double>::epsilon();
67 
70 
74 
78 
85  ModelPart& rModelPart,
86  Parameters ThisParameters = Parameters(R"({})")
87  ) : mrModelPart(rModelPart),
88  mParameters(ThisParameters)
89  {
90  const Parameters default_parameters = GetDefaultParameters();
91  mParameters.ValidateAndAssignDefaults(default_parameters);
92  }
93 
94  virtual ~NormalCheckProcess()= default;
95 
99 
103 
104  void operator()()
105  {
106  Execute();
107  }
108 
112 
116  void Execute() override;
117 
121  const Parameters GetDefaultParameters() const override;
122 
126 
130 
134 
135  /************************************ GET INFO *************************************/
136  /***********************************************************************************/
137 
138  std::string Info() const override
139  {
140  return "NormalCheckProcess";
141  }
142 
143  /************************************ PRINT INFO ***********************************/
144  /***********************************************************************************/
145 
146  void PrintInfo(std::ostream& rOStream) const override
147  {
148  rOStream << Info();
149  }
150 
154 
156 
157 protected:
158 
161 
165 
168 
172 
176 
180 
184 
188 
190 
191 private:
194 
198 
202 
206 
210 
214 
218 
220 
221 }; // Class NormalCheckProcess
222 
224 
227 
228 
232 
233 /****************************** INPUT STREAM FUNCTION ******************************/
234 /***********************************************************************************/
235 
236 inline std::istream& operator >> (std::istream& rIStream,
237  NormalCheckProcess& rThis);
238 
239 /***************************** OUTPUT STREAM FUNCTION ******************************/
240 /***********************************************************************************/
241 
242 inline std::ostream& operator << (std::ostream& rOStream,
243  const NormalCheckProcess& rThis)
244 {
245  return rOStream;
246 }
247 
249 
250 } // namespace Kratos.
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Geometry base class.
Definition: geometry.h:71
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This process checks the normal.
Definition: normal_check_process.h:52
Parameters mParameters
The model part to be considered.
Definition: normal_check_process.h:167
typename PointType::CoordinatesArrayType CoordinatesArrayType
Definition: normal_check_process.h:59
ModelPart & mrModelPart
Definition: normal_check_process.h:166
NormalCheckProcess(ModelPart &rModelPart, Parameters ThisParameters=Parameters(R"({})"))
The constructor of the normal check process.
Definition: normal_check_process.h:84
std::string Info() const override
Turn back information as a string.
Definition: normal_check_process.h:138
void operator()()
Definition: normal_check_process.h:104
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: normal_check_process.h:146
virtual ~NormalCheckProcess()=default
KRATOS_CLASS_POINTER_DEFINITION(NormalCheckProcess)
Pointer definition of NormalCheckProcess.
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
Point class.
Definition: point.h:59
BaseType CoordinatesArrayType
Definition: point.h:75
The base class for all processes in Kratos.
Definition: process.h:49
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432