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.
apply_chimera_process_fractional_step.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 //
8 // License: BSD License
9 // Kratos default license: kratos/license.txt
10 //
11 // Authors: Aditya Ghantasala, https://github.com/adityaghantasala
12 // Navaneeth K Narayanan
13 // Rishith Ellath Meethal
14 //
15 #if !defined(KRATOS_APPLY_CHIMERA_FRACTIONALSTEP_H_INCLUDED)
16 #define KRATOS_APPLY_CHIMERA_FRACTIONALSTEP_H_INCLUDED
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
23 
24 // Application includes
25 #include "apply_chimera_process.h"
26 
27 namespace Kratos {
28 
31 
35 
39 
43 
47 
57 template <int TDim>
58 class KRATOS_API(CHIMERA_APPLICATION) ApplyChimeraProcessFractionalStep
59  : public ApplyChimera<TDim> {
60 public:
63 
74 
78  ApplyChimeraProcessFractionalStep(ModelPart& rMainModelPart, Parameters iParameters);
79 
82 
83  virtual void ExecuteFinalizeSolutionStep() override;
84 
88 
92 
93  std::string Info() const override;
94 
96  void PrintInfo(std::ostream& rOStream) const override;
97 
99  void PrintData(std::ostream& rOStream) const override;
100 
104 
106 
107 protected:
110 
114 
118 
122 
131  void ApplyContinuityWithMpcs(ModelPart& rBoundaryModelPart,
132  PointLocatorType& rBinLocator) override;
133 
137 
141 
145 
147 
148 private:
151 
155 
159 
163 
167 
171 
175 
178 
180 
181 }; // Class ApplyChimeraProcessFractionalStep
182 
183 } // namespace Kratos.
184 
185 #endif // KRATOS_APPLY_CHIMERA_FRACTIONALSTEP_H_INCLUDED
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteFinalizeSolutionStep() override
this function will be executed at every time step AFTER performing the solve phase
Definition: periodic_interface_process.hpp:55
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
This class contains methods applies the continuity between the patch and background using linear mast...
Definition: apply_chimera_process.h:69
ModelPart::MasterSlaveConstraintContainerType MasterSlaveConstraintContainerType
Definition: apply_chimera_process.h:81
std::vector< IndexType > ConstraintIdsVectorType
Definition: apply_chimera_process.h:79
PointLocatorType::Pointer PointLocatorPointerType
Definition: apply_chimera_process.h:84
std::vector< MasterSlaveConstraintContainerType > MasterSlaveContainerVectorType
Definition: apply_chimera_process.h:82
This class extends ApplyChimera base class and overwrites the function ApplyContinuityWithMpcs to use...
Definition: apply_chimera_process_fractional_step.h:59
~ApplyChimeraProcessFractionalStep()=default
Destructor.
BaseType::MasterSlaveContainerVectorType MasterSlaveContainerVectorType
Definition: apply_chimera_process_fractional_step.h:72
BaseType::ConstraintIdsVectorType ConstraintIdsVectorType
Definition: apply_chimera_process_fractional_step.h:73
ApplyChimera< TDim > BaseType
Definition: apply_chimera_process_fractional_step.h:68
KRATOS_CLASS_POINTER_DEFINITION(ApplyChimeraProcessFractionalStep)
BaseType::MasterSlaveConstraintContainerType MasterSlaveConstraintContainerType
Definition: apply_chimera_process_fractional_step.h:69
BaseType::PointLocatorPointerType PointLocatorPointerType
Definition: apply_chimera_process_fractional_step.h:71
BaseType::PointLocatorType PointLocatorType
Definition: apply_chimera_process_fractional_step.h:70
This class is designed to allow the fast location of MANY points on the top of a 3D mesh.
Definition: binbased_fast_point_locator.h:68
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
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21