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_monolithic.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 
16 #if !defined(KRATOS_APPLY_CHIMERA_MONOLITHIC_H_INCLUDED)
17 #define KRATOS_APPLY_CHIMERA_MONOLITHIC_H_INCLUDED
18 
19 // System includes
20 
21 // External includes
22 
23 // Project includes
24 #include "apply_chimera_process.h"
25 
26 namespace Kratos {
27 
30 
34 
38 
42 
46 
54 template <int TDim>
55 class KRATOS_API(CHIMERA_APPLICATION) ApplyChimeraProcessMonolithic
56  : public ApplyChimera<TDim> {
57 public:
60 
70 
74 
81  explicit ApplyChimeraProcessMonolithic(ModelPart& rMainModelPart, Parameters iParameters);
82 
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, PointLocatorType& rBinLocator) override;
132 
136 
140 
144 
146 
147 private:
150 
154 
158 
162 
166 
170 
174 
177 
179 }; // Class ApplyChimeraProcessMonolithic
180 
181 } // namespace Kratos.
182 
183 #endif // KRATOS_APPLY_CHIMERA_MONOLITHIC_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
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_monolithic.h:56
BaseType::ConstraintIdsVectorType ConstraintIdsVectorType
Definition: apply_chimera_process_monolithic.h:69
BaseType::MasterSlaveConstraintContainerType MasterSlaveConstraintContainerType
Definition: apply_chimera_process_monolithic.h:65
BaseType::PointLocatorPointerType PointLocatorPointerType
Definition: apply_chimera_process_monolithic.h:67
ApplyChimera< TDim > BaseType
Definition: apply_chimera_process_monolithic.h:64
BaseType::MasterSlaveContainerVectorType MasterSlaveContainerVectorType
Definition: apply_chimera_process_monolithic.h:68
BaseType::PointLocatorType PointLocatorType
Definition: apply_chimera_process_monolithic.h:66
~ApplyChimeraProcessMonolithic()=default
Destructor.
KRATOS_CLASS_POINTER_DEFINITION(ApplyChimeraProcessMonolithic)
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