/*! * \file norton.mtest * \brief * \author Helfer Thomas * \brief 09 avril 2013 */ @PredictionPolicy 'LinearPrediction'; @Behaviour '@MFrontAsterBehavioursBuildPath@' 'asterimplicitnorton_broyden'; @MaterialProperty 'YoungModulus' 150.e9; @MaterialProperty 'PoissonRatio' 0.3; @Real 'sxx' 20e6; @ImposedStress 'SXX' 'sxx'; // Initial value of the elastic strain @Real 'EELXX0' 0.00013333333333333333; @Real 'EELZZ0' -0.00004; @InternalStateVariable 'ElasticStrain' {'EELXX0','EELZZ0','EELZZ0',0.,0.,0.}; // Initial value of the total strain @Strain {'EELXX0','EELZZ0','EELZZ0',0.,0.,0.}; // Initial value of the total stresses @Stress {'sxx',0.,0.,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 'EXX' 'EELXX0+A*SXX**E*t' 1.e-9; @Test 'EYY' 'EELZZ0-0.5*A*SXX**E*t' 1.e-10; @Test 'EZZ' 'EELZZ0-0.5*A*SXX**E*t' 1.e-10; @Test 'EXY' '0.' 1.e-10; // tests on internal state variables @Test 'ElasticStrainXX' 'EELXX0' 1.e-12; @Test 'ElasticStrainYY' 'EELZZ0' 1.e-12; @Test 'ElasticStrainZZ' 'EELZZ0' 1.e-12; @Test 'ElasticStrainXY' '0.' 1.e-12; @Test 'EquivalentViscoplasticStrain' 'A*SXX**E*t' 1.e-12; // this test is a bit paranoiac since SXX is imposed @Test 'SXX' 'SXX' 1.e-3; // check that the mechanical equilibrium is satisfied @Test 'SYY' '0.' 1.e-3; @Test 'SZZ' '0.' 1.e-3; @Test 'SXY' '0.' 1.e-3;