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.
mat_variables.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: Josep Maria Carbonell
11 //
12 
13 #pragma once
14 
15 // System includes
16 #include <string>
17 
18 // External includes
19 
20 // Project includes
21 #include "includes/define.h"
22 #include "containers/variable.h"
25 #include "containers/array_1d.h"
26 
27 #undef KRATOS_EXPORT_MACRO
28 #define KRATOS_EXPORT_MACRO KRATOS_API
29 
30 //commented variables are defined in the variables.h and variables.cpp
31 
32 namespace Kratos
33 {
34  // Solution
35  KRATOS_DEFINE_VARIABLE( std::string, CONSTITUTIVE_LAW_NAME )
36  KRATOS_DEFINE_VARIABLE( bool, IMPLEX )
37  KRATOS_DEFINE_VARIABLE( bool, IMPLEX_CONTACT )
38 
39  // Elasticity
40  KRATOS_DEFINE_VARIABLE( double, SHEAR_MODULUS )
41  KRATOS_DEFINE_VARIABLE( double, LAME_MU )
42  KRATOS_DEFINE_VARIABLE( double, LAME_LAMBDA )
43  KRATOS_DEFINE_VARIABLE( double, C10 )
44  KRATOS_DEFINE_VARIABLE( double, C20 )
45  KRATOS_DEFINE_VARIABLE( double, C30 )
46 
47  // Viscosity
48 
49  // Damage
50  KRATOS_DEFINE_VARIABLE( double, DAMAGE_VARIABLE )
51  KRATOS_DEFINE_VARIABLE( double, DAMAGE_THRESHOLD )
52  KRATOS_DEFINE_VARIABLE( double, STRENGTH_RATIO )
53  KRATOS_DEFINE_VARIABLE( double, FRACTURE_ENERGY )
54  KRATOS_DEFINE_VARIABLE( double, RESIDUAL_STRENGTH )
55 
56  // Plasticity
57  KRATOS_DEFINE_VARIABLE( double, PLASTIC_STRAIN )
58  KRATOS_DEFINE_VARIABLE( double, DELTA_PLASTIC_STRAIN )
59  KRATOS_DEFINE_VARIABLE( double, NORM_ISOCHORIC_STRESS )
60  KRATOS_DEFINE_VARIABLE( double, PLASTIC_STRAIN_RATE )
61 
62  // Hardening
63  KRATOS_DEFINE_VARIABLE( double, ISOTROPIC_HARDENING_MODULUS )
64  KRATOS_DEFINE_VARIABLE( double, KINEMATIC_HARDENING_MODULUS )
65  KRATOS_DEFINE_VARIABLE( double, HARDENING_EXPONENT )
66  KRATOS_DEFINE_VARIABLE( double, REFERENCE_HARDENING_MODULUS )
67  KRATOS_DEFINE_VARIABLE( double, INFINITY_HARDENING_MODULUS )
68  KRATOS_DEFINE_VARIABLE( double, SOFTENING_SLOPE )
69 
70  // Baker-Johnson-Cook parameters
71  KRATOS_DEFINE_VARIABLE( double, JC_PARAMETER_A )
72  KRATOS_DEFINE_VARIABLE( double, JC_PARAMETER_B )
73  KRATOS_DEFINE_VARIABLE( double, JC_PARAMETER_C )
74  KRATOS_DEFINE_VARIABLE( double, JC_PARAMETER_m )
75  KRATOS_DEFINE_VARIABLE( double, JC_PARAMETER_n )
76  KRATOS_DEFINE_VARIABLE( double, JC_PARAMETER_K )
77 
78  // Thermal
79  KRATOS_DEFINE_VARIABLE( double, REFERENCE_CONDUCTIVITY )
80  KRATOS_DEFINE_VARIABLE( double, HARDNESS_CONDUCTIVITY )
81  KRATOS_DEFINE_VARIABLE( double, REFERENCE_TEMPERATURE )
82  KRATOS_DEFINE_VARIABLE( double, MELD_TEMPERATURE )
83  KRATOS_DEFINE_VARIABLE( double, PLASTIC_DISSIPATION )
84  KRATOS_DEFINE_VARIABLE( double, DELTA_PLASTIC_DISSIPATION )
85 
86  // Anisotropy (TODO: Replace with the tensor register)
87  KRATOS_DEFINE_VARIABLE( double, YOUNG_MODULUS_X )
88  KRATOS_DEFINE_VARIABLE( double, YOUNG_MODULUS_Y )
89  KRATOS_DEFINE_VARIABLE( double, YOUNG_MODULUS_Z )
90  KRATOS_DEFINE_VARIABLE( double, SHEAR_MODULUS_XY )
91  KRATOS_DEFINE_VARIABLE( double, SHEAR_MODULUS_YZ )
92  KRATOS_DEFINE_VARIABLE( double, SHEAR_MODULUS_XZ )
93  KRATOS_DEFINE_VARIABLE( double, POISSON_RATIO_XY )
94  KRATOS_DEFINE_VARIABLE( double, POISSON_RATIO_YZ )
95  KRATOS_DEFINE_VARIABLE( double, POISSON_RATIO_XZ )
96 
97  KRATOS_DEFINE_3D_VARIABLE_WITH_COMPONENTS( MATERIAL_ORIENTATION_DX )
98  KRATOS_DEFINE_3D_VARIABLE_WITH_COMPONENTS( MATERIAL_ORIENTATION_DY )
99  KRATOS_DEFINE_3D_VARIABLE_WITH_COMPONENTS( MATERIAL_ORIENTATION_DZ )
100 
101  // Critical state
102  KRATOS_DEFINE_VARIABLE( double, CRITICAL_STATE_LINE )
103  KRATOS_DEFINE_VARIABLE( double, PRE_CONSOLIDATION_STRESS )
104  KRATOS_DEFINE_VARIABLE( double, OVER_CONSOLIDATION_RATIO )
105  KRATOS_DEFINE_VARIABLE( double, INITIAL_SHEAR_MODULUS )
106  KRATOS_DEFINE_VARIABLE( double, NORMAL_COMPRESSION_SLOPE )
107  KRATOS_DEFINE_VARIABLE( double, SWELLING_SLOPE )
108  KRATOS_DEFINE_VARIABLE( double, ALPHA_SHEAR )
109  KRATOS_DEFINE_VARIABLE( Vector, ELASTIC_LEFT_CAUCHY_FROM_KIRCHHOFF_STRESS )
110 
111  // Strain
112  KRATOS_DEFINE_VARIABLE( Vector, INITIAL_STRAIN_VECTOR )
113  KRATOS_DEFINE_VARIABLE( Vector, INITIAL_STRESS_VECTOR )
114  KRATOS_DEFINE_VARIABLE( Matrix, INITIAL_DEFORMATION_GRADIENT_MATRIX )
115 
116  KRATOS_DEFINE_VARIABLE( Vector, GREEN_LAGRANGE_STRAIN_VECTOR )
117 
118  KRATOS_DEFINE_VARIABLE( Vector, BIOT_STRAIN_VECTOR);
119  KRATOS_DEFINE_VARIABLE( Matrix, BIOT_STRAIN_TENSOR);
120 
121  KRATOS_DEFINE_VARIABLE( Vector, ALMANSI_STRAIN_VECTOR )
122  KRATOS_DEFINE_VARIABLE( Matrix, ALMANSI_STRAIN_TENSOR )
123 
124  // Stress
125  KRATOS_DEFINE_VARIABLE( Vector, KIRCHHOFF_STRESS_VECTOR )
126  KRATOS_DEFINE_VARIABLE( Matrix, KIRCHHOFF_STRESS_TENSOR )
127 
128  // Constitutive matrices
129  KRATOS_DEFINE_VARIABLE( Matrix, CONSTITUTIVE_MATRIX_PK2 )
130  KRATOS_DEFINE_VARIABLE( Matrix, CONSTITUTIVE_MATRIX_KIRCHHOFF )
131 
132  // LMV. temporal place to include Biot's variables
133  KRATOS_DEFINE_3D_VARIABLE_WITH_COMPONENTS( WATER_DISPLACEMENT )
135  KRATOS_DEFINE_3D_VARIABLE_WITH_COMPONENTS( WATER_ACCELERATION )
136 
137  KRATOS_DEFINE_VARIABLE( double, STRESS_INV_P )
138  KRATOS_DEFINE_VARIABLE( double, STRESS_INV_J2 )
139  KRATOS_DEFINE_VARIABLE( double, STRESS_INV_THETA )
140  KRATOS_DEFINE_VARIABLE( Matrix, INVERSE_DEFORMATION_GRADIENT )
141 } // namespace Kratos.
142 
143 #undef KRATOS_EXPORT_MACRO
144 #define KRATOS_EXPORT_MACRO KRATOS_NO_EXPORT
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Internals::Matrix< double, AMatrix::dynamic, 1 > Vector
Definition: amatrix_interface.h:472
Internals::Matrix< double, AMatrix::dynamic, AMatrix::dynamic > Matrix
Definition: amatrix_interface.h:470
KRATOS_DEFINE_3D_VARIABLE_WITH_COMPONENTS(MESH_DISPLACEMENT)
KRATOS_DEFINE_VARIABLE(Vector, BIOT_STRAIN_VECTOR)