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.
csharp_wrapper_application.h
Go to the documentation of this file.
1 // _____ _____ _ __ __ _ _ _ _
2 // / ____|/ ____| | \ \ / / /\ | (_) | | (_)
3 // | | | (___ | |__ __ _ _ __ _ _\ \ /\ / / __ __ _ _ __ _ __ ___ _ __ / \ _ __ _ __ | |_ ___ __ _| |_ _ ___ _ __
4 // | | \___ \| '_ \ / _` | '__| '_ \ \/ \/ / '__/ _` | '_ \| '_ \ / _ \ '__/ /\ \ | '_ \| '_ \| | |/ __/ _` | __| |/ _ \| '_ |
5 // | |____ ____) | | | | (_| | | | |_) \ /\ /| | | (_| | |_) | |_) | __/ | / ____ \| |_) | |_) | | | (_| (_| | |_| | (_) | | | |
6 // \_____|_____/|_| |_|\__,_|_| | .__/ \/ \/ |_| \__,_| .__/| .__/ \___|_|/_/ \_\ .__/| .__/|_|_|\___\__,_|\__|_|\___/|_| |_|
7 // | | | | | | | | | |
8 // |_| |_| |_| |_| |_|
9 //
10 //
11 // License: BSD License
12 // license: CSharpWrapperApplication/license.txt
13 //
14 // Main authors: Hubert Balcerzak
15 // Riccardo Rossi
16 // Vicente Mataix Ferrandiz
17 //
18 
19 #if !defined(KRATOS_CSHARP_WRAPPER_APPLICATION_H_INCLUDED )
20 #define KRATOS_CSHARP_WRAPPER_APPLICATION_H_INCLUDED
21 
22 
23 // System includes
24 #include <string>
25 #include <iostream>
26 
27 // Project includes
28 #include "includes/define.h"
30 
31 // Application includes
33 
34 namespace Kratos
35 {
36 
39 
43 
47 
51 
55 
65 class KRATOS_API(CSHARP_WRAPPER_APPLICATION) KratosCSharpWrapperApplication
66  : public KratosApplication
67 {
68 
69 public:
72 
75 
79 
82 
85 
86 
90 
91 
95 
96  void Register() override;
97 
98 
102 
103 
107 
108 
112 
114  std::string Info() const override
115  {
116  return "KratosCSharpWrapperApplication";
117  }
118 
120  void PrintInfo(std::ostream& rOStream) const override
121  {
122  rOStream << Info();
123  PrintData(rOStream);
124  }
125 
127  void PrintData(std::ostream& rOStream) const override
128  {
129  rOStream << "KratosCSharpWrapperApplication\tNUMBER OF COMPONENTS: " << KratosComponents<VariableData>::GetComponents().size() << std::endl;
130  rOStream << "Variables:" << std::endl;
132  rOStream << std::endl;
133  }
134 
138 
140 
141 protected:
144 
145 
149 
150 
154 
155 
159 
160 
164 
165 
169 
170 
174 
175 
177 
178 private:
181 
185 
189 
190 
194 
195 
199 
200 
204 
205 
209 
212 
215 
216 
218 
219 }; // Class KratosCSharpWrapperApplication
220 
222 
223 
226 
227 
231 
233 
234 
235 } // namespace Kratos.
236 
237 #endif // KRATOS_CSHARP_WRAPPER_APPLICATION_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 defines the interface with kernel for all applications in Kratos.
Definition: kratos_application.h:91
This is a custom application for being able to couple C++ code of Kratos with CSharp.
Definition: csharp_wrapper_application.h:67
std::string Info() const override
Turn back information as a string.
Definition: csharp_wrapper_application.h:114
~KratosCSharpWrapperApplication() override
Destructor.
Definition: csharp_wrapper_application.h:84
KRATOS_CLASS_POINTER_DEFINITION(KratosCSharpWrapperApplication)
Pointer definition of KratosCSharpWrapperApplication.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: csharp_wrapper_application.h:127
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: csharp_wrapper_application.h:120
Definition: kratos_components.h:253
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: kratos_components.h:403
static ComponentsContainerType & GetComponents()
Retrieves the ComponentsContainer.
Definition: kratos_components.h:138
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21