/*! * \file ellipticcreep.mtest * \brief * \author Helfer Thomas * \brief 09 avril 2013 */ @MaximumNumberOfSubSteps 1; @AccelerationAlgorithm 'AlternateSecant'; @ModellingHypothesis 'Axisymmetrical'; @Behaviour '@MFrontCastemBehavioursBuildPath@' 'umatellipticcreep'; @MaterialProperty 'YoungModulus' 150.e9; @MaterialProperty 'PoissonRatio' 0.3; @InternalStateVariable 'Porosity' 0.; @Real 'srr' -20.e6; @ImposedStress 'SRR' 'srr'; // Initial value of the elastic strain @Real 'EELRR0' 'srr/YoungModulus'; @Real 'EELZZ0' '-EELRR0*PoissonRatio'; @InternalStateVariable 'ElasticStrain' {'EELRR0','EELZZ0','EELZZ0',0.}; // Initial value of the total strain @Strain {'EELRR0','EELZZ0','EELZZ0',0.}; // Initial value of the stresses @Stress {'srr',0.,0.,0.}; @ExternalStateVariable 'Temperature' 293.15; @Times {0.,3600 in 20}; // tests on strains // note: EquivalentViscoplasticStrain is known at 1.e-12 (defaut value // for @StrainEpsilon), thus we may expect the strain to be known at // '3.6*1.e-9'. If pratice, things are a bit better but not much // better. @Real 'A' 8.e-67; @Real 'E' 8.2; @Test 'ERR' 'EELRR0-A*abs(SRR)**E*t' 1.e-9; @Test 'EZZ' 'EELZZ0+0.5*A*abs(SRR)**E*t' 1.e-10; @Test 'ETT' 'EELZZ0+0.5*A*abs(SRR)**E*t' 1.e-10; @Test 'ERZ' '0.' 1.e-10; // tests on internal state variables @Test 'ElasticStrainRR' 'EELRR0' 1.e-12; @Test 'ElasticStrainZZ' 'EELZZ0' 1.e-12; @Test 'ElasticStrainTT' 'EELZZ0' 1.e-12; @Test 'ElasticStrainRZ' '0.' 1.e-12; // this test is a bit paranoiac since SRR is imposed @Test 'SRR' 'SRR' 1.e-3; // check that the mechanical equilibrium is satisfied @Test 'SZZ' '0.' 1.e-3; @Test 'STT' '0.' 1.e-3; @Test 'SRZ' '0.' 1.e-3; @Test 'DeviatoricEquivalentViscoplasticStrain' 'A*abs(SRR)**E*t' 1.e-10; @Test 'HydrostaticEquivalentViscoplasticStrain' '0' 1.e-10; @Test 'Porosity' '0' 1.e-10;