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.
structural_mechanics_application.h
Go to the documentation of this file.
1 // KRATOS ___| | | |
2 // \___ \ __| __| | | __| __| | | __| _` | |
3 // | | | | | ( | | | | ( | |
4 // _____/ \__|_| \__,_|\___|\__|\__,_|_| \__,_|_| MECHANICS
5 //
6 // License: BSD License
7 // license: StructuralMechanicsApplication/license.txt
8 //
9 // Main authors: Riccardo Rossi
10 // Co-authors: Vicente Mataix Ferrandiz
11 //
12 
13 #pragma once
14 
15 // System includes
16 #include <string>
17 #include <iostream>
18 
19 // External includes
20 
21 // Project includes
22 #include "includes/define.h"
24 
25 /* ELEMENTS */
26 
27 /* 0D elements */
29 
30 /* Mass elements */
32 
33 /* Adding truss element */
37 
38 /* Adding beam element */
43 
44 /* Adding the adjoint elements */
52 
53 /* Adding shells and membranes elements */
60 
61 /* Adding the spring damper element */
63 
64 /* Adding the SPRISM element */
66 
67 /* Adding solid elements */
76 
77 /* Adding the mixed solid elements */
81 
82 /* CONDITIONS */
95 
96 /* Adding the adjoint conditions */
99 
100 /* CONSTITUTIVE LAWS */
103 #include "custom_constitutive/elastic_isotropic_3d.h"
105 #include "custom_constitutive/linear_plane_strain.h"
106 #include "custom_constitutive/linear_plane_stress.h"
108 
109 
110 namespace Kratos
111 {
112 
115 
119 
123 
127 
131 
138 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) KratosStructuralMechanicsApplication : public KratosApplication
139 {
140 public:
143 
144 
147 
151 
154 
157 
158 
162 
166 
167  void Register() override;
168 
172 
176 
180 
182  std::string Info() const override
183  {
184  return "KratosStructuralMechanicsApplication";
185  }
186 
188  void PrintInfo(std::ostream& rOStream) const override
189  {
190  rOStream << Info();
191  PrintData(rOStream);
192  }
193 
195  void PrintData(std::ostream& rOStream) const override
196  {
197  KRATOS_INFO("KratosStructuralMechanicsApplication") << "Has the following number of components: " << KratosComponents<VariableData>::GetComponents().size() << std::endl;
198  rOStream << "Variables:" << std::endl;
200  rOStream << std::endl;
201  rOStream << "Elements:" << std::endl;
202  KratosComponents<Element>().PrintData(rOStream);
203  rOStream << std::endl;
204  rOStream << "Conditions:" << std::endl;
205  KratosComponents<Condition>().PrintData(rOStream);
206  }
207 
211 
213 protected:
216 
220 
224 
228 
232 
236 
240 
242 private:
245 
246 // static const ApplicationCondition msApplicationCondition;
247 
251 
252  /* ELEMENTS */
253 
254  // Adding the truss element
255  const TrussElement3D2N mTrussElement3D2N;
256  const TrussElementLinear3D2N mTrussLinearElement3D2N;
257  const CableElement3D2N mCableElement3D2N;
258 
259  // Adding the beam element
260  const CrBeamElement3D2N mCrBeamElement3D2N;
261  const CrBeamElementLinear3D2N mCrLinearBeamElement3D2N;
262  const CrBeamElement2D2N mCrBeamElement2D2N;
263  const CrBeamElementLinear2D2N mCrLinearBeamElement2D2N;
264 
265 
266  // Adding the shells elements
267  const IsotropicShellElement mIsotropicShellElement3D3N;
268  const ShellThickElement3D4N<ShellKinematics::LINEAR> mShellThickElement3D4N;
269  const ShellThickElement3D4N<ShellKinematics::NONLINEAR_COROTATIONAL> mShellThickCorotationalElement3D4N;
270  const ShellThinElement3D4N<ShellKinematics::NONLINEAR_COROTATIONAL> mShellThinCorotationalElement3D4N;
271  const ShellThinElement3D3N<ShellKinematics::LINEAR> mShellThinElement3D3N;
272  const ShellThinElement3D3N<ShellKinematics::NONLINEAR_COROTATIONAL> mShellThinCorotationalElement3D3N;
273  const ShellThickElement3D3N<ShellKinematics::NONLINEAR_COROTATIONAL> mShellThickCorotationalElement3D3N;
274 
275  // Adding the membrane element
276  const MembraneElement mMembraneElement3D4N;
277  const MembraneElement mMembraneElement3D3N;
278 
279  // Adding the SPRISM element
280  const SolidShellElementSprism3D6N mSolidShellElementSprism3D6N;
281 
282  // Adding the nodal concentrated element
283  const NodalConcentratedElement mNodalConcentratedElement2D1N;
284  const NodalConcentratedElement mNodalConcentratedDampedElement2D1N;
285  const NodalConcentratedElement mNodalConcentratedElement3D1N;
286  const NodalConcentratedElement mNodalConcentratedDampedElement3D1N;
287 
288  // Adding the mass elements
289  const MassElement mLineMassElement3D2N;
290  const MassElement mSurfaceMassElement3D3N;
291  const MassElement mSurfaceMassElement3D4N;
292 
293  // Linear kinematic elements
294  const SmallDisplacement mSmallDisplacement2D3N;
295  const SmallDisplacement mSmallDisplacement2D4N;
296  const SmallDisplacement mSmallDisplacement2D6N;
297  const SmallDisplacement mSmallDisplacement2D8N;
298  const SmallDisplacement mSmallDisplacement2D9N;
299  const SmallDisplacement mSmallDisplacement2D10N;
300  const SmallDisplacement mSmallDisplacement2D15N;
301  const SmallDisplacement mSmallDisplacement3D4N;
302  const SmallDisplacement mSmallDisplacement3D5N;
303  const SmallDisplacement mSmallDisplacement3D6N;
304  const SmallDisplacement mSmallDisplacement3D8N;
305  const SmallDisplacement mSmallDisplacement3D10N;
306  const SmallDisplacement mSmallDisplacement3D13N;
307  const SmallDisplacement mSmallDisplacement3D15N;
308  const SmallDisplacement mSmallDisplacement3D20N;
309  const SmallDisplacement mSmallDisplacement3D27N;
310 
311  const SmallDisplacementBbar mSmallDisplacementBbar2D4N;
312  const SmallDisplacementBbar mSmallDisplacementBbar3D8N;
313 
314  const SmallDisplacementMixedVolumetricStrainElement mSmallDisplacementMixedVolumetricStrainElement2D3N;
315  const SmallDisplacementMixedVolumetricStrainElement mSmallDisplacementMixedVolumetricStrainElement2D4N;
316  const SmallDisplacementMixedVolumetricStrainElement mSmallDisplacementMixedVolumetricStrainElement3D4N;
317  const SmallDisplacementMixedVolumetricStrainElement mSmallDisplacementMixedVolumetricStrainElement3D8N;
318 
319  const TotalLagrangianMixedVolumetricStrainElement<2> mTotalLagrangianMixedVolumetricStrainElement2D3N;
320  const TotalLagrangianMixedVolumetricStrainElement<3> mTotalLagrangianMixedVolumetricStrainElement3D4N;
321 
322  const TotalLagrangianQ1P0MixedElement mTotalLagrangianQ1P0MixedElement2D3N;
323  const TotalLagrangianQ1P0MixedElement mTotalLagrangianQ1P0MixedElement2D4N;
324  const TotalLagrangianQ1P0MixedElement mTotalLagrangianQ1P0MixedElement3D4N;
325  const TotalLagrangianQ1P0MixedElement mTotalLagrangianQ1P0MixedElement3D10N;
326  const TotalLagrangianQ1P0MixedElement mTotalLagrangianQ1P0MixedElement3D8N;
327  const TotalLagrangianQ1P0MixedElement mTotalLagrangianQ1P0MixedElement3D20N;
328 
329  const AxisymSmallDisplacement mAxisymSmallDisplacement2D3N;
330  const AxisymSmallDisplacement mAxisymSmallDisplacement2D4N;
331  const AxisymSmallDisplacement mAxisymSmallDisplacement2D6N;
332  const AxisymSmallDisplacement mAxisymSmallDisplacement2D8N;
333  const AxisymSmallDisplacement mAxisymSmallDisplacement2D9N;
334 
335  const ZStrainDriven2p5DSmallDisplacement mZStrainDriven2p5DSmallDisplacement2D3N;
336  const ZStrainDriven2p5DSmallDisplacement mZStrainDriven2p5DSmallDisplacement2D4N;
337  const ZStrainDriven2p5DSmallDisplacement mZStrainDriven2p5DSmallDisplacement2D6N;
338  const ZStrainDriven2p5DSmallDisplacement mZStrainDriven2p5DSmallDisplacement2D8N;
339  const ZStrainDriven2p5DSmallDisplacement mZStrainDriven2p5DSmallDisplacement2D9N;
340 
341  // Total lagrangian
342  const TotalLagrangian mTotalLagrangian2D3N;
343  const TotalLagrangian mTotalLagrangian2D4N;
344  const TotalLagrangian mTotalLagrangian2D6N;
345  const TotalLagrangian mTotalLagrangian2D8N;
346  const TotalLagrangian mTotalLagrangian2D9N;
347  const TotalLagrangian mTotalLagrangian2D10N;
348  const TotalLagrangian mTotalLagrangian2D15N;
349  const TotalLagrangian mTotalLagrangian3D4N;
350  const TotalLagrangian mTotalLagrangian3D5N;
351  const TotalLagrangian mTotalLagrangian3D6N;
352  const TotalLagrangian mTotalLagrangian3D8N;
353  const TotalLagrangian mTotalLagrangian3D10N;
354  const TotalLagrangian mTotalLagrangian3D13N;
355  const TotalLagrangian mTotalLagrangian3D15N;
356  const TotalLagrangian mTotalLagrangian3D20N;
357  const TotalLagrangian mTotalLagrangian3D27N;
358 
359  const AxisymTotalLagrangian mAxisymTotalLagrangian2D3N;
360  const AxisymTotalLagrangian mAxisymTotalLagrangian2D4N;
361  const AxisymTotalLagrangian mAxisymTotalLagrangian2D6N;
362  const AxisymTotalLagrangian mAxisymTotalLagrangian2D8N;
363  const AxisymTotalLagrangian mAxisymTotalLagrangian2D9N;
364 
365  // Updated lagrangian
366  const UpdatedLagrangian mUpdatedLagrangian2D3N;
367  const UpdatedLagrangian mUpdatedLagrangian2D4N;
368  const UpdatedLagrangian mUpdatedLagrangian2D6N;
369  const UpdatedLagrangian mUpdatedLagrangian2D8N;
370  const UpdatedLagrangian mUpdatedLagrangian2D9N;
371  const UpdatedLagrangian mUpdatedLagrangian2D10N;
372  const UpdatedLagrangian mUpdatedLagrangian2D15N;
373  const UpdatedLagrangian mUpdatedLagrangian3D4N;
374  const UpdatedLagrangian mUpdatedLagrangian3D5N;
375  const UpdatedLagrangian mUpdatedLagrangian3D6N;
376  const UpdatedLagrangian mUpdatedLagrangian3D8N;
377  const UpdatedLagrangian mUpdatedLagrangian3D10N;
378  const UpdatedLagrangian mUpdatedLagrangian3D13N;
379  const UpdatedLagrangian mUpdatedLagrangian3D15N;
380  const UpdatedLagrangian mUpdatedLagrangian3D20N;
381  const UpdatedLagrangian mUpdatedLagrangian3D27N;
382 
383  const AxisymUpdatedLagrangian mAxisymUpdatedLagrangian2D3N;
384  const AxisymUpdatedLagrangian mAxisymUpdatedLagrangian2D4N;
385  const AxisymUpdatedLagrangian mAxisymUpdatedLagrangian2D6N;
386  const AxisymUpdatedLagrangian mAxisymUpdatedLagrangian2D8N;
387  const AxisymUpdatedLagrangian mAxisymUpdatedLagrangian2D9N;
388 
389  // Adding the spring damper element
390  const SpringDamperElement<2> mSpringDamperElement2D;
391  const SpringDamperElement<3> mSpringDamperElement3D;
392 
393  // Adding adjoint elements
394  const AdjointFiniteDifferencingShellElement<ShellThinElement3D3N<ShellKinematics::LINEAR>> mAdjointFiniteDifferencingShellThinElement3D3N;
395  const AdjointFiniteDifferenceCrBeamElement<CrBeamElementLinear3D2N> mAdjointFiniteDifferenceCrBeamElementLinear3D2N;
396  const AdjointFiniteDifferenceTrussElement<TrussElement3D2N> mAdjointFiniteDifferenceTrussElement3D2N;
397  const AdjointFiniteDifferenceTrussElementLinear<TrussElementLinear3D2N> mAdjointFiniteDifferenceTrussLinearElement3D2N;
398  const AdjointSolidElement<TotalLagrangian> mTotalLagrangianAdjoint2D3N;
399  const AdjointSolidElement<TotalLagrangian> mTotalLagrangianAdjoint2D4N;
400  const AdjointSolidElement<TotalLagrangian> mTotalLagrangianAdjoint2D6N;
401  const AdjointSolidElement<TotalLagrangian> mTotalLagrangianAdjoint3D4N;
402  const AdjointSolidElement<TotalLagrangian> mTotalLagrangianAdjoint3D8N;
403  const AdjointFiniteDifferencingSmallDisplacementElement<SmallDisplacement> mAdjointFiniteDifferencingSmallDisplacementElement3D4N;
404  const AdjointFiniteDifferencingSmallDisplacementElement<SmallDisplacement> mAdjointFiniteDifferencingSmallDisplacementElement3D6N;
405  const AdjointFiniteDifferencingSmallDisplacementElement<SmallDisplacement> mAdjointFiniteDifferencingSmallDisplacementElement3D8N;
406  const AdjointFiniteDifferenceSpringDamperElement<SpringDamperElement<3>> mAdjointFiniteDifferenceSpringDamperElement3D2N;
407 
408  /* CONDITIONS*/
409  // Point load
410  const PointLoadCondition mPointLoadCondition2D1N;
411  const PointLoadCondition mPointLoadCondition3D1N;
412  const PointContactCondition mPointContactCondition2D1N;
413  const PointContactCondition mPointContactCondition3D1N;
414 
415  const AxisymPointLoadCondition mAxisymPointLoadCondition2D1N;
416 
417  // Line load
418  const LineLoadCondition<2> mLineLoadCondition2D2N;
419  const LineLoadCondition<2> mLineLoadCondition2D3N;
420  const LineLoadCondition<2> mLineLoadCondition2D4N;
421  const LineLoadCondition<2> mLineLoadCondition2D5N;
422  const LineLoadCondition<3> mLineLoadCondition3D2N;
423  const LineLoadCondition<3> mLineLoadCondition3D3N;
424 
425  const SmallDisplacementLineLoadCondition<2> mSmallDisplacementLineLoadCondition2D2N;
426  const SmallDisplacementLineLoadCondition<2> mSmallDisplacementLineLoadCondition2D3N;
427  const SmallDisplacementLineLoadCondition<2> mSmallDisplacementLineLoadCondition2D4N;
428  const SmallDisplacementLineLoadCondition<2> mSmallDisplacementLineLoadCondition2D5N;
429  const SmallDisplacementLineLoadCondition<3> mSmallDisplacementLineLoadCondition3D2N;
430  const SmallDisplacementLineLoadCondition<3> mSmallDisplacementLineLoadCondition3D3N;
431 
432  const AxisymLineLoadCondition2D mAxisymLineLoadCondition2D2N;
433  const AxisymLineLoadCondition2D mAxisymLineLoadCondition2D3N;
434 
435  // Surface load
436  const SurfaceLoadCondition3D mSurfaceLoadCondition3D3N;
437  const SurfaceLoadCondition3D mSurfaceLoadCondition3D4N;
438  const SurfaceLoadCondition3D mSurfaceLoadCondition3D6N;
439  const SurfaceLoadCondition3D mSurfaceLoadCondition3D8N;
440  const SurfaceLoadCondition3D mSurfaceLoadCondition3D9N;
441 
442  const SmallDisplacementSurfaceLoadCondition3D mSmallDisplacementSurfaceLoadCondition3D3N;
443  const SmallDisplacementSurfaceLoadCondition3D mSmallDisplacementSurfaceLoadCondition3D4N;
444  const SmallDisplacementSurfaceLoadCondition3D mSmallDisplacementSurfaceLoadCondition3D6N;
445  const SmallDisplacementSurfaceLoadCondition3D mSmallDisplacementSurfaceLoadCondition3D8N;
446  const SmallDisplacementSurfaceLoadCondition3D mSmallDisplacementSurfaceLoadCondition3D9N;
447 
448  // Point moment
449  const PointMomentCondition3D mPointMomentCondition3D1N;
450 
451  // Adjoint Conditions
452  const AdjointSemiAnalyticPointLoadCondition<PointLoadCondition> mAdjointSemiAnalyticPointLoadCondition2D1N;
453  const AdjointSemiAnalyticPointLoadCondition<PointLoadCondition> mAdjointSemiAnalyticPointLoadCondition3D1N;
454  const AdjointSemiAnalyticBaseCondition<SurfaceLoadCondition3D> mAdjointSemiAnalyticSurfaceLoadCondition3D3N;
455  const AdjointSemiAnalyticBaseCondition<SurfaceLoadCondition3D> mAdjointSemiAnalyticSurfaceLoadCondition3D4N;
456  const AdjointSemiAnalyticBaseCondition<SmallDisplacementSurfaceLoadCondition3D> mAdjointSemiAnalyticSmallDisplacementSurfaceLoadCondition3D3N;
457  const AdjointSemiAnalyticBaseCondition<SmallDisplacementSurfaceLoadCondition3D> mAdjointSemiAnalyticSmallDisplacementSurfaceLoadCondition3D4N;
458  const AdjointSemiAnalyticBaseCondition<LineLoadCondition<3>> mAdjointSemiAnalyticLineLoadCondition3D2N;
459  const AdjointSemiAnalyticBaseCondition<SmallDisplacementLineLoadCondition<3>> mAdjointSemiAnalyticSmallDisplacementLineLoadCondition3D2N;
460 
461  // Displacement-Control Conditions
462  const DisplacementControlCondition mDisplacementControlCondition3D1N;
463 
464  // Moving load
465  const MovingLoadCondition<2,2> mMovingLoadCondition2D2N;
466  const MovingLoadCondition<2, 3> mMovingLoadCondition2D3N;
467  const MovingLoadCondition<3, 2> mMovingLoadCondition3D2N;
468  const MovingLoadCondition<3, 3> mMovingLoadCondition3D3N;
469 
470  /* CONSTITUTIVE LAWS */
471  // Linear elastics laws
472  const TrussConstitutiveLaw mTrussConstitutiveLaw;
473  const BeamConstitutiveLaw mBeamConstitutiveLaw;
474  const ElasticIsotropic3D mElasticIsotropic3D;
475  const AxisymElasticIsotropic mAxisymElasticIsotropic;
476  const LinearPlaneStrain mLinearPlaneStrain;
477  const LinearPlaneStress mLinearPlaneStress;
478  const UserProvidedLinearElasticLaw<2> mUserProvidedLinearElastic2DLaw;
479  const UserProvidedLinearElasticLaw<3> mUserProvidedLinearElastic3DLaw;
480 
484 
485 
489 
490 
494 
495 
499 
500 
504 
507 
510 
511 
513 
514 }; // Class KratosStructuralMechanicsApplication
515 
517 
520 
521 
525 
527 
528 
529 } // namespace Kratos.
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: adjoint_finite_difference_cr_beam_element_3D2N.h:23
AdjointFiniteDifferenceSpringDamperElement.
Definition: adjoint_finite_difference_spring_damper_element_3D2N.h:27
AdjointFiniteDifferencingBaseElement.
Definition: adjoint_finite_difference_truss_element_3D2N.h:29
AdjointFiniteDifferencingBaseElement.
Definition: adjoint_finite_difference_truss_element_linear_3D2N.h:29
AdjointFiniteDifferencingShellElement.
Definition: adjoint_finite_difference_shell_element.h:52
AdjointFiniteDifferencingSmallDisplacementElement.
Definition: adjoint_finite_difference_small_displacement_element.h:29
AdjointSemiAnalyticBaseCondition.
Definition: adjoint_semi_analytic_base_condition.h:54
Definition: adjoint_semi_analytic_point_load_condition.h:48
A template class for creating adjoint elements for solids.
Definition: adjoint_solid_element.h:37
Definition: axisym_elastic_isotropic.h:43
Axisymmetric line load condition.
Definition: axisym_line_load_condition_2d.h:48
Axisymmetric point load condition.
Definition: axisym_point_load_condition.h:48
Axisymmetric Kinematic Linear element.
Definition: axisym_small_displacement.h:48
Axisymmetric Total Lagrangian element.
Definition: axisym_total_lagrangian.h:48
Axisymmetric Updated Lagrangian element.
Definition: axisym_updated_lagrangian.h:48
Definition: beam_constitutive_law.h:26
This is a 3D-2node cable element with 3 translational dofs per node inheriting from the TrussElement3...
Definition: cable_element_3D2N.hpp:33
This is a 2D-2node beam element with 2 translational dofs and 1 rotational dof per node.
Definition: cr_beam_element_2D2N.hpp:35
This is a 3D-2node beam element with 3 translational dofs and 3 rotational dof per node.
Definition: cr_beam_element_3D2N.hpp:35
This is a linear 2D-2node beam element with 2 translational dofs and 1 rotational dof per node inheri...
Definition: cr_beam_element_linear_2D2N.hpp:36
This is a linear 3D-2node beam element with 3 translational dofs and 3 rotational dof per node inheri...
Definition: cr_beam_element_linear_3D2N.hpp:34
This class is to add contributions to LHS and RHS of the displacement control condition.
Definition: displacement_control_condition.h:52
Definition: elastic_isotropic_3d.h:53
Short class definition.
Definition: isotropic_shell_element.hpp:49
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
static ComponentsContainerType & GetComponents()
Retrieves the ComponentsContainer.
Definition: kratos_components.h:138
This application features Elements, Conditions, Constitutive laws and Utilities for structural analys...
Definition: structural_mechanics_application.h:139
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: structural_mechanics_application.h:188
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: structural_mechanics_application.h:195
~KratosStructuralMechanicsApplication() override
Destructor.
Definition: structural_mechanics_application.h:156
KRATOS_CLASS_POINTER_DEFINITION(KratosStructuralMechanicsApplication)
Pointer definition of KratosStructuralMechanicsApplication.
std::string Info() const override
Turn back information as a string.
Definition: structural_mechanics_application.h:182
This class defines a small deformation linear elastic constitutive model for 3D cases.
Definition: linear_plane_strain.h:52
This class defines a small deformation linear elastic constitutive model for plane stress cases.
Definition: linear_plane_stress.h:50
Definition: mass_element.h:27
Definition: membrane_element.hpp:26
Concentrated nodal for 3D and 2D points.
Definition: nodal_concentrated_element.hpp:44
Short class definition.
Definition: point_contact_condition.h:50
Point Load Condition for 3D and 2D geometries. (base class)
Definition: point_load_condition.hpp:42
Definition: point_moment_condition_3d.h:45
Infinitesimal strain definition with mixed B-bar formulation.
Definition: small_displacement_bbar.h:57
Small displacement element for 2D and 3D geometries.
Definition: small_displacement.h:54
Small displacement with strain based mixed formulation element.
Definition: small_displacement_mixed_volumetric_strain_element.h:65
This class is the responsible to add the contributions of the RHS and LHS of the surface loads of the...
Definition: small_displacement_surface_load_condition_3d.h:52
This is a triangular prism solid element for the analysis of thin/thick shells undergoing large elast...
Definition: solid_shell_element_sprism_3D6N.h:58
This class is the responsible to add the contributions of the RHS and LHS of the surface loads of the...
Definition: surface_load_condition_3d.h:53
Total Lagrangian element for 2D and 3D geometries.
Definition: total_lagrangian.h:53
Total Lagrangian mixed u-p element (Q1P0) for 2D and 3D geometries.
Definition: total_lagrangian_q1p0_mixed_element.h:56
This is a 3D-2node truss element with 3 translational dofs per node.
Definition: truss_element_3D2N.hpp:34
This is a linear 3D-2node truss element with 3 translational dofs per node inheriting from TrussEleme...
Definition: truss_element_linear_3D2N.hpp:33
Updated Lagrangian element for 2D and 3D geometries.
Definition: updated_lagrangian.h:53
Small displacement element for 2.5D cases.
Definition: z_strain_driven_2p5_small_displacement.h:54
#define KRATOS_INFO(label)
Definition: logger.h:250
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
This constitutive law represents a linear elastic 1D law.