.. _linear_elasticity-rigid_lagrange: linear_elasticity/rigid_lagrange.py =================================== **Description** Linear elasticity example with rigid-body constraints enforced via Lagrange multipliers. Find :math:`\ul{u}`, :math:`\ul{\bar{u}}`, :math:`\ul{\bar{\omega}}`, :math:`\ul{\lambda}` such that: .. math:: \int_{\Omega} D_{ijkl}\ e_{ij}(\ul{v}) e_{kl}(\ul{u}) + \int_{\Gamma_R} \ul{v} \ul{\lambda} = 0 \;, \quad \forall \ul{v} \;, - \int_{\Gamma_R} \ul{\bar{v}} \ul{\lambda} = 0 \;, \quad \forall \ul{\bar{v}} \;, - \int_{\Gamma_R} (\ul{\bar{q}} \times (\ul{x} - \ul{x_c}) \ul{\lambda} = 0 \;, \quad \forall \ul{\bar{q}} \;, + \int_{\Gamma_R} \ul{\nu} \ul{u} - \int_{\Gamma_R} \ul{\nu} \ul{\bar{u}} - \int_{\Gamma_R} \ul{\nu} (\ul{\bar{\omega}} \times (\ul{x} - \ul{x_c}) = 0 \;, \quad \forall \ul{\eta} \;. The displacements in the ``'Rigid'`` region are constrained to rigid body motions. The rigid volume, centered at :math:`\ul{x_c}`, is not present in the domain's mesh, the constraint is applied to its surface :math:`\Gamma_R`. Usage Examples -------------- - Run with the default parameters, visualize deformation with 10 times magnified displacements:: sfepy-run sfepy/examples/linear_elasticity/rigid_lagrange.py sfepy-view output/rigid_lagrange/cut-cylinder.*.vtk -f u:wu:f10:p0 1:vw:wu:f10:p0 1:vw:p0 - View the Lagrange multipliers :math:`\ul{\lambda}` and the rigid body motion displacements :math:`\ul{\bar{u}}` and rotations :math:`\ul{\bar{\omega}}`:: sfepy-view output/rigid_lagrange/cut-cylinder.*.vtk -f lam:wu:f10:p0 1:vw:wu:f10:p0 1:vw:p0 sfepy-view output/rigid_lagrange/cut-cylinder.*.vtk -f ub:wu:f10:p0 1:vw:wu:f10:p0 1:vw:p0 sfepy-view output/rigid_lagrange/cut-cylinder.*.vtk -f ob:wu:f10:p0 1:vw:wu:f10:p0 1:vw:p0 - Change elasticity parameters and field approximation orders:: sfepy-run sfepy/examples/linear_elasticity/rigid_lagrange.py -d "E=1e9,nu=0.3,order_u=2,order_lam=0" .. image:: /../doc/images/gallery/linear_elasticity-rigid_lagrange.png :download:`source code ` .. literalinclude:: /../sfepy/examples/linear_elasticity/rigid_lagrange.py