.. _large_deformation-hyperelastic_tl_up_interactive: large_deformation/hyperelastic_tl_up_interactive.py =================================================== **Description** Incompressible Mooney-Rivlin hyperelastic material model. In this model, the deformation energy density per unit reference volume is given by .. math:: W = C_{(10)} \, \left( \overline I_1 - 3 \right) + C_{(01)} \, \left( \overline I_2 - 3 \right) \;, where :math:\overline I_1 and :math:\overline I_2 are the first and second main invariants of the deviatoric part of the right Cauchy-Green deformation tensor :math:\ull{C}. The coefficients :math:C_{(10)} and :math:C_{(01)} are material parameters. Components of the second Piola-Kirchhoff stress are in the case of an incompressible material .. math:: S_{ij} = 2 \, \pdiff{W}{C_{ij}} - p \, F^{-1}_{ik} \, F^{-T}_{kj} \;, where :math:p is the hydrostatic pressure. The large deformation is described using the total Lagrangian formulation in this example. The incompressibility is treated by mixed displacement-pressure formulation. The weak formulation is: Find the displacement field :math:\ul{u} and pressure field :math:p such that: .. math:: \intl{\Omega\suz}{} \ull{S}\eff(\ul{u}, p) : \ull{E}(\ul{v}) \difd{V} = 0 \;, \quad \forall \ul{v} \;, \intl{\Omega\suz}{} q\, (J(\ul{u})-1) \difd{V} = 0 \;, \quad \forall q \;. The following formula holds for the axial true (Cauchy) stress in the case of uniaxial stress: .. math:: \sigma(\lambda) = 2\, \left( C_{(10)} + \frac{C_{(01)}}{\lambda} \right) \, \left( \lambda^2 - \frac{1}{\lambda} \right) \;, where :math:\lambda = l/l_0 is the prescribed stretch (:math:l_0 and :math:l being the original and deformed specimen length respectively). The boundary conditions are set so that a state of uniaxial stress is achieved, i.e. appropriate components of displacement are fixed on the "Left", "Bottom", and "Near" faces and a monotonously increasing displacement is prescribed on the "Right" face. This prescribed displacement is then used to calculate :math:\lambda and to convert the second Piola-Kirchhoff stress to the true (Cauchy) stress. Note on material parameters --------------------------- The relationship between material parameters used in the *SfePy* hyperelastic terms (:class:NeoHookeanTLTerm , :class:MooneyRivlinTLTerm ) and the ones used in this example is: .. math:: \mu = 2\, C_{(10)} \;, \kappa = 2\, C_{(01)} \;. Usage Examples -------------- Default options:: $python examples/large_deformation/hyperelastic_tl_up_interactive.py To show a comparison of stress against the analytic formula::$ python examples/large_deformation/hyperelastic_tl_up_interactive.py -p Using different mesh fineness:: $python examples/large_deformation/hyperelastic_tl_up_interactive.py \ --shape "5, 5, 5" Different dimensions of the computational domain::$ python examples/large_deformation/hyperelastic_tl_up_interactive.py \ --dims "2, 1, 3" Different length of time interval and/or number of time steps:: $python examples/large_deformation/hyperelastic_tl_up_interactive.py \ -t 0,15,21 Use higher approximation order (the -t option to decrease the time step is required for convergence here)::$ python examples/large_deformation/hyperelastic_tl_up_interactive.py \ --order 2 -t 0,2,21 Change material parameters:: \$ python examples/large_deformation/hyperelastic_tl_up_interactive.py -m 2,1 :download:source code  .. literalinclude:: /../examples/large_deformation/hyperelastic_tl_up_interactive.py