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.
dam_application.h
Go to the documentation of this file.
1 //
2 // Project Name: KratosDamApplication $
3 // Last Modified by: $Author: LGracia $
4 // Date: $Date: March 2016 $
5 // Revision: $Revision: 1.0 $
6 //
7 
8 #if !defined(KRATOS_DAM_APPLICATION_H_INCLUDED )
9 #define KRATOS_DAM_APPLICATION_H_INCLUDED
10 
11 // System includes
12 #include <string>
13 #include <iostream>
14 
15 // Project includes
16 #include "includes/define.h"
18 
19 //Variables
21 
22 //Conditions
23 //~ #include "custom_conditions/added_mass_condition.hpp"
28 
29 //Elements
34 
35 //Constitutive Laws
39 
43 
47 
51 
55 
59 
60 namespace Kratos
61 {
62 
63 class KRATOS_API(DAM_APPLICATION) KratosDamApplication : public KratosApplication
64 {
65 
66 public:
67 
69 
70  // Default constructor
72 
73  // Destructor
75 
76 
77  void Register() override;
78 
79  // Turn back information as a string
80  std::string Info() const override
81  {
82  return "KratosDamApplication";
83  }
84 
85  // Print information about this object
86  void PrintInfo(std::ostream& rOStream) const override
87  {
88  rOStream << Info();
89  PrintData(rOStream);
90  }
91 
92  // Print object's data
93  void PrintData(std::ostream& rOStream) const override
94  {
95  KRATOS_WATCH("in my application");
97  rOStream << "Variables:" << std::endl;
99  rOStream << std::endl;
100  rOStream << "Elements:" << std::endl;
101  KratosComponents<Element>().PrintData(rOStream);
102  rOStream << std::endl;
103  rOStream << "Conditions:" << std::endl;
104  KratosComponents<Condition>().PrintData(rOStream);
105  }
106 
107 private:
108 
109 // Member Variables
110 
111 const WaveEquationElement<2,3> mWaveEquationElement2D3N;
112 const WaveEquationElement<2,4> mWaveEquationElement2D4N;
113 const WaveEquationElement<3,4> mWaveEquationElement3D4N;
114 const WaveEquationElement<3,8> mWaveEquationElement3D8N;
115 
116 const SmallDisplacementInterfaceElement<2,4> mSmallDisplacementInterfaceElement2D4N;
117 const SmallDisplacementInterfaceElement<3,6> mSmallDisplacementInterfaceElement3D6N;
118 const SmallDisplacementInterfaceElement<3,8> mSmallDisplacementInterfaceElement3D8N;
119 
120 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement2D3N;
121 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement2D6N;
122 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement2D4N;
123 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement2D8N;
124 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement2D9N;
125 
126 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement3D4N;
127 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement3D10N;
128 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement3D8N;
129 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement3D20N;
130 const SmallDisplacementThermoMechanicElement mSmallDisplacementThermoMechanicElement3D27N;
131 
132 //small displacement
133 const SmallDisplacementElement mSmallDisplacementElement2D3N;
134 const SmallDisplacementElement mSmallDisplacementElement2D4N;
135 const SmallDisplacementElement mSmallDisplacementElement2D6N;
136 const SmallDisplacementElement mSmallDisplacementElement2D8N;
137 const SmallDisplacementElement mSmallDisplacementElement2D9N;
138 
139 const SmallDisplacementElement mSmallDisplacementElement3D4N;
140 const SmallDisplacementElement mSmallDisplacementElement3D6N;
141 const SmallDisplacementElement mSmallDisplacementElement3D8N;
142 const SmallDisplacementElement mSmallDisplacementElement3D10N;
143 const SmallDisplacementElement mSmallDisplacementElement3D15N;
144 const SmallDisplacementElement mSmallDisplacementElement3D20N;
145 const SmallDisplacementElement mSmallDisplacementElement3D27N;
146 
147 const FreeSurfaceCondition<2,2> mFreeSurfaceCondition2D2N;
148 const FreeSurfaceCondition<3,3> mFreeSurfaceCondition3D3N;
149 const FreeSurfaceCondition<3,4> mFreeSurfaceCondition3D4N;
150 
151 const InfiniteDomainCondition<2,2> mInfiniteDomainCondition2D2N;
152 const InfiniteDomainCondition<3,3> mInfiniteDomainCondition3D3N;
153 const InfiniteDomainCondition<3,4> mInfiniteDomainCondition3D4N;
154 
155 const UPCondition<2,2> mUPCondition2D2N;
156 const UPCondition<3,3> mUPCondition3D3N;
157 const UPCondition<3,4> mUPCondition3D4N;
158 
159 const AddedMassCondition<2,2> mAddedMassCondition2D2N;
160 const AddedMassCondition<3,3> mAddedMassCondition3D3N;
161 const AddedMassCondition<3,4> mAddedMassCondition3D4N;
162 
163 const ThermalLinearElastic3DLaw mThermalLinearElastic3DLaw;
164 const ThermalLinearElastic2DPlaneStrain mThermalLinearElastic2DPlaneStrain;
165 const ThermalLinearElastic2DPlaneStress mThermalLinearElastic2DPlaneStress;
166 
167 const LinearElastic3DLawNodal mLinearElastic3DLawNodal;
168 const LinearElastic2DPlaneStrainNodal mLinearElastic2DPlaneStrainNodal;
169 const LinearElastic2DPlaneStressNodal mLinearElastic2DPlaneStressNodal;
170 
171 const ThermalLinearElastic3DLawNodal mThermalLinearElastic3DLawNodal;
172 const ThermalLinearElastic2DPlaneStrainNodal mThermalLinearElastic2DPlaneStrainNodal;
173 const ThermalLinearElastic2DPlaneStressNodal mThermalLinearElastic2DPlaneStressNodal;
174 
175 const ThermalSimoJuLocalDamage3DLaw mThermalSimoJuLocalDamage3DLaw;
176 const ThermalSimoJuLocalDamagePlaneStrain2DLaw mThermalSimoJuLocalDamagePlaneStrain2DLaw;
177 const ThermalSimoJuLocalDamagePlaneStress2DLaw mThermalSimoJuLocalDamagePlaneStress2DLaw;
178 
179 const ThermalSimoJuNonlocalDamage3DLaw mThermalSimoJuNonlocalDamage3DLaw;
180 const ThermalSimoJuNonlocalDamagePlaneStrain2DLaw mThermalSimoJuNonlocalDamagePlaneStrain2DLaw;
181 const ThermalSimoJuNonlocalDamagePlaneStress2DLaw mThermalSimoJuNonlocalDamagePlaneStress2DLaw;
182 
183 const ThermalModifiedMisesNonlocalDamage3DLaw mThermalModifiedMisesNonlocalDamage3DLaw;
184 const ThermalModifiedMisesNonlocalDamagePlaneStrain2DLaw mThermalModifiedMisesNonlocalDamagePlaneStrain2DLaw;
185 const ThermalModifiedMisesNonlocalDamagePlaneStress2DLaw mThermalModifiedMisesNonlocalDamagePlaneStress2DLaw;
186 
187 // Assignment operator.
189 
190 // Copy constructor.
192 
193 }; // Class KratosDamApplication
194 } // namespace Kratos.
195 
196 #endif // KRATOS_DAM_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
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: dam_application.h:64
std::string Info() const override
Turn back information as a string.
Definition: dam_application.h:80
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: dam_application.h:86
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: dam_application.h:93
KRATOS_CLASS_POINTER_DEFINITION(KratosDamApplication)
virtual ~KratosDamApplication()
Definition: dam_application.h:74
Definition: linear_elastic_2D_plane_strain_nodal.hpp:19
Definition: linear_elastic_2D_plane_stress_nodal.hpp:19
Definition: linear_elastic_3D_law_nodal.hpp:21
Small Displacement Element for 3D and 2D geometries.
Definition: small_displacement_element.hpp:47
Definition: small_displacement_thermo_mechanic_element.hpp:29
Definition: thermal_linear_elastic_2D_plane_strain.hpp:19
Definition: thermal_linear_elastic_2D_plane_strain_nodal.hpp:19
Definition: thermal_linear_elastic_2D_plane_stress.hpp:19
Definition: thermal_linear_elastic_2D_plane_stress_nodal.hpp:19
Definition: thermal_linear_elastic_3D_law.hpp:21
Definition: thermal_linear_elastic_3D_law_nodal.hpp:21
Definition: thermal_modified_mises_nonlocal_damage_3D_law.hpp:25
Definition: thermal_modified_mises_nonlocal_damage_plane_strain_2D_law.hpp:25
Definition: thermal_modified_mises_nonlocal_damage_plane_stress_2D_law.hpp:25
Definition: thermal_simo_ju_local_damage_3D_law.hpp:28
Definition: thermal_simo_ju_local_damage_plane_strain_2D_law.hpp:28
Definition: thermal_simo_ju_local_damage_plane_stress_2D_law.hpp:28
Definition: thermal_simo_ju_nonlocal_damage_3D_law.hpp:28
Definition: thermal_simo_ju_nonlocal_damage_plane_strain_2D_law.hpp:28
Definition: thermal_simo_ju_nonlocal_damage_plane_stress_2D_law.hpp:28
#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