Difference between revisions of "Contrib:KeesWouters/solids/mooney-rivlin"

From CAELinuxWiki
Jump to: navigation, search
m ('''Displacements''')
m (Displacements)
 
(56 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
* Return to: [[http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters KeesWouters]]
 +
* Return to: [[http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters/solids solids]]<br/><br/>
 +
 
=='''Material behaviour Mooney-Rivlin'''==
 
=='''Material behaviour Mooney-Rivlin'''==
 
+
preliminary:
Return to: [[http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters/solids solids]]
+
 
+
preliminary.
+
 
Have to check dimensions: stresses, pressures and stiffness coefficients: [Pa] or [MPa]
 
Have to check dimensions: stresses, pressures and stiffness coefficients: [Pa] or [MPa]
 +
Following forces nearly correct ;-)
  
 
==''Simple block of Mooney-Rivlin material''==
 
==''Simple block of Mooney-Rivlin material''==
Line 29: Line 30:
 
==''Code Aster commands''==
 
==''Code Aster commands''==
 
==='''Material properties'''===
 
==='''Material properties'''===
The material properties are defined by Mooney-Rivlin.<br/>This material behaviour is defined by a number of parameters (copied from JMB):
+
The material propertie is given by Mooney-Rivlin.<br/>This material behaviour is defined by a number of parameters (copied from JMB):
* C01 = 2.3456;
+
* C01 = 2.3456 [MPa]
* C10 = 0.709;
+
* C10 = 0.709 [MPa]
* C20 = 0.0;
+
* C20 = 0.0 [MPa]
* NU  = 0.499
+
* NU  = 0.499 [-]
* K  = 6*(C10+C01)/(3*(1-2*NU))
+
* K  = 6*(C10+C01)/(3*(1-2*NU)) [MPa]
  
 
and in Code Aster called by the hyper elastic material module:
 
and in Code Aster called by the hyper elastic material module:
Line 43: Line 44:
 
                                     RHO=1000.0),);
 
                                     RHO=1000.0),);
  
The parameters Cxy are coefficients of the two invariants of the Strain energy function, see eg [[http://en.wikipedia.org/wiki/Mooney%E2%80%93Rivlin_solid wiki]].<br/>For small strains the shear modulus G can be expressed as twice the sum of C01 and C10: G = 2(C01 + C10). And Youngs modulus E is equal to E = 2G(1+nu). So we have E = 4(C01+C10)(1+nu). For incompressible material the possion ratio nu --> 0.5. Hence we use nearly incompressible material here using nu = 0.499. Note that the numerical value of the Youngs modulus is E = 18.3 [MPa] for the values above. Later on we will use this to verify the results.<br/>
+
The parameters Cxy are coefficients of the two invariants of the Strain energy function, see eg [[http://en.wikipedia.org/wiki/Mooney%E2%80%93Rivlin_solid wiki]].<br/>For small strains the shear modulus G can be expressed as twice the sum of C01 and C10: G = 2(C01 + C10). And Youngs modulus E is equal to E = 2G(1+nu). So we have ''E = 4(C01+C10)(1+nu)''. For incompressible material the possion ratio nu --> 0.5. Hence we use nearly incompressible material here by putting nu = 0.499. Note that the numerical value of the Youngs modulus is E = 18.3 [MPa] for the values above. Later on we will use this to verify the results.<br/>
The bulk modulus K is defined in terms of Youngs modulus en poisson ratio: K = E/(3*(1-2*nu)). For nu approaching to 0.5, K approaches to infinity, ie incompressible material.<br/>Note that nu may not be set to 0.5 exactly (to machine precision). See also paragraph 3.7 (ELAS_HYPER) of the ''Opérateur DEFI_MATERIAU'' ([[http://www.code-aster.org/V2/doc/v9/fr/man_u/u4/u4.43.01.pdf u4.43.01]])
+
The bulk modulus K is defined in terms of Youngs modulus and poisson ratio: K = E/(3*(1-2*nu)). For nu approaching to 0.5, K approaches to infinity, ie incompressible material.<br/>Note that nu may not be set to 0.5 exactly (to machine precision). See also paragraph 3.7 (ELAS_HYPER) of the ''Opérateur DEFI_MATERIAU'' ([[http://www.code-aster.org/V2/doc/v9/fr/man_u/u4/u4.43.01.pdf u4.43.01]])
  
 
==='''Commands'''===
 
==='''Commands'''===
Line 79: Line 80:
  
 
==='''Displacements'''===
 
==='''Displacements'''===
We applying a pressure load of 6 [Pa] on the top area in 20 equal steps.<br/>
+
We applying a pressure load of 6 [MPa] on the top area in 20 equal steps.<br/>
The picture below shows the overall displacements. The displacements are scaled to 1. The final z displacement is 34.441 [mm].
+
The left picture below shows the overall displacements for this load. The displacements shown are real displacements (not scaled). The final z displacement is 34.441 [mm]. The strain is 34/43 ~ 0.80 [-].<br/>
 +
In the right picture the z displacement field for a pressure of 12 [MPa] is given. The maximum displacement at the top plane is 182.5 [mm]. This is a strain of (182-43)/43 ~ 4.2 [-] (or 420 %).  
  
: [[Image:kw_mooneyrivlin_displacement.png]]<br/>
+
: [[Image:kw_mooneyrivlin_displacement.png]] : [[Image:kw_displacement_dz_fixe20pa.png]]<br/>
  
 +
We will now concentrate on the pressure case of 6 [MPa].<br/>
 
The picture below shows the displacements in x, y and z direction. The displacement in each direction are given. The maximum values are:
 
The picture below shows the displacements in x, y and z direction. The displacement in each direction are given. The maximum values are:
 
* dux = 0.63600 (both directions)
 
* dux = 0.63600 (both directions)
Line 95: Line 98:
  
 
==='''Initial stiffness'''===
 
==='''Initial stiffness'''===
The small strain axial stiffness of the block is duz/Fz = duz/PA = Lz/AE. This yields for small strains duz = P*Lz/E. The pressure P is 6 [Pa], the length of the block in z direction is 43 [mm] and the Youngs modulus E = 6(C01+C10)*(1+nu) = 14.09 [mm].  
+
The initial stiffness of the block -ie for small axial strain- is Sz = duz/Fz = duz/PA = Lz/AE. This yields for small strains duz = P*Lz/E. For pressure P equal to 6 [Pa], the length of the block in z direction equal to 43 [mm] and the Youngs modulus E = 6(C01+C10)*(1+nu) equal to 18.3 [Pa], this yields for the initial stiffness Sz = 14.09 [N/m].
  
: [[Image:kw_mooneyrivlin_topplane.png]]
+
: [[Image:kw_displacement_dz_suiv6.png]]
  
 
: [[Image:kw_mooneyrivlin_displacement_p06pa.png]]
 
: [[Image:kw_mooneyrivlin_displacement_p06pa.png]]
  
This figure shows the displacement for an end-pressure-load of 0.06 [Pa] (also calculated using 20 steps). The displacement is 0.1417 [mm]. Scaled to 6 [Pa] the displacement is  14.17 [mm]. This is slightly more than the analytic value of 14.09 [mm].<br/><br/>
+
This figure shows the displacement for an end-pressure-load of 0.06 [MPa] (also calculated using 20 steps). The displacement is 0.1417 [mm]. Scaled to 6 [Pa] the displacement is  14.17 [mm]. This is slightly more than the analytic value of 14.09 [mm].<br/><br/>
 
The picture has been created by right clicking in the ''Object Browser'' of the PostPro module:
 
The picture has been created by right clicking in the ''Object Browser'' of the PostPro module:
 
* PostPro
 
* PostPro
Line 113: Line 116:
  
 
==='''Stress and applied pressure'''===
 
==='''Stress and applied pressure'''===
Again we have a look at the stresses (Szz) for small strains (applied pressure 0.06 [MPa]) and final stress (applied pressure 6 [MPa]. In the picture below the stresses are shown. Not very rewarding, all blue.<br/>
+
Again we have a look at the stresses (Szz) for small strains (applied pressure 0.06 [MPa]) and final stress (applied pressure 6 [MPa]. In the pictures below the stresses are shown. Not very rewarding, all blue.<br/>
 
The small strain stress is 0.060 [MPa] (left/top picture). This corresponds with the applied pressure and initial cross section Ainitial = 5*12 = 60 [mm2]: Szz = F/A = PA/A = P = 0.06 [MPa].<br/>
 
The small strain stress is 0.060 [MPa] (left/top picture). This corresponds with the applied pressure and initial cross section Ainitial = 5*12 = 60 [mm2]: Szz = F/A = PA/A = P = 0.06 [MPa].<br/>
The stress at large strain is 10.793 [MPa] (right/bottom picture). Now we have to do our home work. The applied pressure is 6 [Pa]. The cross section has been reduced to Astress =  4*(Xmax-dux)*(Ymax-duy) = 33.555 [mm2]. The initial cross section is Ainitial = 60 [mm2]. So the ultimate stress will be P*Ainitial/Astress = 6*60/33.555 = 10.793 [MPa]. Nice results.<br/><br/><br/>
+
The stress at large strain is 10.793 [MPa] (right/bottom picture). Now we have to do our home work. The applied pressure is 6 [Pa]. The cross section has been reduced to Astress =  4*(Xmax-dux)*(Ymax-duy) = 33.555 [mm2]. The initial cross section is Ainitial = 60 [mm2]. So the ultimate stress will be P*Ainitial/Astress = 6*60/33.555 = 10.793 [MPa]. Nice results.<br/><br/>
 
Note that this includes that the applied pressure is not scaled to the real time area. The applied pressure is being translated to node forces initially and remain the same during the calculation.
 
Note that this includes that the applied pressure is not scaled to the real time area. The applied pressure is being translated to node forces initially and remain the same during the calculation.
  
: [[Image:kw_mooneyrivlin_Szz_0p06mpa.png]] : [[Image:kw_mooneyrivlin_Szz.png]]
+
In fact we applied a constant pressure on the top plane that is not being update or ''followed'' during the calculations. The default command, from the *.mess file is:
  
 +
res=STAT_NON_LINE(EXCIT=
 +
        _F(TYPE_CHARGE='FIXE_CSTE',CHARGE=FORCE,FONC_MULT=RAMPE),
 +
        _F(TYPE_CHARGE='FIXE_CSTE',CHARGE=DEPL)),
 +
                          ....);
 +
 +
where TYPE_CHARGE='FIXE_CSTE', or fixed during the calculations.
 +
 +
: [[Image:kw_mooneyrivlin_Szz_0p06mpa.png]] : [[Image:kw_mooneyrivlin_Szz.png]]
  
==='''Stress and applied pressure II'''===
+
==='''Stress and applied pressure II - Following force'''===
 
In the output of the mess file we see that the default TYPE_CHARGE is 'FIXE_CSTE':
 
In the output of the mess file we see that the default TYPE_CHARGE is 'FIXE_CSTE':
 
  res=STAT_NON_LINE(EXCIT=(_F(TYPE_CHARGE='FIXE_CSTE',
 
  res=STAT_NON_LINE(EXCIT=(_F(TYPE_CHARGE='FIXE_CSTE',
Line 140: Line 151:
 
                   EXCIT=(_F(CHARGE=FORCE,FONC_MULT=RAMPE,TYPE_CHARGE='SUIV'),...)
 
                   EXCIT=(_F(CHARGE=FORCE,FONC_MULT=RAMPE,TYPE_CHARGE='SUIV'),...)
  
The key word TYPE_CHARGE='SUIV' states that the pressure distribution will follow the momentary geometry of its surface during each step in the calculation. In the picture below the displacement and stress Szz are shown for each step. Note that the final stress is now 10.793 [MPa] but the final z displacement is 34.441 [mm].
+
The key word TYPE_CHARGE='SUIV' states that the pressure distribution will follow the momentary geometry of its surface during each step in the calculation. In the picture below the displacement Uz is shown for each step, both for fixed and following force/pressure. The fixed pressure is the same as before, where the stiffness decreases with increasing pressure. The final displacement is 34 [mm]. The following pressure shows a straight line, indicating that the reduced stiffness is compensated by an smaller area of the top plane where the pressure is being applied. At step 20 (time 1) the displacement of the topplane is ~17.3 [mm].
  
: [[Image:kw_displacement_dz_suiv6.png]]
+
 
 +
Some characteristics for the final situation, P = 6.0 [MPa]:<br/>
 +
Displacements:<br/>
 +
the maximum x and y displacments of the block are Ux = 0.390378 [mm] and Uy = 0.936908 [m]<br/>
 +
the z displacement of the top plane is Uz = 17.426 [mm]<br/>
 +
 
 +
Stresses:<br/>
 +
The stresses Sxx and Syy are: Sxx = Syy = 0.0 [MPa]<br/>
 +
the stress Szz is equal to 6.0 [MPa]: this is exactly the stress defined by the following pressure!
 +
 
 +
Strains:<br/>
 +
The strains EPxx and EPyy are: EPxx = EPyy = -0.156151<br/>
 +
The strain EPzz is: EPzz = 0.405255<br/>
 +
From the displacements we derive:<br/>
 +
|EPxx| = 0.390378/2.5 = 0.156151<br/>
 +
|EPyy| = 0.936908/2.5 = 0.156151<br/>
 +
EPzz  = 17.426/ = 0.405255, in accordance with the values above.<br/>
 +
 
 +
 
 +
Still need to check the following:
 +
For uniaxial loading the Green strain tensor F is defined by:
 +
 
 +
      | 1+EPxx  0.0000  0.0000 |  | 0.84390  0.00000  0.00000 |
 +
  F = | 0.0000  1+EPxx  0.0000 | = | 0.00000  0.84390  0.00000 |
 +
      | 0.0000  0.0000  1+EPzz |  | 0.00000  0.00000  1.40526 |
 +
 
 +
 
 +
            | 1.97474  0.00000  0.00000  |
 +
  C = FtF = | 0.00000  0.71208  0.00000  |
 +
            | 0.00000  0.00000  0.71208  |
 +
 
 +
then
 +
Ic1 = 3.3989 --> Ic1-3 = 0.3989
 +
Ic2 = 3.3194 --> Ic2-3 = 0.3194
 +
Ic3 = 1.0013 --> Ic3 ~ 1.0
 +
 
 +
For incompressible material, the third invariant of the strain tensor C = FtF is 1. So the value Ic3 is in good agreement with this.
 +
 
 +
finally the stress Szz is given by:
 +
Szz = 2*(C01/EPzz+C10)*(EPzz^2-1/EPzz) = 6.0078 [MPa]
 +
 
 +
 
 +
: [[Image:kw_force_follow_fixed.png]] :
 +
 
 +
So why is the relation between the steps and z displacement linear now?
  
 
=='''Input files - download'''==
 
=='''Input files - download'''==
Line 158: Line 213:
 
Have fun.<br/>
 
Have fun.<br/>
 
Comments welcome.<br/>
 
Comments welcome.<br/>
Tested with CA version 11.00.10 and Salome 6.3.0.<br/>
+
Tested with CA version 11.00.31 (needed, for following force SUIV, lower version contain bug on this) and Salome 6.3.1.<br/>
  
 
groeten - Kees
 
groeten - Kees
 
  
 
=='''Acknowledgement'''==
 
=='''Acknowledgement'''==
I copied the material properties of JMB.
 

Latest revision as of 20:29, 23 November 2013

Material behaviour Mooney-Rivlin

preliminary: Have to check dimensions: stresses, pressures and stiffness coefficients: [Pa] or [MPa] Following forces nearly correct ;-)

Simple block of Mooney-Rivlin material

september 2011 - Salome 6.3 - Code Aster VERSION DE DEVELOPPEMENT 11.00.10 - Ubuntu 11.04

This is a simple example of a block of Mooney-Rivlin material. As usual, the input and partly the output files can be found at the end of this contribution.
Errors are all mine.
Creative criticism welcome (of course I rather have positive than negative remarks).
Have fun.

Geometry

This is really annoying. Once again a block. The dimensions are 2Xmax*2Ymax*Lz = 5x12x43 [mm3] (Xmax = 2.5, Ymax = 6, Lz = 43 [mm]). My only excuse is that it does show the behaviour of the Mooney-Rivlin material very well.
Four groups are defined on the block:

  • two areas, top and bottom areas, and
  • two node groups: centre node of the bottom plane and two nodes on the extreme positon of the y-axis.

The are used to define boundary conditions and pressure (load).

Kw mooneyrivlin block.png : Kw mooneyrivlin groups.png

Loads and boundary conditions
A pressure of 6 [MPa] is applied to the top area Atop.
Note that to compare to analytic results with small strains, a pressure of 0.06 [MPa] has been used occasionally.
The boundary conditions are applied to the bottom area: all z displacements of the bottom area are restricted.
On node Nfixx the displacement in y direction is restricted.
On nodes Nfixy (two nodes on the extremes of the x axis) the displacement in x direction is restricted.

Code Aster commands

Material properties

The material propertie is given by Mooney-Rivlin.
This material behaviour is defined by a number of parameters (copied from JMB):

  • C01 = 2.3456 [MPa]
  • C10 = 0.709 [MPa]
  • C20 = 0.0 [MPa]
  • NU = 0.499 [-]
  • K = 6*(C10+C01)/(3*(1-2*NU)) [MPa]

and in Code Aster called by the hyper elastic material module:

rubber=DEFI_MATERIAU(ELAS_HYPER=_F(C10=C10,
                                   C01=C01,
                                   C20=C20,
                                   K=K,
                                   RHO=1000.0),);

The parameters Cxy are coefficients of the two invariants of the Strain energy function, see eg [wiki].
For small strains the shear modulus G can be expressed as twice the sum of C01 and C10: G = 2(C01 + C10). And Youngs modulus E is equal to E = 2G(1+nu). So we have E = 4(C01+C10)(1+nu). For incompressible material the possion ratio nu --> 0.5. Hence we use nearly incompressible material here by putting nu = 0.499. Note that the numerical value of the Youngs modulus is E = 18.3 [MPa] for the values above. Later on we will use this to verify the results.
The bulk modulus K is defined in terms of Youngs modulus and poisson ratio: K = E/(3*(1-2*nu)). For nu approaching to 0.5, K approaches to infinity, ie incompressible material.
Note that nu may not be set to 0.5 exactly (to machine precision). See also paragraph 3.7 (ELAS_HYPER) of the Opérateur DEFI_MATERIAU ([u4.43.01])

Commands

FORCE=AFFE_CHAR_MECA(MODELE=Mod3d,
                    PRES_REP=_F(GROUP_MA='Atop',
                                PRES=-6.000,),);
RAMPE=DEFI_FONCTION(NOM_PARA='INST',
               VALE=(0.0,0.0,
                     1.0,1.0,),
               INFO=2);                                 
MatRub=AFFE_MATERIAU(MAILLAGE=Mesh,
                   MODELE=Mod3d,
                   AFFE=_F(TOUT='OUI',
                           MATER=rubber,),);
                         
res=STAT_NON_LINE(MODELE=Mod3d,
                  CHAM_MATER=MatRub,
                  EXCIT=(_F(CHARGE=FORCE,FONC_MULT=RAMPE,),
                         _F(CHARGE=DEPL,),),
                  NEWTON=(_F(REAC_INCR=1,
                             MATRICE='TANGENTE',
                             REAC_ITER=1,)),                   
                  COMP_INCR=_F(RELATION='ELAS_HYPER',
                               DEFORMATION = 'GROT_GDEP',
                               TOUT='OUI',),
                  CONVERGENCE=(_F(ARRET='OUI',
                                   ITER_GLOB_MAXI=20)),                               
                  INCREMENT=_F(LIST_INST=LISTE,),);

Results

Displacements

We applying a pressure load of 6 [MPa] on the top area in 20 equal steps.
The left picture below shows the overall displacements for this load. The displacements shown are real displacements (not scaled). The final z displacement is 34.441 [mm]. The strain is 34/43 ~ 0.80 [-].
In the right picture the z displacement field for a pressure of 12 [MPa] is given. The maximum displacement at the top plane is 182.5 [mm]. This is a strain of (182-43)/43 ~ 4.2 [-] (or 420 %).

Kw mooneyrivlin displacement.png : Kw displacement dz fixe20pa.png

We will now concentrate on the pressure case of 6 [MPa].
The picture below shows the displacements in x, y and z direction. The displacement in each direction are given. The maximum values are:

  • dux = 0.63600 (both directions)
  • duy = 1.52641 (both directions)
  • duz = 43.441 (only positive direction)
Kw mooneyrivlin dxdydz.png

Volume change

Since we put the poisson ratio nearly equal to 1/2 (nu ~ 0.5) we expect that the volume does not change. The undeformed state has a volume Vo = 2Xmax * 2Ymax * Lz = 2580 [mm3]. The deformed state has a volume of Vdef = 2(Xmax-dux)*2(Ymax-duy)*(Lz+duz) = 2583.1 [mm3], a change of 3.1 [mm3]. Taking into account the effect of the poisson ratio (nu=0.499) the volume change may be dV = Vo*eps*(1-2NU). Depending on the definition of eps this change of volume is 4.1 [mm3] (Note that maybe we have to take more digits of the displacements into account ...).

Initial stiffness

The initial stiffness of the block -ie for small axial strain- is Sz = duz/Fz = duz/PA = Lz/AE. This yields for small strains duz = P*Lz/E. For pressure P equal to 6 [Pa], the length of the block in z direction equal to 43 [mm] and the Youngs modulus E = 6(C01+C10)*(1+nu) equal to 18.3 [Pa], this yields for the initial stiffness Sz = 14.09 [N/m].

Kw displacement dz suiv6.png
Kw mooneyrivlin displacement p06pa.png

This figure shows the displacement for an end-pressure-load of 0.06 [MPa] (also calculated using 20 steps). The displacement is 0.1417 [mm]. Scaled to 6 [Pa] the displacement is 14.17 [mm]. This is slightly more than the analytic value of 14.09 [mm].

The picture has been created by right clicking in the Object Browser of the PostPro module:

  • PostPro
  • <result_file.med>
  • fields
  • Resu1_depl --> Right Click
    • in the pop up window (Evolution on Point - Parameters)
    • select Field
    • select Point (1535 - node in top plane)
    • select Component (dz)

Stress and applied pressure

Again we have a look at the stresses (Szz) for small strains (applied pressure 0.06 [MPa]) and final stress (applied pressure 6 [MPa]. In the pictures below the stresses are shown. Not very rewarding, all blue.
The small strain stress is 0.060 [MPa] (left/top picture). This corresponds with the applied pressure and initial cross section Ainitial = 5*12 = 60 [mm2]: Szz = F/A = PA/A = P = 0.06 [MPa].
The stress at large strain is 10.793 [MPa] (right/bottom picture). Now we have to do our home work. The applied pressure is 6 [Pa]. The cross section has been reduced to Astress = 4*(Xmax-dux)*(Ymax-duy) = 33.555 [mm2]. The initial cross section is Ainitial = 60 [mm2]. So the ultimate stress will be P*Ainitial/Astress = 6*60/33.555 = 10.793 [MPa]. Nice results.

Note that this includes that the applied pressure is not scaled to the real time area. The applied pressure is being translated to node forces initially and remain the same during the calculation.

In fact we applied a constant pressure on the top plane that is not being update or followed during the calculations. The default command, from the *.mess file is:

res=STAT_NON_LINE(EXCIT=
        _F(TYPE_CHARGE='FIXE_CSTE',CHARGE=FORCE,FONC_MULT=RAMPE),
        _F(TYPE_CHARGE='FIXE_CSTE',CHARGE=DEPL)),
                         ....);

where TYPE_CHARGE='FIXE_CSTE', or fixed during the calculations.

Kw mooneyrivlin Szz 0p06mpa.png : Kw mooneyrivlin Szz.png

Stress and applied pressure II - Following force

In the output of the mess file we see that the default TYPE_CHARGE is 'FIXE_CSTE':

res=STAT_NON_LINE(EXCIT=(_F(TYPE_CHARGE='FIXE_CSTE',
                             CHARGE=FORCE,
                             FONC_MULT=RAMPE),
                          _F(TYPE_CHARGE='FIXE_CSTE',
                             CHARGE=DEPL)),
                          ....);

This means that the pressure distribution is not updated, and we add the in the STAT_NON_LINE command the key word TYPE_CHARGE='SUIV'. The pressure will be updated according to the geometry during the steps:

pressure = -6.000
FORCE=AFFE_CHAR_MECA(MODELE=Mod3d,
                    PRES_REP=_F(GROUP_MA='Atop',
                                PRES=pressure),);
res = STAT_NON_LINE(...
                  EXCIT=(_F(CHARGE=FORCE,FONC_MULT=RAMPE,TYPE_CHARGE='SUIV'),...)

The key word TYPE_CHARGE='SUIV' states that the pressure distribution will follow the momentary geometry of its surface during each step in the calculation. In the picture below the displacement Uz is shown for each step, both for fixed and following force/pressure. The fixed pressure is the same as before, where the stiffness decreases with increasing pressure. The final displacement is 34 [mm]. The following pressure shows a straight line, indicating that the reduced stiffness is compensated by an smaller area of the top plane where the pressure is being applied. At step 20 (time 1) the displacement of the topplane is ~17.3 [mm].


Some characteristics for the final situation, P = 6.0 [MPa]:
Displacements:
the maximum x and y displacments of the block are Ux = 0.390378 [mm] and Uy = 0.936908 [m]
the z displacement of the top plane is Uz = 17.426 [mm]

Stresses:
The stresses Sxx and Syy are: Sxx = Syy = 0.0 [MPa]
the stress Szz is equal to 6.0 [MPa]: this is exactly the stress defined by the following pressure!

Strains:
The strains EPxx and EPyy are: EPxx = EPyy = -0.156151
The strain EPzz is: EPzz = 0.405255
From the displacements we derive:
|EPxx| = 0.390378/2.5 = 0.156151
|EPyy| = 0.936908/2.5 = 0.156151
EPzz = 17.426/ = 0.405255, in accordance with the values above.


Still need to check the following: For uniaxial loading the Green strain tensor F is defined by:

     | 1+EPxx   0.0000  0.0000 |   | 0.84390   0.00000   0.00000 |
 F = | 0.0000   1+EPxx  0.0000 | = | 0.00000   0.84390   0.00000 |
     | 0.0000   0.0000  1+EPzz |   | 0.00000   0.00000   1.40526 |


           | 1.97474  0.00000  0.00000  |
 C = FtF = | 0.00000  0.71208  0.00000  |
           | 0.00000  0.00000  0.71208  |

then

Ic1 = 3.3989 --> Ic1-3 = 0.3989
Ic2 = 3.3194 --> Ic2-3 = 0.3194
Ic3 = 1.0013 --> Ic3 ~ 1.0

For incompressible material, the third invariant of the strain tensor C = FtF is 1. So the value Ic3 is in good agreement with this.

finally the stress Szz is given by:

Szz = 2*(C01/EPzz+C10)*(EPzz^2-1/EPzz) = 6.0078 [MPa]


Kw force follow fixed.png :

So why is the relation between the steps and z displacement linear now?

Input files - download

Input files:

  • Python script for defining the geometry and mesh. Load this file in Salome by File --> load script (cntrl T in the object browser), refresh (F5) after running.
    • Save the mesh by:
      • change to Mesh module
      • right clicking in the object browser by right clicking on the mesh name Mblock; select Export to MED
      • change mesh file name to Mblock.med (no need) and click save
  • ASTK files (you need to edit the path to your requirements ...). To start Code Aster calculation press Run. Interactive enabled, Interactive-follow-up disabled, nodebug enabled.
  • command file. Same remark as ASTK file.

Have fun.
Comments welcome.
Tested with CA version 11.00.31 (needed, for following force SUIV, lower version contain bug on this) and Salome 6.3.1.

groeten - Kees

Acknowledgement