Stress equal to zero using UMAT #656
-
Hi ! I have a However, when including the UMAT using a I'm not sure if I'm not accessing the strain the correct way in the Details
System information as returned by .dgibi file
.mfront file
// mfront -I $(pwd)/extra-headers -I /usr/include/eigen3 --interface=castem21 --obuild test.mfront
@DSL Default;
@Behaviour HomogenizedKelvin;
@Author Antoine Weisrock;
@Date 08/11/2024;
@Description {This file implements a model based on the homogenization of a
stiffness tensor pojected on the Kelvin projectors and expressed as a
function of its eigenvalues.
};
/*
@MaterialProperty stress lamh;
@MaterialProperty stress lam1;
@MaterialProperty stress lam2;
@MaterialProperty stress lam3;
@MaterialProperty stress lam4;
@MaterialProperty stress lam5;
*/
@MaterialProperty stress lamh;
@MaterialProperty stress lam1;
@MaterialProperty stress lam2;
@MaterialProperty stress lam3;
@MaterialProperty stress lam4;
@MaterialProperty stress lam5;
/*
@Parameter real sigstd = 1.3;
@Parameter real m = 0.75;
@Parameter real theta = 0.8;
*/
@MaterialProperty real sigstd;
@MaterialProperty real m_po;
@MaterialProperty real theta;
@PhysicalBounds lamh in [0.0: *[;
@PhysicalBounds lam1 in [0.0: *[;
@PhysicalBounds lam2 in [0.0: *[;
@PhysicalBounds lam3 in [0.0: *[;
@PhysicalBounds lam4 in [0.0: *[;
@PhysicalBounds lam5 in [0.0: *[;
@PhysicalBounds sigstd in [0.0: *[;
@Bounds m_po in [-1.0: 1.0];
@Bounds theta in [-3.15: 3.15];
@ModellingHypothesis Tridimensional;
@StrainMeasure Hencky;
// @StrainMeasure GreenLagrange;
@LocalVariable st2tost2<3u, real> stiffness;
@Includes{
#include "TFEL/Math/KelvinDecomposition.hxx"
}
@InitLocalVariables {
st2tost2<3u, real> integrated = kelvin_integrated_tensor(
lamh, lam1, lam2, lam3, lam4, lam5, sigstd, m_po);
st2tost2<3u, real> homogenized = pow_1_over_m(integrated, m_po);
stiffness = rotate(homogenized, theta);
}
@Integrator{
sig = stiffness * (eto + deto);
}
@TangentOperator {
Dt = stiffness;
}
working isotropic version
diff --git a/HomogenizedKelvin.dgibi b/HomogenizedKelvinlinear.dgibi
index a56223e94..f65e5f8d7 100644
--- a/HomogenizedKelvin.dgibi
+++ b/HomogenizedKelvinlinear.dgibi
@@ -41,13 +41,8 @@ coel = 'MOTS' 'YOUN'
'THET' ;
params = 'MOTS' 'T' ;
-
-mo = 'MODELISER' vol
- 'MECANIQUE' 'ELASTIQUE' 'NON_LINEAIRE' 'UTILISATEUR'
- 'LIB_LOI' 'src/libUmatBehaviour.so'
- 'FCT_LOI' 'umathomogenizedkelvin_malls'
- 'PARA_LOI' params
- 'C_MATERIAU' coel ;
+
+mo = MODE vol MECANIQUE ELASTIQUE ISOTROPE ;
xyoun = 1000000.0 ;
xnu = 0.2 ;
@@ -63,24 +58,9 @@ xlam4 = 1.0 ;
xlam5 = 1.0 ;
xsigstd = 1.0 ;
xm_po = 1.0 ;
-xtheta = 0.0 ;
-
-ma = 'MATERIAU' MO
- 'YOUN' xyoun
- 'NU' xnu
- 'RHO' xrho
- 'ALPH' xalph
- 'TALP' xtalp
- 'TREF' xtref
- 'LAMH' xlamh
- 'LAM1' xlam1
- 'LAM2' xlam2
- 'LAM3' xlam3
- 'LAM4' xlam4
- 'LAM5' xlam5
- 'SIGS' xsigstd
- 'M_PO' xm_po
- 'THET' xtheta ;
+xtheta = 0.0 ;
+
+ma = MATE mo 'YOUN' xyoun 'NU' xnu ;
tmax = 10.0 ;
npas = 50 ;
@@ -107,13 +87,11 @@ charter = CHAR 'T' the1 ev2 ;
tab1 = 'TABLE' ;
tab1 . 'GRANDS_DEPLACEMENTS' = FAUX ;
tab1 . 'MOVA' = 'MOT' 'RIEN' ;
-tab1 . 'TEMPERATURES' = 'TABLE' ;
-tab1 . 'TEMPERATURES' . 0 = the1 ;
tab1 . 'VARIABLES_INTERNES' = 'TABLE' ;
tab1 . 'VARIABLES_INTERNES' . 0 = (ZERO mo 'VARINTER');
tab1 . 'BLOCAGES_MECANIQUES' = cle1 ;
tab1 . 'MODELE' = mo ;
-tab1 . 'CHARGEMENT' = cha2 'ET' charter ;
+tab1 . 'CHARGEMENT' = cha2;
tab1 . 'CARACTERISTIQUES' = ma ;
tab1 . 'TEMPS_CALCULES' = lit1 ;
tab1 . 'TEMPS_SAUVES' = lit1 ; |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
If you set |
Beta Was this translation helpful? Give feedback.
If you set
GRANDS_DEPLACEMENTS
toFAUX
, I suspect thatCast3M
sends the identity as the deformation gradient to the behaviour, hence 0 logarithmic strain, hence 0 stress