.. _linear_elasticity-nodal_lcbcs: linear_elasticity/nodal_lcbcs.py ================================ **Description** Linear elasticity with nodal linear combination constraints. Find :math:\ul{u} such that: .. math:: \int_{\Omega} D_{ijkl}\ e_{ij}(\ul{v}) e_{kl}(\ul{u}) = - \int_{\Gamma_{right}} \ul{v} \cdot \ull{\sigma} \cdot \ul{n} \;, \quad \forall \ul{v} \;, where .. math:: D_{ijkl} = \mu (\delta_{ik} \delta_{jl}+\delta_{il} \delta_{jk}) + \lambda \ \delta_{ij} \delta_{kl} \;. and :math:\ull{\sigma} \cdot \ul{n} = \bar{p} \ull{I} \cdot \ul{n} with given traction pressure :math:\bar{p}. The constraints are given in terms of coefficient matrices and right-hand sides, see the lcbcs keyword below. For instance, 'nlcbc1' in the 3D mesh case corresponds to .. math:: u_0 - u_1 + u_2 = 0 \\ u_0 + 0.5 u_1 + 0.1 u_2 = 0.05 that should hold in the 'Top' region. This example demonstrates how to pass command line options to a problem description file using --define option of sfepy-run. Try:: sfepy-run sfepy/examples/linear_elasticity/nodal_lcbcs.py --define='dim: 3' to use a 3D mesh, instead of the default 2D mesh. The example also shows that the nodal constraints can be used in place of the Dirichlet boundary conditions. Try:: sfepy-run sfepy/examples/linear_elasticity/nodal_lcbcs.py --define='use_ebcs: False' to replace ebcs with the 'nlcbc4' constraints. The results should be the same for the two cases. Both options can be combined:: sfepy-run sfepy/examples/linear_elasticity/nodal_lcbcs.py --define='dim: 3, use_ebcs: False' The :func:post_process() function is used both to compute the von Mises stress and to verify the linear combination constraints. View the 2D results using:: sfepy-view square_quad.vtk -2 View the 3D results using:: sfepy-view cube_medium_tetra.vtk .. image:: /../doc/images/gallery/linear_elasticity-nodal_lcbcs.png :download:source code  .. literalinclude:: /../sfepy/examples/linear_elasticity/nodal_lcbcs.py