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