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.
pfem_application.h
Go to the documentation of this file.
1 //--------------------------------------------------------
2 // ___ __ .
3 // KRATOS | _ \/ _|___ _ __ .
4 // | _/ _/ -_) ' \ .
5 // |_| |_| \___|_|_|_| APPLICATION .
6 // .
7 // License:(BSD) PfemApplication/license.txt .
8 // Main authors: Josep Maria Carbonell .
9 // .. .
10 //--------------------------------------------------------
11 //
12 // Project Name: KratosPfemApplication $
13 // Created by: $Author: JMCarbonell $
14 // Last modified by: $Co-Author: $
15 // Date: $Date: February 2016 $
16 // Revision: $Revision: 0.0 $
17 //
18 //
19 
20 #if !defined(KRATOS_PFEM_APPLICATION_H_INCLUDED )
21 #define KRATOS_PFEM_APPLICATION_H_INCLUDED
22 
23 // System includes
24 
25 // External includes
26 
27 // Project includes
28 #include "includes/variables.h"
31 
32 //elements
34 
36 
37 namespace Kratos
38 {
41 
44 
48 
52 
56 
60 
62 
64  class KRATOS_API(PFEM_APPLICATION) KratosPfemApplication : public KratosApplication
65  {
66  public:
67 
68 
71 
74 
78 
81 
84 
88 
92  void Register() override;
93 
103 
105  std::string Info() const override
106  {
107  return "KratosPfemApplication";
108  }
109 
111  void PrintInfo(std::ostream& rOStream) const override
112  {
113  rOStream << Info();
114  PrintData(rOStream);
115  }
116 
118  void PrintData(std::ostream& rOStream) const override
119  {
120  KRATOS_WATCH( "in KratosPfemApplication" )
122  rOStream << "Variables:" << std::endl;
124  rOStream << std::endl;
125  rOStream << "Elements:" << std::endl;
126  KratosComponents<Element>().PrintData(rOStream);
127  rOStream << "Conditions:" << std::endl;
128  KratosComponents<Condition>().PrintData(rOStream);
129  }
130 
135 
136  protected:
158 
159  private:
165 
166  const UpdatedLagrangianSegregatedFluidElement mUpdatedLagrangianSegregatedFluidElement2D3N;
167  const UpdatedLagrangianSegregatedFluidElement mUpdatedLagrangianSegregatedFluidElement3D4N;
168 
184 
187 
190 
192 
193  }; // Class KratosPfemApplication
194 
196 
197 
200 
201 
205 
207 
208 
209 } // namespace Kratos.
210 
211 #endif // KRATOS_PFEM_APPLICATION_H_INCLUDED defined
212 
213 
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
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
Short class definition.
Definition: pfem_application.h:65
std::string Info() const override
Turn back information as a string.
Definition: pfem_application.h:105
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: pfem_application.h:111
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: pfem_application.h:118
KRATOS_CLASS_POINTER_DEFINITION(KratosPfemApplication)
Pointer definition of KratosPfemApplication.
virtual ~KratosPfemApplication()
Destructor.
Definition: pfem_application.h:83
Updated Lagrangian Segregated Fluid Element for 3D and 2D geometries.
Definition: updated_lagrangian_segregated_fluid_element.hpp:46
#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