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.
iga_application.h
Go to the documentation of this file.
1 // KRATOS _____________
2 // / _/ ____/ |
3 // / // / __/ /| |
4 // _/ // /_/ / ___ |
5 // /___/\____/_/ |_| Application
6 
7 #if !defined(KRATOS_IGA_APPLICATION_H_INCLUDED)
8 #define KRATOS_IGA_APPLICATION_H_INCLUDED
9 
10 // System includes
11 #include <string>
12 #include <iostream>
13 
14 // External includes
15 
16 // Project includes
17 #include "includes/define.h"
19 
20 //elements
27 
28 //conditions
38 
39 //modelers
43 
44 namespace Kratos {
45 
48 
50 
52 class KRATOS_API(IGA_APPLICATION) KratosIgaApplication : public KratosApplication {
53 public:
56 
59 
63 
66 
68  ~KratosIgaApplication() override {}
69 
73 
74  void Register() override;
75 
79 
81  std::string Info() const override
82  {
83  return "KratosIgaApplication";
84  }
85 
87  void PrintInfo(std::ostream& rOStream) const override
88  {
89  rOStream << Info();
90  PrintData(rOStream);
91  }
92 
94  void PrintData(std::ostream& rOStream) const override
95  {
96  KRATOS_WATCH("in my application");
98 
99  rOStream << "Variables:" << std::endl;
101  rOStream << std::endl;
102  rOStream << "Elements:" << std::endl;
103  KratosComponents<Element>().PrintData(rOStream);
104  rOStream << std::endl;
105  rOStream << "Conditions:" << std::endl;
106  KratosComponents<Condition>().PrintData(rOStream);
107  }
108 
110 
111 private:
112 
115 
116  const TrussElement mTrussElement;
117  const TrussEmbeddedEdgeElement mTrussEmbeddedEdgeElement;
118  const IgaMembraneElement mIgaMembraneElement;
119  const Shell3pElement mShell3pElement;
120  const Shell5pHierarchicElement mShell5pHierarchicElement;
121  const Shell5pElement mShell5pElement;
122 
123  //Conditions
124  const OutputCondition mOutputCondition;
125  const LoadCondition mLoadCondition;
126  const LoadMomentDirector5pCondition mLoadMomentDirector5pCondition;
127  const CouplingPenaltyCondition mCouplingPenaltyCondition;
128  const CouplingLagrangeCondition mCouplingLagrangeCondition;
129  const CouplingNitscheCondition mCouplingNitscheCondition;
130  const SupportPenaltyCondition mSupportPenaltyCondition;
131  const SupportLagrangeCondition mSupportLagrangeCondition;
132  const SupportNitscheCondition mSupportNitscheCondition;
133 
134  // Modelers
135  const IgaModeler mIgaModeler;
136  const RefinementModeler mRefinementModeler;
137  const NurbsGeometryModeler mNurbsGeometryModeler;
138 
142 
145 
148 
150 
151 }; // class KratosIgaApplication
152 
154 
155 } // namespace Kratos
156 
157 #endif // !defined(KRATOS_IGA_APPLICATION_H_INCLUDED)
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Lagrange factor based coupling condition.
Definition: coupling_lagrange_condition.h:37
Nitsche factor based coupling condition.
Definition: coupling_nitsche_condition.h:40
Penalty factor based coupling condition.
Definition: coupling_penalty_condition.h:48
Definition: iga_membrane_element.h:26
Short class definition.
Definition: iga_modeler.h:39
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: iga_application.h:52
KRATOS_CLASS_POINTER_DEFINITION(KratosIgaApplication)
Pointer definition of KratosIgaApplication.
void PrintInfo(std::ostream &rOStream) const override
Print Information.
Definition: iga_application.h:87
~KratosIgaApplication() override
Destructor.
Definition: iga_application.h:68
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: iga_application.h:94
std::string Info() const override
Turn back information.
Definition: iga_application.h:81
Condition for basic load types.
Definition: load_condition.h:36
Condition for moment loads for the 5p shell based on directors.
Definition: load_moment_director_5p_condition.h:28
Definition: nurbs_geometry_modeler.h:31
Output condition.
Definition: output_condition.h:31
Short class definition.
Definition: refinement_modeler.h:38
Definition: shell_3p_element.h:26
Definition: shell_5p_element.h:26
Definition: shell_5p_hierarchic_element.h:24
Lagrange Multiplier based support condition.
Definition: support_lagrange_condition.h:36
Nitsche-type based support condition.
Definition: support_nitsche_condition.h:36
Condition for penalty support condition.
Definition: support_penalty_condition.h:29
Definition: truss_element.h:27
Definition: truss_embedded_edge_element.h:26
#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