113 : mpVariableData(rOther.mpVariableData),
114 mpIntVariables(rOther.mpIntVariables),
115 mpUnsignedIntVariables(rOther.mpUnsignedIntVariables),
116 mpDoubleVariables(rOther.mpDoubleVariables),
117 mpArray1DVariables(rOther.mpArray1DVariables),
118 mpArray1D4Variables(rOther.mpArray1D4Variables),
119 mpArray1D6Variables(rOther.mpArray1D6Variables),
120 mpArray1D9Variables(rOther.mpArray1D9Variables),
121 mpVectorVariables(rOther.mpVectorVariables),
122 mpMatrixVariables(rOther.mpMatrixVariables),
123 mpGeometries(rOther.mpGeometries),
124 mpElements(rOther.mpElements),
125 mpConditions(rOther.mpConditions),
126 mpMasterSlaveConstraints(rOther.mpMasterSlaveConstraints),
127 mpModelers(rOther.mpModelers) {}
138 RegisterKratosCore();
141 void RegisterKratosCore();
144 void RegisterVariables();
146 void RegisterCFDVariables();
147 void RegisterALEVariables();
149 void RegisterDEMVariables();
150 void RegisterFSIVariables();
151 void RegisterMATVariables();
152 void RegisterGlobalPointerVariables();
154 const std::string&
Name()
const {
return mApplicationName; }
164 return *mpIntVariables;
169 return *mpUnsignedIntVariables;
174 return *mpDoubleVariables;
179 return *mpArray1DVariables;
184 return *mpArray1D4Variables;
189 return *mpArray1D6Variables;
194 return *mpArray1D9Variables;
199 return *mpQuaternionVariables;
204 return *mpVectorVariables;
209 return *mpMatrixVariables;
213 return *mpVariableData;
217 return *mpGeometries;
225 return *mpConditions;
229 return *mpMasterSlaveConstraints;
238 VariableDataComponents)
241 for (
auto it = mpVariableData->begin(); it != mpVariableData->end(); it++) {
242 std::string
const& r_variable_name = it->second->Name();
243 auto it_variable = VariableDataComponents.find(r_variable_name);
244 KRATOS_ERROR_IF(it_variable == VariableDataComponents.end()) <<
"This variable is not registered in Kernel : " << *(it_variable->second) << std::endl;
250 mpGeometries->insert(GeometryComponents.begin(), GeometryComponents.end());
258 mpElements->insert(ElementComponents.begin(), ElementComponents.end());
262 MasterSlaveConstraintComponents)
265 mpMasterSlaveConstraints->insert(MasterSlaveConstraintComponents.begin(), MasterSlaveConstraintComponents.end());
270 mpModelers->insert(ModelerComponents.begin(), ModelerComponents.end());
278 mpConditions->insert(
279 ConditionComponents.begin(), ConditionComponents.end());
283 return *mpRegisteredObjects;
287 return *mpRegisteredObjectsName;
304 virtual std::string
Info()
const
307 return "KratosApplication";
323 rOStream <<
"Variables:" << std::endl;
327 rOStream << std::endl;
329 rOStream <<
"Geometries:" << std::endl;
333 rOStream <<
"Elements:" << std::endl;
337 rOStream << std::endl;
339 rOStream <<
"Conditions:" << std::endl;
343 rOStream << std::endl;
345 rOStream <<
"MasterSlaveConstraints:" << std::endl;
349 rOStream << std::endl;
351 rOStream <<
"Modelers:" << std::endl;
491 #if USE_TRIANGLE_NONFREE_TPL
492 const CadTessellationModeler mCadTessellationModeler;
646 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Short class definition.
Definition: cad_io_modeler.h:36
This modeler combines several model parts into a new one. All input model parts should share the same...
Definition: combine_model_part_modeler.h:42
Definition: constitutive_law.h:47
Geometry base class.
Definition: geometry.h:71
Definition: geometry_shape_function_container.h:60
A twenty node hexahedra geometry with serendipity shape functions.
Definition: hexahedra_3d_20.h:51
A twenty-seven node hexahedra geometry with second order shape functions.
Definition: hexahedra_3d_27.h:53
An eight node hexahedra geometry with linear shape functions.
Definition: hexahedra_3d_8.h:55
Short class definition.
Definition: integration_point.h:52
This class defines the interface with kernel for all applications in Kratos.
Definition: kratos_application.h:91
const MeshElement mElement3D5N
Definition: kratos_application.h:468
KratosComponents< Variable< unsigned int > >::ComponentsContainerType * mpUnsignedIntVariables
Definition: kratos_application.h:505
const MeshCondition mLineCondition2D3N
Definition: kratos_application.h:430
const MeshElement mElement3D4N
Definition: kratos_application.h:467
void SetComponents(KratosComponents< Condition >::ComponentsContainerType const &ConditionComponents)
Definition: kratos_application.h:273
virtual ~KratosApplication()
Destructor.
Definition: kratos_application.h:130
const LinearMasterSlaveConstraint mLinearMasterSlaveConstraint
Definition: kratos_application.h:446
KratosComponents< Condition >::ComponentsContainerType * mpConditions
Definition: kratos_application.h:527
const MeshElement mElement3D8N
Definition: kratos_application.h:470
KratosComponents< MasterSlaveConstraint >::ComponentsContainerType * mpMasterSlaveConstraints
Definition: kratos_application.h:529
void SetComponents(KratosComponents< Modeler >::ComponentsContainerType const &ModelerComponents)
Definition: kratos_application.h:268
const MeshCondition mSurfaceCondition3D9N
Definition: kratos_application.h:438
KratosComponents< Variable< array_1d< double, 4 > > >::ComponentsContainerType * mpArray1D4Variables
Definition: kratos_application.h:511
void SetComponents(KratosComponents< VariableData >::ComponentsContainerType const &VariableDataComponents)
Definition: kratos_application.h:236
virtual void Register()
Definition: kratos_application.h:136
Serializer::RegisteredObjectsNameContainerType & GetRegisteredObjectsName()
Definition: kratos_application.h:286
const DistanceCalculationElementSimplex< 2 > mDistanceCalculationElementSimplex2D3N
Definition: kratos_application.h:477
KratosComponents< Variable< Matrix > >::ComponentsContainerType * mpMatrixVariables
Definition: kratos_application.h:521
KRATOS_CLASS_POINTER_DEFINITION(KratosApplication)
Pointer definition of KratosApplication.
const MeshElement mElement2D8N
Definition: kratos_application.h:461
KratosApplication(KratosApplication const &rOther)
Copy constructor.
Definition: kratos_application.h:112
const MeshElement mElement3D15N
Definition: kratos_application.h:473
KratosComponents< Variable< array_1d< double, 3 > > >::ComponentsContainerType & GetComponents(Variable< array_1d< double, 3 > > const &rComponentType)
Definition: kratos_application.h:178
const LevelSetConvectionElementSimplexAlgebraicStabilization< 3, 4 > mLevelSetConvectionElementSimplexAlgebraicStabilization3D4N
Definition: kratos_application.h:486
KratosComponents< Variable< Vector > >::ComponentsContainerType & GetComponents(Variable< Vector > const &rComponentType)
Definition: kratos_application.h:202
const MeshElement mElement3D2N
Definition: kratos_application.h:465
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: kratos_application.h:312
const MeshElement mElement2D4N
Definition: kratos_application.h:460
const CadIoModeler mCadIoModeler
Definition: kratos_application.h:490
KratosComponents< Geometry< Node > >::ComponentsContainerType * mpGeometries
Definition: kratos_application.h:523
KratosComponents< Modeler >::ComponentsContainerType * mpModelers
Definition: kratos_application.h:531
KratosComponents< Condition >::ComponentsContainerType & GetConditions()
Definition: kratos_application.h:224
KratosComponents< Variable< double > >::ComponentsContainerType * mpDoubleVariables
Definition: kratos_application.h:507
KratosComponents< Modeler >::ComponentsContainerType & GetModelers()
Definition: kratos_application.h:232
KratosComponents< Variable< array_1d< double, 3 > > >::ComponentsContainerType * mpArray1DVariables
Definition: kratos_application.h:509
const MeshElement mElement3D13N
Definition: kratos_application.h:472
const MeshCondition mPointCondition3D1N
Definition: kratos_application.h:427
const CombineModelPartModeler mCombineModelPartModeler
Definition: kratos_application.h:495
const Modeler mModeler
Definition: kratos_application.h:489
const LevelSetConvectionElementSimplex< 2, 3 > mLevelSetConvectionElementSimplex2D3N
Definition: kratos_application.h:483
const MeshElement mElement3D6N
Definition: kratos_application.h:469
KratosComponents< Variable< int > >::ComponentsContainerType & GetComponents(Variable< int > const &rComponentType)
Definition: kratos_application.h:162
const MeshCondition mSurfaceCondition3D3N
Definition: kratos_application.h:434
void SetComponents(KratosComponents< Element >::ComponentsContainerType const &ElementComponents)
Definition: kratos_application.h:253
const MeshElement mElement3D3N
Definition: kratos_application.h:466
const PeriodicCondition mPeriodicConditionEdge
Definition: kratos_application.h:450
const MeshCondition mPrismCondition2D4N
Definition: kratos_application.h:440
const EdgeBasedGradientRecoveryElement< 2 > mEdgeBasedGradientRecoveryElement2D2N
Definition: kratos_application.h:480
void RegisterDeprecatedVariables()
const MeshCondition mSurfaceCondition3D8N
Definition: kratos_application.h:437
const MeshCondition mPointCondition2D1N
Definition: kratos_application.h:426
const LevelSetConvectionElementSimplexAlgebraicStabilization< 2, 3 > mLevelSetConvectionElementSimplexAlgebraicStabilization2D3N
Definition: kratos_application.h:485
KratosComponents< Geometry< Node > >::ComponentsContainerType & GetGeometries()
Definition: kratos_application.h:216
const MeshElement mElement2D1N
Definition: kratos_application.h:456
const MeshElement mElement3D1N
Definition: kratos_application.h:464
KratosComponents< Variable< Matrix > >::ComponentsContainerType & GetComponents(Variable< Matrix > const &rComponentType)
Definition: kratos_application.h:207
virtual std::string Info() const
Turn back information as a string.
Definition: kratos_application.h:304
void SetComponents(KratosComponents< Geometry< Node >>::ComponentsContainerType const &GeometryComponents)
Definition: kratos_application.h:248
const EdgeBasedGradientRecoveryElement< 3 > mEdgeBasedGradientRecoveryElement3D2N
Definition: kratos_application.h:481
KratosComponents< VariableData >::ComponentsContainerType * mpVariableData
Definition: kratos_application.h:501
Serializer::RegisteredObjectsContainerType * mpRegisteredObjects
Definition: kratos_application.h:534
const PeriodicCondition mPeriodicCondition
Definition: kratos_application.h:449
const MasterSlaveConstraint mMasterSlaveConstraint
Definition: kratos_application.h:445
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: kratos_application.h:320
const MeshElement mGenericElement
Definition: kratos_application.h:454
const MeshCondition mGenericCondition
Definition: kratos_application.h:424
const MeshElement mElement3D27N
Definition: kratos_application.h:475
KratosComponents< Element >::ComponentsContainerType & GetElements()
Definition: kratos_application.h:220
const LevelSetConvectionElementSimplex< 3, 4 > mLevelSetConvectionElementSimplex3D4N
Definition: kratos_application.h:484
const PeriodicCondition mPeriodicConditionCorner
Definition: kratos_application.h:451
void SetComponents(KratosComponents< MasterSlaveConstraint >::ComponentsContainerType const &MasterSlaveConstraintComponents)
Definition: kratos_application.h:261
KratosComponents< MasterSlaveConstraint >::ComponentsContainerType & GetMasterSlaveConstraints()
Definition: kratos_application.h:228
KratosComponents< Variable< array_1d< double, 6 > > >::ComponentsContainerType & GetComponents(Variable< array_1d< double, 6 > > const &rComponentType)
Definition: kratos_application.h:188
const MeshCondition mSurfaceCondition3D6N
Definition: kratos_application.h:435
KratosApplication()=delete
void RegisterMappingVariables()
const Point mPointPrototype
Definition: kratos_application.h:373
const MeshElement mElement3D20N
Definition: kratos_application.h:474
KratosComponents< Variable< unsigned int > >::ComponentsContainerType & GetComponents(Variable< unsigned int > const &rComponentType)
Definition: kratos_application.h:168
const ConstitutiveLaw mConstitutiveLaw
Definition: kratos_application.h:498
Serializer::RegisteredObjectsNameContainerType * mpRegisteredObjectsName
Definition: kratos_application.h:536
const MeshElement mElement2D6N
Definition: kratos_application.h:459
const MeshElement mElement2D3N
Definition: kratos_application.h:458
std::string mApplicationName
Definition: kratos_application.h:369
const MeshElement mElement3D10N
Definition: kratos_application.h:471
const SerialModelPartCombinatorModeler mSerialModelPartCombinatorModeler
Definition: kratos_application.h:494
KratosComponents< Variable< int > >::ComponentsContainerType * mpIntVariables
Definition: kratos_application.h:503
Geometry< NodeType > GeometryType
Definition: kratos_application.h:97
const DistanceCalculationElementSimplex< 3 > mDistanceCalculationElementSimplex3D4N
Definition: kratos_application.h:478
const MeshCondition mPrismCondition3D6N
Definition: kratos_application.h:441
KratosComponents< Variable< double > >::ComponentsContainerType & GetComponents(Variable< double > const &rComponentType)
Definition: kratos_application.h:172
const std::string & Name() const
Definition: kratos_application.h:154
KratosComponents< Variable< array_1d< double, 4 > > >::ComponentsContainerType & GetComponents(Variable< array_1d< double, 4 > > const &rComponentType)
Definition: kratos_application.h:183
KratosComponents< Variable< Quaternion< double > > >::ComponentsContainerType * mpQuaternionVariables
Definition: kratos_application.h:517
KratosComponents< Variable< array_1d< double, 6 > > >::ComponentsContainerType * mpArray1D6Variables
Definition: kratos_application.h:513
const MeshCondition mLineCondition2D2N
Definition: kratos_application.h:429
const MeshElement mElement2D9N
Definition: kratos_application.h:462
KratosComponents< Variable< array_1d< double, 9 > > >::ComponentsContainerType * mpArray1D9Variables
Definition: kratos_application.h:515
KratosComponents< Variable< array_1d< double, 9 > > >::ComponentsContainerType & GetComponents(Variable< array_1d< double, 9 > > const &rComponentType)
Definition: kratos_application.h:193
const MeshCondition mSurfaceCondition3D4N
Definition: kratos_application.h:436
KratosComponents< Variable< Quaternion< double > > >::ComponentsContainerType & GetComponents(Variable< Quaternion< double > > const &rComponentType)
Definition: kratos_application.h:198
const MeshCondition mLineCondition3D2N
Definition: kratos_application.h:431
const MeshElement mElement2D2N
Definition: kratos_application.h:457
KratosComponents< Element >::ComponentsContainerType * mpElements
Definition: kratos_application.h:525
Serializer::RegisteredObjectsContainerType & GetRegisteredObjects()
Definition: kratos_application.h:282
KratosComponents< Variable< Vector > >::ComponentsContainerType * mpVectorVariables
Definition: kratos_application.h:519
Node NodeType
Definition: kratos_application.h:96
const MeshCondition mLineCondition3D3N
Definition: kratos_application.h:432
KratosComponents< VariableData >::ComponentsContainerType & GetVariables()
Definition: kratos_application.h:212
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
std::map< std::string, const TComponentType * > ComponentsContainerType
The map type used to store the components // TODO: Replace std::map with faster alternative.
Definition: kratos_components.h:59
An two node 2D line geometry with linear shape functions.
Definition: line_2d_2.h:65
An three node 2D line geometry with quadratic shape functions.
Definition: line_2d_3.h:63
An two node 3D line geometry with linear shape functions.
Definition: line_3d_2.h:64
An three node 3D line geometry with quadratic shape functions.
Definition: line_3d_3.h:66
This class allows to add a master-slave constraint which is of the form SlaveDofVector = T * MasterDo...
Definition: linear_master_slave_constraint.h:58
A class that implements the interface for different master-slave constraints to be applied on a syste...
Definition: master_slave_constraint.h:76
This is pure geometric condition. The only purpose for this definition is to create dummy conditions.
Definition: mesh_condition.h:47
This is pure geometric element. The only purpose for this definition is to create dummy elements.
Definition: mesh_element.h:47
Modeler to interact with ModelParts.
Definition: modeler.h:39
This class defines the node.
Definition: node.h:65
Condition used to assign periodic boundary conditions.
Definition: periodic_condition.h:80
Definition: point_2d.h:53
Definition: point_3d.h:53
Point class.
Definition: point.h:59
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
A fifteen node prism geometry with quadratic shape functions.
Definition: prism_3d_15.h:59
A six node prism geometry with linear shape functions.
Definition: prism_3d_6.h:60
A 13 node pyramid geometry with quadratic shape functions.
Definition: pyramid_3d_13.h:56
A five node pyramid geometry with linear shape functions.
Definition: pyramid_3d_5.h:59
A sinlge quadrature point, that can be used for geometries without a predefined integration scheme,...
Definition: quadrature_point_geometry.h:44
A four node 2D quadrilateral geometry with bi-linear shape functions.
Definition: quadrilateral_2d_4.h:73
A eight node 2D quadrilateral geometry with quadratic shape functions.
Definition: quadrilateral_2d_8.h:49
A nine node 2D quadrilateral geometry with quadratic shape functions.
Definition: quadrilateral_2d_9.h:49
A four node 3D quadrilateral geometry with bi-linear shape functions.
Definition: quadrilateral_3d_4.h:76
A eight node 3D quadrilateral geometry with quadratic shape functions.
Definition: quadrilateral_3d_8.h:49
A nine node 3D quadrilateral geometry with quadratic shape functions.
Definition: quadrilateral_3d_9.h:48
This modeler combines several model parts in serial, reading its respective *.mdpa files (maybe other...
Definition: serial_model_part_combinator_modeler.h:54
std::map< std::string, std::string > RegisteredObjectsNameContainerType
Definition: serializer.h:149
std::map< std::string, ObjectFactoryType > RegisteredObjectsContainerType
Definition: serializer.h:147
Definition: sphere_3d_1.h:56
A ten node tetrahedra geometry with quadratic shape functions.
Definition: tetrahedra_3d_10.h:75
A four node tetrahedra geometry with linear shape functions.
Definition: tetrahedra_3d_4.h:59
A three node 2D triangle geometry with linear shape functions.
Definition: triangle_2d_3.h:74
A six node 2D triangular geometry with quadratic shape functions.
Definition: triangle_2d_6.h:68
A three node 3D triangle geometry with linear shape functions.
Definition: triangle_3d_3.h:77
A six node 3D triangular geometry with quadratic shape functions.
Definition: triangle_3d_6.h:68
#define KRATOS_ERROR_IF(conditional)
Definition: exception.h:162
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
KRATOS_API_EXTERN template class KratosComponents< Condition >
Definition: condition.h:1191
KRATOS_API_EXTERN template class KratosComponents< MasterSlaveConstraint >
Definition: master_slave_constraint.h:636
KRATOS_API_EXTERN template class KratosComponents< Element >
Definition: element.h:1240
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
KRATOS_API_EXTERN template class KratosComponents< Modeler >
Definition: modeler.h:183