1/*! 2 * \file norton.mtest 3 * \brief 4 * \author Helfer Thomas 5 * \brief 09 avril 2013 6 */ 7 8@PredictionPolicy 'LinearPrediction'; 9 10@Behaviour<aster> '@MFrontAsterBehavioursBuildPath@' 'asterimplicitnorton2'; 11@MaterialProperty<constant> 'YoungModulus' 150.e9; 12@MaterialProperty<constant> 'PoissonRatio' 0.3; 13 14@Real 'sxx' 20e6; 15@ImposedStress 'SXX' 'sxx'; 16// Initial value of the elastic strain 17@Real 'EELXX0' 0.00013333333333333333; 18@Real 'EELZZ0' -0.00004; 19@InternalStateVariable 'ElasticStrain' {'EELXX0','EELZZ0','EELZZ0',0.,0.,0.}; 20// Initial value of the total strain 21@Strain {'EELXX0','EELZZ0','EELZZ0',0.,0.,0.}; 22// Initial value of the total stresses 23@Stress {'sxx',0.,0.,0.,0.,0.}; 24 25@ExternalStateVariable 'Temperature' 293.15; 26 27@Times {0.,3600 in 20}; 28 29// tests on strains 30// note: EquivalentViscoplasticStrain is known at 1.e-12 (defaut value 31// for @StrainEpsilon), thus we may expect the strain to be known at 32// '3.6*1.e-9'. If pratice, things are a bit better but not much 33// better. 34@Real 'A' 8.e-67; 35@Real 'E' 8.2; 36@Test<function> 'EXX' 'EELXX0+A*SXX**E*t' 1.e-9; 37@Test<function> 'EYY' 'EELZZ0-0.5*A*SXX**E*t' 1.e-10; 38@Test<function> 'EZZ' 'EELZZ0-0.5*A*SXX**E*t' 1.e-10; 39@Test<function> 'EXY' '0.' 1.e-10; 40// tests on internal state variables 41@Test<function> 'ElasticStrainXX' 'EELXX0' 1.e-12; 42@Test<function> 'ElasticStrainYY' 'EELZZ0' 1.e-12; 43@Test<function> 'ElasticStrainZZ' 'EELZZ0' 1.e-12; 44@Test<function> 'ElasticStrainXY' '0.' 1.e-12; 45@Test<function> 'EquivalentViscoplasticStrain[0]' '0.5*A*SXX**E*t' 1.e-12; 46@Test<function> 'EquivalentViscoplasticStrain[1]' '0.5*A*SXX**E*t' 1.e-12; 47// this test is a bit paranoiac since SXX is imposed 48@Test<function> 'SXX' 'SXX' 1.e-3; 49// check that the mechanical equilibrium is satisfied 50@Test<function> 'SYY' '0.' 1.e-3; 51@Test<function> 'SZZ' '0.' 1.e-3; 52@Test<function> 'SXY' '0.' 1.e-3; 53