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.
metis_divide_submodelparts_heterogeneous_input_process.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Daniel Diez
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 
21 // Application includes
23 
24 
25 namespace Kratos {
26 
29 
33 
37 
41 
45 
48 public:
49 
52 
57 
59 
63 
64  MetisDivideSubModelPartsHeterogeneousInputProcess(IO& rIO, Parameters Settings, SizeType NumberOfPartitions, int Dimension = 3, int Verbosity = 0, bool SynchronizeConditions = false)
65  : MetisDivideHeterogeneousInputProcess(rIO, NumberOfPartitions, Dimension, Verbosity, SynchronizeConditions),
66  mSettings(Settings) {}
67 
70  }
71 
75 
79 
83 
87 
91 
93  std::string Info() const override {
94  std::stringstream buffer;
95  buffer << "MetisDivideSubModelPartsHeterogeneousInputProcess" ;
96  return buffer.str();
97 
98  }
99 
101  void PrintInfo(std::ostream& rOStream) const override {
102  rOStream << "MetisDivideSubModelPartsHeterogeneousInputProcess";
103  }
104 
106  void PrintData(std::ostream& rOStream) const override {}
107 
111 
113 
114 protected:
115 
119 
123 
127 
131 
132  void GetNodesPartitions(std::vector<idxtype> &rNodePartition, SizeType &rNumNodes) override;
133 
137 
141 
145 
147 
148 private:
149 
152 
156 
160 
164 
168 
172 
176 
180 
181 }; // Class MetisDivideSubModelPartsHeterogeneousInputProcess
182 
183 
185 
188 
192 
194 
195 } // namespace Kratos.
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
IO provides different implementation of input output procedures which can be used to read and write w...
Definition: io.h:58
Call Metis to divide an heterogeneous mesh, by partitioning its nodal graph.
Definition: metis_divide_heterogeneous_input_process.h:36
IO::SizeType SizeType
Definition: metis_divide_heterogeneous_input_process.h:44
Short class definition.
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:47
MetisDivideSubModelPartsHeterogeneousInputProcess(IO &rIO, Parameters Settings, SizeType NumberOfPartitions, int Dimension=3, int Verbosity=0, bool SynchronizeConditions=false)
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:64
std::string Info() const override
Turn back information as a string.
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:93
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:101
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:106
~MetisDivideSubModelPartsHeterogeneousInputProcess() override
Destructor.
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:69
KRATOS_CLASS_POINTER_DEFINITION(MetisDivideSubModelPartsHeterogeneousInputProcess)
Parameters mSettings
Definition: metis_divide_submodelparts_heterogeneous_input_process.h:118
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