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.
kratos_application.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ \.
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Pooyan Dadvand
11 // Riccardo Rossi
12 //
13 
14 #pragma once
15 
16 // System includes
17 #include <string>
18 #include <iostream>
19 
20 // Project includes
21 #include "includes/element.h"
22 #include "includes/condition.h"
27 #include "input_output/logger.h"
28 #include "utilities/quaternion.h"
30 
31 // Geometries definition
33 #include "geometries/line_2d_2.h"
34 #include "geometries/line_2d_3.h"
35 #include "geometries/line_3d_2.h"
36 #include "geometries/line_3d_3.h"
37 #include "geometries/point.h"
38 #include "geometries/point_2d.h"
39 #include "geometries/point_3d.h"
40 #include "geometries/sphere_3d_1.h"
53 #include "geometries/prism_3d_6.h"
54 #include "geometries/prism_3d_15.h"
61 
62 // Elements
63 #include "elements/mesh_element.h"
68 
69 // Conditions
71 
72 // Modelers
73 #include "modeler/modeler.h"
74 #include "modeler/cad_io_modeler.h"
78 
79 namespace Kratos {
82 
91 class KRATOS_API(KRATOS_CORE) KratosApplication {
92  public:
95 
96  typedef Node NodeType;
98 
101 
105 
107  explicit KratosApplication(const std::string& ApplicationName);
108 
109  KratosApplication() = delete;
110 
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) {}
128 
130  virtual ~KratosApplication() {}
131 
135 
136  virtual void Register()
137  {
138  RegisterKratosCore();
139  }
140 
141  void RegisterKratosCore();
142 
144  void RegisterVariables(); // This contains the whole list of common variables in the Kratos Core
145  void RegisterDeprecatedVariables(); //TODO: remove, this variables should not be there
146  void RegisterCFDVariables(); //TODO: move to application
147  void RegisterALEVariables(); //TODO: move to application
148  void RegisterMappingVariables(); //TODO: move to application
149  void RegisterDEMVariables(); //TODO: move to application
150  void RegisterFSIVariables(); //TODO: move to application
151  void RegisterMATVariables(); //TODO: move to application
152  void RegisterGlobalPointerVariables();
153 
154  const std::string& Name() const { return mApplicationName; }
155 
159 
160  // I have to see why the above version is not working for multi thread ...
161  // Anyway its working with these functions.Pooyan.
162  KratosComponents<Variable<int> >::ComponentsContainerType& GetComponents(
163  Variable<int> const& rComponentType) {
164  return *mpIntVariables;
165  }
166 
167  KratosComponents<Variable<unsigned int> >::ComponentsContainerType&
168  GetComponents(Variable<unsigned int> const& rComponentType) {
169  return *mpUnsignedIntVariables;
170  }
171 
173  Variable<double> const& rComponentType) {
174  return *mpDoubleVariables;
175  }
176 
177  KratosComponents<Variable<array_1d<double, 3> > >::ComponentsContainerType&
178  GetComponents(Variable<array_1d<double, 3> > const& rComponentType) {
179  return *mpArray1DVariables;
180  }
181 
182  KratosComponents<Variable<array_1d<double, 4> > >::ComponentsContainerType&
183  GetComponents(Variable<array_1d<double, 4> > const& rComponentType) {
184  return *mpArray1D4Variables;
185  }
186 
187  KratosComponents<Variable<array_1d<double, 6> > >::ComponentsContainerType&
188  GetComponents(Variable<array_1d<double, 6> > const& rComponentType) {
189  return *mpArray1D6Variables;
190  }
191 
192  KratosComponents<Variable<array_1d<double, 9> > >::ComponentsContainerType&
193  GetComponents(Variable<array_1d<double, 9> > const& rComponentType) {
194  return *mpArray1D9Variables;
195  }
196 
197  KratosComponents<Variable<Quaternion<double> > >::ComponentsContainerType&
198  GetComponents(Variable<Quaternion<double> > const& rComponentType) {
199  return *mpQuaternionVariables;
200  }
201 
203  Variable<Vector> const& rComponentType) {
204  return *mpVectorVariables;
205  }
206 
208  Variable<Matrix> const& rComponentType) {
209  return *mpMatrixVariables;
210  }
211 
213  return *mpVariableData;
214  }
215 
216  KratosComponents<Geometry<Node>>::ComponentsContainerType& GetGeometries() {
217  return *mpGeometries;
218  }
219 
221  return *mpElements;
222  }
223 
225  return *mpConditions;
226  }
227 
229  return *mpMasterSlaveConstraints;
230  }
231 
233  return *mpModelers;
234  }
235 
238  VariableDataComponents)
239 
240  {
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;
245  }
246  }
247 
248  void SetComponents(KratosComponents<Geometry<Node>>::ComponentsContainerType const& GeometryComponents)
249  {
250  mpGeometries->insert(GeometryComponents.begin(), GeometryComponents.end());
251  }
252 
254  ElementComponents)
255 
256  {
257  // It's better to make a loop over new components and add them if they are NOT already exist in application. Or make an ERROR for incompatibility between applications.
258  mpElements->insert(ElementComponents.begin(), ElementComponents.end());
259  }
260 
262  MasterSlaveConstraintComponents)
263 
264  {
265  mpMasterSlaveConstraints->insert(MasterSlaveConstraintComponents.begin(), MasterSlaveConstraintComponents.end());
266  }
267 
269  {
270  mpModelers->insert(ModelerComponents.begin(), ModelerComponents.end());
271  }
272 
275  ConditionComponents)
276 
277  {
278  mpConditions->insert(
279  ConditionComponents.begin(), ConditionComponents.end());
280  }
281 
283  return *mpRegisteredObjects;
284  }
285 
287  return *mpRegisteredObjectsName;
288  }
289 
291 
293 
295 
297 
299 
301 
303 
304  virtual std::string Info() const
305 
306  {
307  return "KratosApplication";
308  }
309 
311 
312  virtual void PrintInfo(std::ostream& rOStream) const
313 
314  {
315  rOStream << Info();
316  }
317 
319 
320  virtual void PrintData(std::ostream& rOStream) const
321 
322  {
323  rOStream << "Variables:" << std::endl;
324 
326 
327  rOStream << std::endl;
328 
329  rOStream << "Geometries:" << std::endl;
330 
331  KratosComponents<Geometry<Node>>().PrintData(rOStream);
332 
333  rOStream << "Elements:" << std::endl;
334 
335  KratosComponents<Element>().PrintData(rOStream);
336 
337  rOStream << std::endl;
338 
339  rOStream << "Conditions:" << std::endl;
340 
341  KratosComponents<Condition>().PrintData(rOStream);
342 
343  rOStream << std::endl;
344 
345  rOStream << "MasterSlaveConstraints:" << std::endl;
346 
347  KratosComponents<MasterSlaveConstraint>().PrintData(rOStream);
348 
349  rOStream << std::endl;
350 
351  rOStream << "Modelers:" << std::endl;
352 
353  KratosComponents<Modeler>().PrintData(rOStream);
354  }
355 
359 
361  protected:
364 
368 
369  std::string mApplicationName;
370 
371  // General geometries must be defined
372  //Points:
376  //Sphere
378  //Lines:
383  //Triangles:
388  //Quadrilaterals:
395  //Tetrahedra:
398  //Prisms:
401  //Pyramids:
404  //Hexahedra:
408  //QuadraturePointGeometries:
421 
422  // General conditions must be defined
423  // Generic condition
425  // Point conditions
428  // Line conditions
433  // Surface conditions
439  //prisms
442 
443 
444  // Master-Slave base constraint
447 
448  // Periodic Condition
452 
453  // General elements must be defined
455 
463 
476 
479 
482 
487 
488  // Modeler
491 #if USE_TRIANGLE_NONFREE_TPL
492  const CadTessellationModeler mCadTessellationModeler;
493 #endif
496 
497  // Base constitutive law definition
499 
500  // KratosComponents definition
502 
503  KratosComponents<Variable<int> >::ComponentsContainerType* mpIntVariables;
504 
506 
508 
510 
512 
514 
516 
518 
520 
522 
523  KratosComponents<Geometry<Node>>::ComponentsContainerType* mpGeometries;
524 
526 
528 
530 
532 
533  // Serialization
535 
537 
539 
541 
543 
545 
547 
549 
551 
553 
555 
557 
559 
561 
563 
565 
567 
569 
570  private:
572 
574 
576 
578 
580 
582 
584 
586 
588 
590 
592 
594 
596 
598 
600 
602 
604 
606 
608 
610 
612 
614 
616 
617 }; // Class KratosApplication
618 
620 
622 
624 
626 
628 
630 
632 
633 inline std::istream& operator>>(std::istream& rIStream,
634 
635  KratosApplication& rThis);
636 
638 
639 inline std::ostream& operator<<(std::ostream& rOStream,
640 
641  const KratosApplication& rThis)
642 
643 {
644  rThis.PrintInfo(rOStream);
645 
646  rOStream << std::endl;
647 
648  rThis.PrintData(rOStream);
649 
650  return rOStream;
651 }
652 
654 
655 } // namespace Kratos.
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
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
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