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.
solid_mechanics_application.h
Go to the documentation of this file.
1 //------------------------------------------------------------------
2 // ___ _ _ _ .
3 // KRATOS / __| ___| (_)__| | .
4 // \__ \/ _ \ | / _` | .
5 // |___/\___/_|_\__,_| MECHANICS .
6 // .
7 // License:(BSD) SolidMechanicsApplication/license.txt .
8 // Main authors: Josep Maria Carbonell .
9 // .. .
10 //------------------------------------------------------------------
11 //
12 // Project Name: KratosSolidMechanicsApplication $
13 // Created by: $Author: JMCarbonell $
14 // Last modified by: $Co-Author: $
15 // Date: $Date: July 2013 $
16 // Revision: $Revision: 0.0 $
17 //
18 //
19 
20 #if !defined(KRATOS_SOLID_MECHANICS_APPLICATION_H_INCLUDED)
21 #define KRATOS_SOLID_MECHANICS_APPLICATION_H_INCLUDED
22 
23 // System includes
24 #include <string>
25 #include <iostream>
26 
27 // External includes
28 
29 // Project includes
30 #include "includes/define.h"
34 #include "containers/flags.h"
35 
36 //elements
37 
38 //solid elements
40 
44 
48 
51 
54 
55 //beam elements
63 
64 //shell elements
67 
68 //thermal elements
71 
72 //conditions
76 
80 
84 
86 
87 //flow rules
90 #include "custom_constitutive/custom_flow_rules/isotropic_damage_flow_rule.hpp"
92 
93 //yield criteria
95 #include "custom_constitutive/custom_yield_criteria/simo_ju_yield_criterion.hpp"
96 #include "custom_constitutive/custom_yield_criteria/modified_mises_yield_criterion.hpp"
98 
99 //hardening laws
102 #include "custom_constitutive/custom_hardening_laws/exponential_damage_hardening_law.hpp"
103 #include "custom_constitutive/custom_hardening_laws/modified_exponential_damage_hardening_law.hpp"
107 
108 //constitutive laws
109 #include "custom_constitutive/hyperelastic_3D_law.hpp"
110 #include "custom_constitutive/hyperelastic_plane_strain_2D_law.hpp"
111 #include "custom_constitutive/hyperelastic_axisym_2D_law.hpp"
112 
116 
117 #include "custom_constitutive/linear_elastic_3D_law.hpp"
118 #include "custom_constitutive/linear_elastic_plane_strain_2D_law.hpp"
119 #include "custom_constitutive/linear_elastic_plane_stress_2D_law.hpp"
120 #include "custom_constitutive/linear_elastic_axisym_2D_law.hpp"
122 
126 
130 
134 
138 
142 
149 
151 
152 namespace Kratos
153 {
156 typedef array_1d<double,3> Vector3;
157 typedef array_1d<double,6> Vector6;
159 
162 
163 //Application variables definition: (see solid_mechanics_application_variables.h)
164 
168 
172 
176 
180 
182 
184  class KRATOS_API(SOLID_MECHANICS_APPLICATION) KratosSolidMechanicsApplication : public KratosApplication
185  {
186  public:
187 
188 
191 
192 
195 
196 
200 
203 
206 
207 
211 
212 
216 
217  void Register() override;
218 
219 
220 
224 
225 
229 
230 
234 
236  std::string Info() const override
237  {
238  return "KratosSolidMechanicsApplication";
239  }
240 
242  void PrintInfo(std::ostream& rOStream) const override
243  {
244  rOStream << Info();
245  PrintData(rOStream);
246  }
247 
249  void PrintData(std::ostream& rOStream) const override
250  {
251  KRATOS_WATCH( "in KratosSolidMechanicsApplication" )
253  rOStream << "Variables:" << std::endl;
255  rOStream << std::endl;
256  rOStream << "Elements:" << std::endl;
257  KratosComponents<Element>().PrintData(rOStream);
258  rOStream << std::endl;
259  rOStream << "Conditions:" << std::endl;
260  KratosComponents<Condition>().PrintData(rOStream);
261  }
262 
263 
267 
268 
270 
271  protected:
274 
275 
279 
280 
284 
285 
289 
290 
294 
295 
299 
300 
304 
305 
307 
308  private:
309 
312 
313 
317 
318 
319  //solid
320  const LinearSolidElement mLinearSolidElement2D3N;
321  const LinearSolidElement mLinearSolidElement2D4N;
322  const LinearSolidElement mLinearSolidElement3D4N;
323  const LinearSolidElement mLinearSolidElement3D8N;
324 
325 
326  //small displacement
327  const SmallDisplacementElement mSmallDisplacementElement2D3N;
328  const SmallDisplacementElement mSmallDisplacementElement2D4N;
329  const SmallDisplacementElement mSmallDisplacementElement2D6N;
330  const SmallDisplacementElement mSmallDisplacementElement2D8N;
331  const SmallDisplacementElement mSmallDisplacementElement2D9N;
332 
333  const SmallDisplacementElement mSmallDisplacementElement3D4N;
334  const SmallDisplacementElement mSmallDisplacementElement3D6N;
335  const SmallDisplacementElement mSmallDisplacementElement3D8N;
336  const SmallDisplacementElement mSmallDisplacementElement3D10N;
337  const SmallDisplacementElement mSmallDisplacementElement3D15N;
338  const SmallDisplacementElement mSmallDisplacementElement3D20N;
339  const SmallDisplacementElement mSmallDisplacementElement3D27N;
340 
341  //B-bar
342  const SmallDisplacementBbarElement mSmallDisplacementBbarElement2D3N;
343  const SmallDisplacementBbarElement mSmallDisplacementBbarElement2D4N;
344  const SmallDisplacementBbarElement mSmallDisplacementBbarElement2D6N;
345  const SmallDisplacementBbarElement mSmallDisplacementBbarElement2D8N;
346  const SmallDisplacementBbarElement mSmallDisplacementBbarElement2D9N;
347 
348  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D4N;
349  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D6N;
350  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D8N;
351  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D10N;
352  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D15N;
353  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D20N;
354  const SmallDisplacementBbarElement mSmallDisplacementBbarElement3D27N;
355 
356  const AxisymmetricSmallDisplacementElement mAxisymSmallDisplacementElement2D3N;
357  const AxisymmetricSmallDisplacementElement mAxisymSmallDisplacementElement2D4N;
358  const AxisymmetricSmallDisplacementElement mAxisymSmallDisplacementElement2D6N;
359  const AxisymmetricSmallDisplacementElement mAxisymSmallDisplacementElement2D8N;
360  const AxisymmetricSmallDisplacementElement mAxisymSmallDisplacementElement2D9N;
361 
362  //large displacement
363  const LargeDisplacementElement mLargeDisplacementElement;
364  const LargeDisplacementUPElement mLargeDisplacementUPElement;
365 
366  //total lagrangian
367  const TotalLagrangianElement mTotalLagrangianElement2D3N;
368  const TotalLagrangianElement mTotalLagrangianElement2D4N;
369  const TotalLagrangianElement mTotalLagrangianElement2D6N;
370  const TotalLagrangianElement mTotalLagrangianElement2D8N;
371  const TotalLagrangianElement mTotalLagrangianElement2D9N;
372 
373  const TotalLagrangianElement mTotalLagrangianElement3D4N;
374  const TotalLagrangianElement mTotalLagrangianElement3D6N;
375  const TotalLagrangianElement mTotalLagrangianElement3D8N;
376  const TotalLagrangianElement mTotalLagrangianElement3D10N;
377  const TotalLagrangianElement mTotalLagrangianElement3D15N;
378  const TotalLagrangianElement mTotalLagrangianElement3D20N;
379  const TotalLagrangianElement mTotalLagrangianElement3D27N;
380 
381  //updated lagrangian
382  const UpdatedLagrangianElement mUpdatedLagrangianElement2D3N;
383  const UpdatedLagrangianElement mUpdatedLagrangianElement2D4N;
384  const UpdatedLagrangianElement mUpdatedLagrangianElement2D6N;
385  const UpdatedLagrangianElement mUpdatedLagrangianElement2D8N;
386  const UpdatedLagrangianElement mUpdatedLagrangianElement2D9N;
387 
388  const UpdatedLagrangianElement mUpdatedLagrangianElement3D4N;
389  const UpdatedLagrangianElement mUpdatedLagrangianElement3D6N;
390  const UpdatedLagrangianElement mUpdatedLagrangianElement3D8N;
391  const UpdatedLagrangianElement mUpdatedLagrangianElement3D10N;
392  const UpdatedLagrangianElement mUpdatedLagrangianElement3D15N;
393  const UpdatedLagrangianElement mUpdatedLagrangianElement3D20N;
394  const UpdatedLagrangianElement mUpdatedLagrangianElement3D27N;
395 
396  const AxisymmetricUpdatedLagrangianElement mAxisymUpdatedLagrangianElement2D3N;
397  const AxisymmetricUpdatedLagrangianElement mAxisymUpdatedLagrangianElement2D4N;
398  const AxisymmetricUpdatedLagrangianElement mAxisymUpdatedLagrangianElement2D6N;
399  const AxisymmetricUpdatedLagrangianElement mAxisymUpdatedLagrangianElement2D8N;
400  const AxisymmetricUpdatedLagrangianElement mAxisymUpdatedLagrangianElement2D9N;
401 
402  //velocity based elements
403  const UpdatedLagrangianVElement mUpdatedLagrangianVElement2D3N;
404  const UpdatedLagrangianVElement mUpdatedLagrangianVElement2D4N;
405  const UpdatedLagrangianVElement mUpdatedLagrangianVElement2D6N;
406  const UpdatedLagrangianVElement mUpdatedLagrangianVElement2D8N;
407  const UpdatedLagrangianVElement mUpdatedLagrangianVElement2D9N;
408 
409  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D4N;
410  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D6N;
411  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D8N;
412  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D10N;
413  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D15N;
414  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D20N;
415  const UpdatedLagrangianVElement mUpdatedLagrangianVElement3D27N;
416 
417  //segregated VP elements
418  const UpdatedLagrangianSegregatedVPElement mUpdatedLagrangianSegregatedVPElement2D3N;
419  const UpdatedLagrangianSegregatedVPElement mUpdatedLagrangianSegregatedVPElement3D4N;
420 
421  //mixed elements UP
422  const UpdatedLagrangianUPElement mUpdatedLagrangianUPElement2D3N;
423  const AxisymmetricUpdatedLagrangianUPElement mAxisymUpdatedLagrangianUPElement2D3N;
424  const UpdatedLagrangianUPElement mUpdatedLagrangianUPElement3D4N;
425 
426  //beams
427  const SmallDisplacementBeamElement mSmallDisplacementBeamElement3D2N;
428  const LargeDisplacementBeamElement mLargeDisplacementBeamElement3D2N;
429  const LargeDisplacementBeamElement mLargeDisplacementBeamElement3D3N;
430  const LargeDisplacementBeamEMCElement mLargeDisplacementBeamEMCElement3D2N;
431  const LargeDisplacementBeamEMCElement mLargeDisplacementBeamEMCElement3D3N;
432  const LargeDisplacementBeamSEMCElement mLargeDisplacementBeamSEMCElement3D2N;
433  const GeometricallyExactRodElement mGeometricallyExactRodElement3D2N;
434  const LargeDisplacementBeamElement mLargeDisplacementBeamElement2D2N;
435 
436  //shells
437  const ShellThickElement3D4N mShellThickElement3D4N;
438  const ShellThickElement3D4N mShellThickCorotationalElement3D4N;
439  const ShellThinElement3D3N mShellThinElement3D3N;
440  const ShellThinElement3D3N mShellThinCorotationalElement3D3N;
441 
442  //thermal
443  const ThermalElement mThermalElement2D3N;
444  const ThermalElement mThermalElement3D4N;
445 
446  const AxisymmetricThermalElement mAxisymThermalElement2D3N;
447 
448 
449  //conditions
450  const PointLoadCondition mPointLoadCondition3D1N;
451  const PointLoadCondition mPointLoadCondition2D1N;
452  const AxisymmetricPointLoadCondition mAxisymPointLoadCondition2D1N;
453 
454  const LineLoadCondition mLineLoadCondition3D2N;
455  const LineLoadCondition mLineLoadCondition3D3N;
456  const LineLoadCondition mLineLoadCondition2D2N;
457  const LineLoadCondition mLineLoadCondition2D3N;
458  const AxisymmetricLineLoadCondition mAxisymLineLoadCondition2D2N;
459  const AxisymmetricLineLoadCondition mAxisymLineLoadCondition2D3N;
460 
461  const SurfaceLoadCondition mSurfaceLoadCondition3D3N;
462  const SurfaceLoadCondition mSurfaceLoadCondition3D4N;
463  const SurfaceLoadCondition mSurfaceLoadCondition3D6N;
464  const SurfaceLoadCondition mSurfaceLoadCondition3D8N;
465  const SurfaceLoadCondition mSurfaceLoadCondition3D9N;
466 
467  const PointMomentCondition mPointMomentCondition3D1N;
468  const PointMomentCondition mPointMomentCondition2D1N;
469 
470  const LineMomentCondition mLineMomentCondition3D2N;
471  const LineMomentCondition mLineMomentCondition3D3N;
472  const LineMomentCondition mLineMomentCondition2D2N;
473  const LineMomentCondition mLineMomentCondition2D3N;
474 
475  const SurfaceMomentCondition mSurfaceMomentCondition3D3N;
476  const SurfaceMomentCondition mSurfaceMomentCondition3D4N;
477  const SurfaceMomentCondition mSurfaceMomentCondition3D6N;
478  const SurfaceMomentCondition mSurfaceMomentCondition3D8N;
479  const SurfaceMomentCondition mSurfaceMomentCondition3D9N;
480 
481  const PointElasticCondition mPointElasticCondition3D1N;
482  const PointElasticCondition mPointElasticCondition2D1N;
483  const AxisymmetricPointElasticCondition mAxisymPointElasticCondition2D1N;
484 
485  const LineElasticCondition mLineElasticCondition3D2N;
486  const LineElasticCondition mLineElasticCondition3D3N;
487  const LineElasticCondition mLineElasticCondition2D2N;
488  const LineElasticCondition mLineElasticCondition2D3N;
489  const AxisymmetricLineElasticCondition mAxisymLineElasticCondition2D2N;
490  const AxisymmetricLineElasticCondition mAxisymLineElasticCondition2D3N;
491 
492  const SurfaceElasticCondition mSurfaceElasticCondition3D3N;
493  const SurfaceElasticCondition mSurfaceElasticCondition3D4N;
494  const SurfaceElasticCondition mSurfaceElasticCondition3D6N;
495  const SurfaceElasticCondition mSurfaceElasticCondition3D8N;
496  const SurfaceElasticCondition mSurfaceElasticCondition3D9N;
497 
498  const LineHeatFluxCondition mLineHeatFluxCondition2D2N;
499 
500 
501  //constitutive laws
502 
503  //Hyperelastic laws
504  const HyperElastic3DLaw mHyperElastic3DLaw;
505  const HyperElasticPlaneStrain2DLaw mHyperElasticPlaneStrain2DLaw;
506  const HyperElasticAxisym2DLaw mHyperElasticAxisym2DLaw;
507 
508  //Hyperelastic laws U-P
509  const HyperElasticUP3DLaw mHyperElasticUP3DLaw;
510  const HyperElasticUPPlaneStrain2DLaw mHyperElasticUPPlaneStrain2DLaw;
511  const HyperElasticUPAxisym2DLaw mHyperElasticUPAxisym2DLaw;
512 
513  //Linear Elastic laws
514  const LinearElastic3DLaw mLinearElastic3DLaw;
515  const LinearElasticPlaneStrain2DLaw mLinearElasticPlaneStrain2DLaw;
516  const LinearElasticPlaneStress2DLaw mLinearElasticPlaneStress2DLaw;
517  const LinearElasticAxisym2DLaw mLinearElasticAxisym2DLaw;
518 
519  //Hyperelastic Plastic J2 specilization laws
520  const HyperElasticPlasticJ23DLaw mHyperElasticPlasticJ23DLaw;
521  const HyperElasticPlasticJ2PlaneStrain2DLaw mHyperElasticPlasticJ2PlaneStrain2DLaw;
522  const HyperElasticPlasticJ2Axisym2DLaw mHyperElasticPlasticJ2Axisym2DLaw;
523 
524  //Hyperelastic Plastic J2 specilization laws U-P
525  const HyperElasticPlasticUPJ23DLaw mHyperElasticPlasticUPJ23DLaw;
526  const HyperElasticPlasticUPJ2PlaneStrain2DLaw mHyperElasticPlasticUPJ2PlaneStrain2DLaw;
527  const HyperElasticPlasticUPJ2Axisym2DLaw mHyperElasticPlasticUPJ2Axisym2DLaw;
528 
529  //Isotropic Damage Laws
530  const IsotropicDamageSimoJu3DLaw mIsotropicDamageSimoJu3DLaw;
531  const IsotropicDamageSimoJuPlaneStrain2DLaw mIsotropicDamageSimoJuPlaneStrain2DLaw;
532  const IsotropicDamageSimoJuPlaneStress2DLaw mIsotropicDamageSimoJuPlaneStress2DLaw;
533 
534  const IsotropicDamageModifiedMises3DLaw mIsotropicDamageModifiedMises3DLaw;
535  const IsotropicDamageModifiedMisesPlaneStrain2DLaw mIsotropicDamageModifiedMisesPlaneStrain2DLaw;
536  const IsotropicDamageModifiedMisesPlaneStress2DLaw mIsotropicDamageModifiedMisesPlaneStress2DLaw;
537 
538  //Thermal Laws
539  const HyperElasticPlasticThermalJ2PlaneStrain2DLaw mHyperElasticPlasticThermalJ2PlaneStrain2DLaw;
540  const HyperElasticPlasticThermalJohnsonCookPlaneStrain2DLaw mHyperElasticPlasticThermalJohnsonCookPlaneStrain2DLaw;
541  const HyperElasticPlasticThermalBakerJohnsonCookPlaneStrain2DLaw mHyperElasticPlasticThermalBakerJohnsonCookPlaneStrain2DLaw;
542 
543  const HyperElasticPlasticThermalUPJ23DLaw mHyperElasticPlasticThermalUPJ23DLaw;
544  const HyperElasticPlasticThermalUPJ2PlaneStrain2DLaw mHyperElasticPlasticThermalUPJ2PlaneStrain2DLaw;
545  const HyperElasticPlasticThermalUPJ2Axisym2DLaw mHyperElasticPlasticThermalUPJ2Axisym2DLaw;
546  const HyperElasticPlasticThermalUPJohnsonCookPlaneStrain2DLaw mHyperElasticPlasticThermalUPJohnsonCookPlaneStrain2DLaw;
547  const HyperElasticPlasticThermalUPJohnsonCookAxisym2DLaw mHyperElasticPlasticThermalUPJohnsonCookAxisym2DLaw;
548  const HyperElasticPlasticThermalUPBakerJohnsonCookPlaneStrain2DLaw mHyperElasticPlasticThermalUPBakerJohnsonCookPlaneStrain2DLaw;
549 
550 
551  //Flow Rules
552  const NonLinearAssociativePlasticFlowRule mNonLinearAssociativePlasticFlowRule;
553  const LinearAssociativePlasticFlowRule mLinearAssociativePlasticFlowRule;
554  const IsotropicDamageFlowRule mIsotropicDamageFlowRule;
555  const NonLinearRateDependentPlasticFlowRule mNonLinearRateDependentPlasticFlowRule;
556 
557  //Yield Criteria
558  const MisesHuberYieldCriterion mMisesHuberYieldCriterion;
559  const SimoJuYieldCriterion mSimoJuYieldCriterion;
560  const ModifiedMisesYieldCriterion mModifiedMisesYieldCriterion;
561  const MisesHuberThermalYieldCriterion mMisesHuberThermalYieldCriterion;
562 
563  //Hardening Laws
564  const NonLinearIsotropicKinematicHardeningLaw mNonLinearIsotropicKinematicHardeningLaw;
565  const LinearIsotropicKinematicHardeningLaw mLinearIsotropicKinematicHardeningLaw;
566  const ExponentialDamageHardeningLaw mExponentialDamageHardeningLaw;
567  const ModifiedExponentialDamageHardeningLaw mModifiedExponentialDamageHardeningLaw;
568 
569  const NonLinearIsotropicKinematicThermalHardeningLaw mNonLinearIsotropicKinematicThermalHardeningLaw;
570  const JohnsonCookThermalHardeningLaw mJohnsonCookThermalHardeningLaw;
571  const BakerJohnsonCookThermalHardeningLaw mBakerJohnsonCookThermalHardeningLaw;
572 
573 
577 
578 
582 
583 
587 
588 
592 
593 
597 
600 
603 
604 
606 
607  }; // Class KratosSolidMechanicsApplication
608 
610 
611 
614 
615 
619 
621 
622 
623 } // namespace Kratos.
624 
625 #endif // KRATOS_SOLID_MECHANICS_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
Elastic Condition for 2D axisymmetric geometries. (base class)
Definition: axisymmetric_line_elastic_condition.hpp:45
Load Condition for 2D axisymmetric geometries. (base class)
Definition: axisymmetric_line_load_condition.hpp:45
Axisymmetric point elastic condition for 2D geometries.
Definition: axisymmetric_point_elastic_condition.hpp:42
Axisymmetric point load condition for 2D geometries.
Definition: axisymmetric_point_load_condition.hpp:42
Axisymmetric Small Displacements Element for 2D geometries.
Definition: axisymmetric_small_displacement_element.hpp:47
Definition: axisymmetric_thermal_element.hpp:44
Axisymmetric Updated Lagrangian Element 2D geometries.
Definition: axisymmetric_updated_lagrangian_element.hpp:47
Axisymmetric Updated Lagrangian U-P Element for 2D geometries. For Linear Triangles.
Definition: axisymmetric_updated_lagrangian_U_P_element.hpp:47
Short class definition.
Definition: baker_johnson_cook_thermal_hardening_law.hpp:49
Short class definition.
Definition: exponential_damage_hardening_law.hpp:49
Beam Element for 3D space dimension Romero Displacement-Rotation Geometrically Exact Rod element (bas...
Definition: geometrically_exact_rod_element.hpp:48
Definition: hyperelastic_3D_law.hpp:38
Definition: hyperelastic_axisym_2D_law.hpp:38
Definition: hyperelastic_plane_strain_2D_law.hpp:39
Definition: hyperelastic_plastic_J2_3D_law.hpp:33
Definition: hyperelastic_plastic_J2_axisym_2D_law.hpp:33
Definition: hyperelastic_plastic_J2_plane_strain_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_baker_johnson_cook_plane_strain_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_J2_plane_strain_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_johnson_cook_plane_strain_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_U_P_baker_johnson_cook_plane_strain_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_U_P_J2_3D_law.hpp:33
Definition: hyperelastic_plastic_thermal_U_P_J2_axisym_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_U_P_J2_plane_strain_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_U_P_johnson_cook_axisym_2D_law.hpp:33
Definition: hyperelastic_plastic_thermal_U_P_johnson_cook_plane_strain_2D_law.hpp:32
Definition: hyperelastic_plastic_U_P_J2_3D_law.hpp:33
Definition: hyperelastic_plastic_U_P_J2_axisym_2D_law.hpp:33
Definition: hyperelastic_plastic_U_P_J2_plane_strain_2D_law.hpp:33
Definition: hyperelastic_UP_3D_law.hpp:39
Definition: hyperelastic_U_P_axisym_2D_law.hpp:34
Definition: hyperelastic_U_P_plane_strain_2D_law.hpp:34
Short class definition.
Definition: isotropic_damage_flow_rule.hpp:51
Definition: isotropic_damage_modified_mises_3D_law.hpp:26
Definition: isotropic_damage_modified_mises_plane_strain_2D_law.hpp:26
Definition: isotropic_damage_modified_mises_plane_stress_2D_law.hpp:26
Definition: isotropic_damage_simo_ju_3D_law.hpp:26
Definition: isotropic_damage_simo_ju_plane_strain_2D_law.hpp:26
Definition: isotropic_damage_simo_ju_plane_stress_2D_law.hpp:26
Short class definition.
Definition: johnson_cook_thermal_hardening_law.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
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
Short class definition.
Definition: solid_mechanics_application.h:185
KRATOS_CLASS_POINTER_DEFINITION(KratosSolidMechanicsApplication)
Pointer definition of KratosSolidMechanicsApplication.
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: solid_mechanics_application.h:242
std::string Info() const override
Turn back information as a string.
Definition: solid_mechanics_application.h:236
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: solid_mechanics_application.h:249
~KratosSolidMechanicsApplication() override
Destructor.
Definition: solid_mechanics_application.h:205
Beam Element for 3D space dimension.
Definition: large_displacement_beam_emc_element.hpp:49
Beam Element for 3D space dimension Simo Displacement-Rotation Geometrically Exact Rod element.
Definition: large_displacement_beam_element.hpp:48
Beam Element for 3D space dimension.
Definition: large_displacement_beam_semc_element.hpp:49
Large Displacement Lagrangian Element for 3D and 2D geometries. (base class)
Definition: large_displacement_element.hpp:46
Large Displacement Lagrangian U-P Element for 3D and 2D geometries. Linear Triangles and Tetrahedra (...
Definition: large_displacement_U_P_element.hpp:47
Line load condition for 3D and 2D geometries.
Definition: line_elastic_condition.hpp:41
Short class definition.
Definition: line_heat_flux_condition.hpp:49
Line load condition for 3D and 2D geometries.
Definition: line_load_condition.hpp:41
Line load condition for 3D and 2D geometries.
Definition: line_moment_condition.hpp:41
Short class definition.
Definition: linear_associative_plastic_flow_rule.hpp:49
Definition: linear_elastic_3D_law.hpp:37
Definition: linear_elastic_axisym_2D_law.hpp:37
Definition: linear_elastic_plane_strain_2D_law.hpp:37
Definition: linear_elastic_plane_stress_2D_law.hpp:37
Short class definition.
Definition: linear_isotropic_kinematic_hardening_law.hpp:49
Linear Solid Element for 3D and 2D geometries. (Template for learning element design)
Definition: linear_solid_element.hpp:43
Short class definition.
Definition: mises_huber_thermal_yield_criterion.hpp:49
Short class definition.
Definition: mises_huber_yield_criterion.hpp:51
Short class definition.
Definition: modified_exponential_damage_hardening_law.hpp:49
Short class definition.
Definition: modified_mises_yield_criterion.hpp:49
Short class definition.
Definition: non_linear_associative_plastic_flow_rule.hpp:50
Short class definition.
Definition: non_linear_isotropic_kinematic_hardening_law.hpp:49
Short class definition.
Definition: non_linear_isotropic_kinematic_thermal_hardening_law.hpp:49
Short class definition.
Definition: non_linear_rate_dependent_plastic_flow_rule.hpp:50
Point Load Condition for 3D and 2D geometries. (base class)
Definition: point_elastic_condition.hpp:42
Point Load Condition for 3D and 2D geometries. (base class)
Definition: point_load_condition.hpp:42
Point Load Condition for 3D and 2D geometries. (base class)
Definition: point_moment_condition.hpp:42
ShellThickElement3D4N.
Definition: shell_thick_element_3D4N.hpp:63
ShellThinElement3D3N.
Definition: shell_thin_element_3D3N.hpp:60
Short class definition.
Definition: simo_ju_yield_criterion.hpp:50
Small Displacement Bbar Element for 3D and 2D geometries.
Definition: small_displacement_bbar_element.hpp:46
Small displacements beam element for 2D and 3D space.
Definition: small_displacement_beam_element.hpp:45
Small Displacement Element for 3D and 2D geometries.
Definition: small_displacement_element.hpp:47
Definition: surface_elastic_condition.hpp:41
Definition: surface_load_condition.hpp:41
Definition: surface_moment_condition.hpp:40
Definition: thermal_element.hpp:41
Total Lagrangian Element for 3D and 2D geometries.
Definition: total_lagrangian_element.hpp:47
A stabilized element for the incompressible Navier-Stokes equations.
Definition: updated_lagrangian_element.h:64
Updated Lagrangian Segregated Solid Element for 3D and 2D geometries.
Definition: updated_lagrangian_segregated_V_P_element.hpp:46
Spatial Lagrangian U-P Element for 3D and 2D geometries. Linear Triangles and Tetrahedra.
Definition: updated_lagrangian_U_P_element.hpp:47
Updated Lagrangian Element for 3D and 2D geometries.
Definition: updated_lagrangian_V_element.hpp:47
#define KRATOS_WATCH(variable)
Definition: define.h:806
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
array_1d< double, 3 > Vector3
Definition: variables.cpp:26
array_1d< double, 6 > Vector6
Definition: delaunay_meshing_application_variables.cpp:19
KRATOS_API_EXTERN template class KratosComponents< Condition >
Definition: condition.h:1191
KRATOS_API_EXTERN template class KratosComponents< Element >
Definition: element.h:1240