Elastic Deformation

In this section we want to examine the deformation of a linear elastic body caused by expansion through a heat distribution. We want a displacement field $ u\hackscore{i}$ which solves the momentum equation :
$\displaystyle - \sigma\hackscore{ij,j}=0$     (45)

where the stress $ \sigma$ is given by
$\displaystyle \sigma\hackscore{ij}= \lambda u\hackscore{k,k} \delta\hackscore{i...
...mbda+\frac{2}{3} \mu) \; \alpha \; (T-T\hackscore{ref})\delta\hackscore{ij} \;.$     (46)

In this formula $ \lambda$ and $ \mu$ are the Lame coefficients, $ \alpha$ is the temperature expansion coefficient, $ T$ is the temperature distribution and $ T_{ref}$ a reference temperature. Note that Equation (1.47) is similar to Equation (1.31) introduced in section Section 1.4 but the inertia term $ \rho u\hackscore{i,tt}$ has been dropped as we assume a static scenario here. Moreover, in comparison to the Equation (1.32) definition of stress $ \sigma$ in Equation (1.48) an extra term is introduced to bring in stress due to volume changes trough temperature dependent expansion.

Our domain is the unit cube

$\displaystyle \Omega=\{(x\hackscore{i}) \vert 0 \le x\hackscore{i} \le 1 \}$     (47)

On the boundary the normal stress component is set to zero
$\displaystyle \sigma\hackscore{ij}n\hackscore{j}=0$     (48)

and on the face with $ x\hackscore{i}=0$ we set the $ i$-th component of the displacement to 0
$\displaystyle u\hackscore{i}(x)=0$ where $\displaystyle x\hackscore{i}=0 \;$ (49)

For the temperature distribution we use
$\displaystyle T(x)= T\hackscore{0} e^{-\beta \Vert x-x^{c}\Vert};$     (50)

with a given positive constant $ \beta$ and location $ x^{c}$ in the domain.

When we insert Equation (1.48) we get a second order system of linear PDEs for the displacements $ u$ which is called the Lame equation. We want to solve this using the LinearPDE class to this. For a system of PDEs and a solution with several components the LinearPDE class takes PDEs of the form

$\displaystyle -(A\hackscore{ijkl} u\hackscore{k,l})\hackscore{,j}=-X\hackscore{ij,j} \; .$ (51)

$ A$ is of rank-4 Data object and $ X$ is of rank-2 Data object. We show here the coefficients relevant for the we trying to solve. The full form is given in Equation (4.4). The natural boundary conditions take the form:

$\displaystyle n\hackscore{j} A\hackscore{ijkl} u\hackscore{k,l}=n\hackscore{j}X\hackscore{ij} \;.$ (52)

Constraints take the form

$\displaystyle u\hackscore{i}=r\hackscore{i}$    where $\displaystyle q\hackscore{i}>0$ (53)

$ r$ and $ q$ are each rank-1 Data object. We can easily identify the coefficients in Equation (1.53):
$\displaystyle A\hackscore{ijkl}=\lambda \delta\hackscore{ij} \delta\hackscore{k...
...hackscore{ik} \delta\hackscore{jl}
+ \delta\hackscore{il} \delta\hackscore{jk})$     (54)
$\displaystyle X\hackscore{ij}=(\lambda+\frac{2}{3} \mu) \; \alpha \; (T-T\hackscore{ref})\delta\hackscore{ij}$     (55)

The characteristic function $ q$ defining the locations and components where constraints are set is given by:

$\displaystyle q\hackscore{i}(x)=\left\{ \begin{array}{cl} 1 & x\hackscore{i}=0 \\ 0 & \mbox{otherwise} \\ \end{array} \right.$ (56)

Under the assumption that $ \lambda$, $ \mu$, $ \beta$ and $ T\hackscore{ref}$ are constant we may use $ Y\hackscore{i}=(\lambda+\frac{2}{3} \mu) \; \alpha \; T\hackscore{i}$. However, this choice would lead to a different natural boundary condition which does not set the normal stress component as defined in Equation (1.48) to zero.

Analogously to concept of symmetry for a single PDE, we call the PDE defined by Equation (1.53) symmetric if

$\displaystyle A\hackscore{ijkl} =A\hackscore{klij}$     (57)

This Lame equation is in fact symmetric, given the difference in $ D$ and $ d$ as compared to the scalar case. The LinearPDE class is notified of this fact by calling its setSymmetryOn method.

After we have solved the Lame equation we want to analyse the actual stress distribution. Typically the von-Mises stress defined by

$\displaystyle \sigma\hackscore{mises} = \sqrt{ \frac{1}{2} ((\sigma\hackscore{0...
...2) + 3( \sigma\hackscore{01}^2+\sigma\hackscore{12}^2+\sigma\hackscore{20}^2) }$ (58)

is used to detect material damage. Here we want to calculate the von-Mises and write the stress to a file for visualization.

The following script, which is available in heatedbox.py in the example directory, solves the Lame equation and writes the displacements and the von-Mises stress into a file deform.xml in the VTK file format:
\begin{python}
from esys.escript import *
from esys.escript.linearPDEs import Li...
...)
...

Figure 1.11: von-Mises Stress and Displacement Vectors.
\includegraphics[width=100mm]{figures/HeatedBlock}

Finally the the results can be visualize by calling
\begin{python}
mayavi -d deform.xml -f CellToPointData -m VelocityVector -m SurfaceMap &
\end{python}
Note that the filter CellToPointData is applied to create smooth representation of the von-Mises stress. Figure 1.11 shows the results where the vertical planes showing the von-Mises stress and the horizontal plane shows the vector representing displacements.

esys@esscc.uq.edu.au