1/*!
2 * \file   implicitnorton3.mtest
3 * \brief
4 * \author Helfer Thomas
5 * \brief  01/07/2014
6 */
7
8@AccelerationAlgorithm 'AlternateSecant';
9@MaximumNumberOfSubSteps 1;
10@ModellingHypothesis 'Axisymmetrical';
11
12@Behaviour<umat> '@MFrontCastemBehavioursBuildPath@' 'umatimplicitnorton3';
13@MaterialProperty<constant> 'YoungModulus'     150.e9;
14@MaterialProperty<constant> 'PoissonRatio'       0.3;
15
16@Real 'srr' 20.e6;
17@ImposedStress 'SRR' 'srr';
18// Initial value of the elastic strain
19@Real 'EELRR0' 0.00013333333333333333;
20@Real 'EELZZ0' -0.00004;
21@InternalStateVariable 'ElasticStrain' {'EELRR0','EELZZ0','EELZZ0',0.};
22// Initial value of the total strain
23@Strain {'EELRR0','EELZZ0','EELZZ0',0.};
24// Initial value of the stresses
25@Stress {'srr',0.,0.,0.};
26
27@ExternalStateVariable 'Temperature' 293.15;
28
29@Times {0.,360 in 20};
30
31@Real 'A' 8.e-67;
32@Real 'E' 8.2;
33
34// tests on strains
35// note: EquivalentViscoplasticStrain is known at 1.e-12 (defaut value
36// for @StrainEpsilon), thus we may expect the strain to be known at
37// '3.6*1.e-9'. If pratice, things are a bit better but not much
38// better.
39@Test<function> 'ERR' 'EELRR0+A*SRR**E*t'     1.e-9;
40@Test<function> 'EZZ' 'EELZZ0-0.5*A*SRR**E*t' 1.e-10;
41@Test<function> 'ETT' 'EELZZ0-0.5*A*SRR**E*t' 1.e-10;
42@Test<function> 'ERZ' '0.'                    1.e-10;
43// tests on internal state variables
44@Test<function> 'ElasticStrainRR' 'EELRR0'  1.e-12;
45@Test<function> 'ElasticStrainZZ' 'EELZZ0'  1.e-12;
46@Test<function> 'ElasticStrainTT' 'EELZZ0'  1.e-12;
47@Test<function> 'ElasticStrainRZ' '0.'      1.e-12;
48@Test<function> 'EquivalentViscoplasticStrain' 'A*SRR**E*t' 1.e-12;
49// this test is a bit paranoiac since SRR is imposed
50@Test<function> 'SRR' 'SRR'     1.e-3;
51// check that the mechanical equilibrium is satisfied
52@Test<function> 'SZZ' '0.'      1.e-3;
53@Test<function> 'STT' '0.'      1.e-3;
54@Test<function> 'SRZ' '0.'      1.e-3;
55