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.
med_application.h
Go to the documentation of this file.
1 // KRATOS __ __ _ _ _ _ _ _
2 // | \/ | ___ __| | / \ _ __ _ __ | (_) ___ __ _| |_(_) ___ _ ___
3 // | |\/| |/ _ \/ _` | / _ \ | '_ \| '_ \| | |/ __/ _` | __| |/ _ \| '_ |
4 // | | | | __/ (_| |/ ___ \| |_) | |_) | | | (_| (_| | |_| | (_) | | | |
5 // |_| |_|\___|\__,_/_/ \_\ .__/| .__/|_|_|\___\__,_|\__|_|\___/|_| |_|
6 // |_| |_|
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Philipp Bucher (https://github.com/philbucher)
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 
18 // External includes
19 
20 
21 // Project includes
23 
24 
25 namespace Kratos {
26 
29 
33 
37 
41 
45 
46 class KRATOS_API(MED_APPLICATION) KratosMedApplication : public KratosApplication {
47 public:
50 
53 
57 
60 
62  KratosMedApplication(KratosMedApplication const& rOther) = delete;
63 
67 
70 
74 
75  void Register() override;
76 
80 
81 
85 
86 
90 
92  std::string Info() const override
93  {
94  return "KratosMedApplication";
95  }
96 
98  void PrintInfo(std::ostream& rOStream) const override
99  {
100  rOStream << Info();
101  PrintData(rOStream);
102  }
103 
105  void PrintData(std::ostream& rOStream) const override
106  {
107  KRATOS_WATCH("in my application");
109 
110  rOStream << "Variables:" << std::endl;
112  rOStream << std::endl;
113  rOStream << "Elements:" << std::endl;
114  KratosComponents<Element>().PrintData(rOStream);
115  rOStream << std::endl;
116  rOStream << "Conditions:" << std::endl;
117  KratosComponents<Condition>().PrintData(rOStream);
118  }
119 
123 
124 
126 
127 protected:
130 
131 
135 
136 
140 
141 
145 
146 
150 
151 
155 
156 
160 
161 
163 
164 private:
167 
168  // static const ApplicationCondition msApplicationCondition;
169 
173 
177 
178 
182 
183 
187 
188 
192 
193 
195 
196 }; // Class KratosMedApplication
197 
199 
202 
206 
208 
209 } // namespace Kratos.
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
Definition: kratos_components.h:253
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: kratos_components.h:403
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
Definition: med_application.h:46
KRATOS_CLASS_POINTER_DEFINITION(KratosMedApplication)
Pointer definition of KratosMedApplication.
KratosMedApplication & operator=(KratosMedApplication const &rOther)=delete
Assignment operator.
std::string Info() const override
Turn back information as a string.
Definition: med_application.h:92
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: med_application.h:98
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: med_application.h:105
KratosMedApplication(KratosMedApplication const &rOther)=delete
Copy constructor.
#define KRATOS_WATCH(variable)
Definition: define.h:806
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_API_EXTERN template class KratosComponents< Condition >
Definition: condition.h:1191
KRATOS_API_EXTERN template class KratosComponents< Element >
Definition: element.h:1240