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.
compute_dynamic_factor_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 
47 class KRATOS_API(CONTACT_STRUCTURAL_MECHANICS_APPLICATION) ComputeDynamicFactorProcess
48  : public Process
49 {
50 public:
53 
56 
59 
62 
65 
69 
72  :mrThisModelPart(rThisModelPart)
73  {
74  KRATOS_TRY;
75 
76  KRATOS_CATCH("");
77  }
78 
81  = default;
82 
86 
90 
94 
98 
102 
103  void operator()()
104  {
105  Execute();
106  }
107 
111 
115  void Execute() override;
116 
120 
121 
125 
126 
130 
132  std::string Info() const override
133  {
134  return "ComputeDynamicFactorProcess";
135  }
136 
138  void PrintInfo(std::ostream& rOStream) const override
139  {
140  rOStream << "ComputeDynamicFactorProcess";
141  }
142 
144  void PrintData(std::ostream& rOStream) const override
145  {
146  }
147 
151 
152 
154 
155 protected:
158 
159 
163 
164 
168 
169 
173 
174 
178 
179 
183 
184 
188 
189 
191 
192 private:
195 
196 
200 
201  ModelPart& mrThisModelPart;
202 
206 
210 
217  static inline double ComputeLogisticFactor(
218  const double MaxGapThreshold,
219  const double CurrentGap
220  );
221 
225 
226 
230 
231 
235 
238 
240  //ComputeDynamicFactorProcess(ComputeDynamicFactorProcess const& rOther);
241 
242 
244 
245 }; // Class ComputeDynamicFactorProcess
246 
248 
251 
252 
256 
258 inline std::istream& operator >> (std::istream& rIStream,
260 
262 inline std::ostream& operator << (std::ostream& rOStream,
263  const ComputeDynamicFactorProcess& rThis)
264 {
265  rThis.PrintInfo(rOStream);
266  rOStream << std::endl;
267  rThis.PrintData(rOStream);
268 
269  return rOStream;
270 }
271 
272 }
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
This process is used in order to compute the dynamic factor for dynamic problems.
Definition: compute_dynamic_factor_process.h:49
ModelPart::NodesContainerType NodesArrayType
Nodes array type.
Definition: compute_dynamic_factor_process.h:61
ModelPart::ConditionsContainerType ConditionsArrayType
Conditions array type.
Definition: compute_dynamic_factor_process.h:64
std::string Info() const override
Turn back information as a string.
Definition: compute_dynamic_factor_process.h:132
~ComputeDynamicFactorProcess() override=default
Destructor.
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: compute_dynamic_factor_process.h:138
KRATOS_CLASS_POINTER_DEFINITION(ComputeDynamicFactorProcess)
Pointer definition of ComputeDynamicFactorProcess.
void operator()()
Definition: compute_dynamic_factor_process.h:103
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: compute_dynamic_factor_process.h:144
ComputeDynamicFactorProcess(ModelPart &rThisModelPart)
Default constructor.
Definition: compute_dynamic_factor_process.h:71
Geometry base class.
Definition: geometry.h:71
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType::ConditionsContainerType ConditionsContainerType
Condintions container. A vector set of Conditions with their Id's as key.
Definition: model_part.h:183
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
The base class for all processes in Kratos.
Definition: process.h:49
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
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