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.
contact_search_wrapper_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"
22 #include "includes/model_part.h"
23 
24 namespace Kratos
25 {
28 
32 
36 
40 
44 
51 class KRATOS_API(CONTACT_STRUCTURAL_MECHANICS_APPLICATION) ContactSearchWrapperProcess
52  : public Process
53 {
54 public:
57 
60 
64 
68 
76  ModelPart& rMainModelPart,
77  Parameters ThisParameters = Parameters(R"({})"),
78  Properties::Pointer pPairedProperties = nullptr
79  );
80 
81  virtual ~ContactSearchWrapperProcess()= default;;
82 
86 
90 
91  void operator()()
92  {
93  Execute();
94  }
95 
99 
103  void Execute() override
104  {
105  mpContactProcess->Execute();
106  }
107 
111  void ExecuteInitialize() override
112  {
113  mpContactProcess->ExecuteInitialize();
114  }
115 
120  {
121  mpContactProcess->ExecuteInitializeSolutionStep();
122  }
123 
128  {
129  mpContactProcess->ExecuteFinalizeSolutionStep();
130  }
131 
135  const Parameters GetDefaultParameters() const override;
136 
140 
144 
148 
149  /************************************ GET INFO *************************************/
150  /***********************************************************************************/
151 
152  std::string Info() const override
153  {
154  return "ContactSearchWrapperProcess";
155  }
156 
157  /************************************ PRINT INFO ***********************************/
158  /***********************************************************************************/
159 
160  void PrintInfo(std::ostream& rOStream) const override
161  {
162  rOStream << Info();
163  }
164 
168 
170 
171 protected:
172 
175 
179 
180  Process::Pointer mpContactProcess = nullptr;
181 
185 
189 
193 
197 
201 
203 
204 private:
207 
211 
215 
219 
223 
227 
231 
233 
234 }; // Class ContactSearchWrapperProcess
235 
237 
240 
241 
245 
246 /****************************** INPUT STREAM FUNCTION ******************************/
247 /***********************************************************************************/
248 
249 inline std::istream& operator >> (std::istream& rIStream,
251 
252 /***************************** OUTPUT STREAM FUNCTION ******************************/
253 /***********************************************************************************/
254 
255 inline std::ostream& operator << (std::ostream& rOStream,
256  const ContactSearchWrapperProcess& rThis)
257 {
258  return rOStream;
259 }
260 
262 
263 } // namespace Kratos.
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
This process is a wrapper for AdvancedContactSearchProcess and SimpleContactSearchProcess.
Definition: contact_search_wrapper_process.h:53
std::string Info() const override
Turn back information as a string.
Definition: contact_search_wrapper_process.h:152
void ExecuteInitializeSolutionStep() override
This function will be executed at every time step BEFORE performing the solve phase.
Definition: contact_search_wrapper_process.h:119
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: contact_search_wrapper_process.h:160
void Execute() override
Execute method is used to execute the Process algorithms.
Definition: contact_search_wrapper_process.h:103
void ExecuteInitialize() override
This function is designed for being called at the beginning of the computations right after reading t...
Definition: contact_search_wrapper_process.h:111
KRATOS_CLASS_POINTER_DEFINITION(ContactSearchWrapperProcess)
Pointer definition of ContactSearchWrapperProcess.
void operator()()
Definition: contact_search_wrapper_process.h:91
virtual ~ContactSearchWrapperProcess()=default
void ExecuteFinalizeSolutionStep() override
This function will be executed at every time step AFTER performing the solve phase.
Definition: contact_search_wrapper_process.h:127
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
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