Nonlinear finite elements/Homework 6/Solutions/Problem 1/Part 15

Problem 1: Part 15

Express the stress rate and the modified rate of deformation in the global coordinate system.

The modified laminar rate of deformation is

${\displaystyle {\begin{bmatrix}D_{xx}\\D_{yy}\\D_{xy}\end{bmatrix}}={\begin{bmatrix}2.4837\\-14.902\\-0.5\end{bmatrix}}}$

Alternatively, we can write

${\displaystyle \mathbf {D} _{\text{lam}}={\begin{bmatrix}2.4837&-0.5\\-0.5&-14.902\end{bmatrix}}~.}$

The modified laminar stress rate is

${\displaystyle {\cfrac {D}{Dt}}{\begin{bmatrix}\sigma _{xx}\\\sigma _{yy}\\\sigma _{xy}\end{bmatrix}}={\begin{bmatrix}100&60&0\\60&10&0\\0&0&30\end{bmatrix}}{\begin{bmatrix}2.4837\\-14.902\\-0.5\end{bmatrix}}={\begin{bmatrix}-645.76\\0\\-15\end{bmatrix}}~.}$

Alternatively, we can write

${\displaystyle {\cfrac {D}{Dt}}({\boldsymbol {\sigma }}_{\text{lam}})={\begin{bmatrix}-645.76&-15\\-15&0\end{bmatrix}}~.}$

To get the global stress rate and rate of deformation, we have to rotate the components to the global basis using

${\displaystyle {\cfrac {D}{Dt}}({\boldsymbol {\sigma }})=\mathbf {R} _{\text{lam}}{\cfrac {D}{Dt}}({\boldsymbol {\sigma }}_{\text{lam}})\mathbf {R} _{\text{lam}}^{T}~;\qquad \mathbf {D} =\mathbf {R} _{\text{lam}}\mathbf {D} _{\text{lam}}\mathbf {R} _{\text{lam}}^{T}~.}$

Computing these quantities gives us

${\displaystyle {\cfrac {D}{Dt}}({\boldsymbol {\sigma }})={\begin{bmatrix}-337.88&322.88\\322.88&-307.88\end{bmatrix}}~.}$

and

${\displaystyle \mathbf {D} ={\begin{bmatrix}-6.7092&-8.6929\\-8.6829&-5.7092\end{bmatrix}}~.}$

The Maple code for the above computations is given below.

> # > # Apply plane stress condition > # > Dxx := DLamVoigt[1,1]; > Dyy := -C13*Dxx/C11; > # > # Updated laminar rate of deformation > # > DLamVoigtUpd := linalg[matrix](3,1,[Dlam[1,1], Dyy, Dlam[1,2]]); > # > # Updated laminar stress > # > DDtSigLamVoigtUpd := evalm(CLamVoigt&*DLamVoigtUpd); > # > # Rotate back to global basis > # > PlaneStressSig := array(1..2,1..2,symmetric): > PlaneStressSig[1,1] := DDtSigLamVoigtUpd[1,1]: > PlaneStressSig[2,2] := DDtSigLamVoigtUpd[2,1]: > PlaneStressSig[1,2] := DDtSigLamVoigtUpd[3,1]: > evalm(PlaneStressSig); > GlobalPlaneStressSig := evalm(Rlam&*PlaneStressSig&*RlamT); > PlaneStressDlam := array(1..2,1..2,symmetric): > PlaneStressDlam[1,1] := DLamVoigtUpd[1,1]: > PlaneStressDlam[2,2] := DLamVoigtUpd[2,1]: > PlaneStressDlam[1,2] := DLamVoigtUpd[3,1]: > evalm(PlaneStressDlam); > GlobalPlaneStressDlam := evalm(Rlam&*PlaneStressDlam&*RlamT);