Elasticity/Kinematics example 2

From testwiki
Revision as of 02:38, 5 October 2021 by imported>Dave Braunschweig (Dave Braunschweig moved page Introduction to Elasticity/Kinematics example 2 to Elasticity/Kinematics example 2: Rename)
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

Example 2

Given: A body occupies the unit cube Xi[0,1] in the reference configuration. The mapping between the current and the reference configuration given by x1=X1+κX2, x2=X2, x3=X3.

Find:

  1. Sketch current configuration.
  2. Show that motion is isochoric.
  3. Find stretches in the directions 𝐞^1, 𝐞^2, (1/2)(𝐞^1+𝐞^2), and (1/2)(𝐞^1𝐞^2).
  4. Find the orthogonal shear strain between the reference material directions 𝐞^1 and 𝐞^2. Also between directions (1/2)(𝐞^1+𝐞^2) and (1/2)(𝐞^1𝐞^2).
  5. Find principal stretches and principal directions of stretch (κ=0.4).

Solution:

File:Kinematics ex2 fig1.png
Deformed shape.
  • All parallelograms that have the equal heights and the same base have equal areas. Hence, there is no volume change in this deformation. Hence isochoric.
  • Stretches in the material direction 𝐆^ are given by
λ(𝐆^)=𝐆^:π‘ͺ:𝐆^

where π‘ͺ is the Cauchy-Green deformation tensor

π‘ͺ=𝑭T𝑭

We will use Maple to calculate the stretches in the four directions.

      with(linalg):
      x := array(1..3): X := array(1..3): 
      x[1] := X[1] + k*X[2]: x[2] := X[2]: x[3] := X[3]:
      F := linalg[matrix](3,3):
      for i from 1 to 3 do
        for j from 1 to 3 do
          F[i,j] := diff(x[i],X[j]); 
        end do;
      end do;
      evalm(F);
      C := evalm(transpose(F)&*F);
      e1 := linalg[matrix](1,3,[1,0,0]): 
      e2 := linalg[matrix](1,3,[0,1,0]):
      e1pe2 := evalm((e1 + e2)/sqrt(2)): 
      e1me2 := evalm((e1-e2)/sqrt(2)):''
      lambda[1] := sqrt(evalm(evalm(e1&*C)&*transpose(e1))[1,1]);
      lambda[2] := sqrt(evalm(evalm(e2&*C)&*transpose(e2))[1,1]);
      lambda[3] := simplify(sqrt(evalm(evalm(e1pe2&*C)&*transpose(e1pe2))[1,1]));
      lambda[4] := simplify(sqrt(evalm(evalm(e1me2&*C)&*transpose(e1me2))[1,1]));
F:=[1k0010001]
C:=[1k0kk2+10001]
λ1:=1
λ2:=k2+1
λ3:=4+4k+2k22
λ4:=44k+2k22

The following figure shows that the calculated stretches are correct.

File:Kinematics ex2 fig2.png
Stretches
  • The orthogonal shear strain between two orthogonal units vectors 𝐆^1 and 𝐆^2 in the reference material co-ordinate system is given by
γ(𝐆^1,𝐆^2)=sin1(𝐆^1:𝐂:𝐆^2λ(𝐆^1)λ(𝐆^2))

Once again, we will use Maple to calculate these strains. The steps are the same upto the calculation of the stretches.

      numer1 := evalm(evalm(e1&*C)&*transpose(e2))[1,1]:
      denom1 := lambda[1]*lambda[2]:
      ratio1 := numer1/denom1:
      gam1 := arcsin(ratio1);
      numer2 := simplify(evalm(evalm(e1pe2&*C)&*transpose(e1me2))[1,1]):
      denom2 := lambda[3]*lambda[4]:
      ratio2 := numer2/denom2:
      gam2 := arcsin(ratio2);
γ1:=sin1(kk2+1)
γ2:=sin1(2k24+4k+2k244k+2k2)

The following figure shows that the calculated orthogonal shear strains are correct.

File:Kinematics ex2 fig3.png
Orthogonal shear strains

The value of γ1 can easily be verified using the definition of sinγ. For the verification of the value of γ2, the cosine law

cos(A)=b2+c2a22bc

has to be used. Note that the actual length of the sides b and c of the triangle is obtained after multiplying the values shown in the figure by the length of the diagonal (2). Hence, the calculated values are correct.

      b := sqrt(2)/2*lambda[4]:
      c := sqrt(2)/2*lambda[3]:
      a := 1:
      A := (b^2 + c^2 - a^2)/(2*b*c);
A:=2k24+4k+2k244k+2k2
  • The principal stretches are given by the square roots of the eigenvalues of π‘ͺ. The principal directions are the eigenvectors of π‘ͺ.

Once again, we use Maple for our calculations.

      CC := linalg[matrix](3,3):
      for i from 1 to 3 do
        for j from 1 to 3 do
          CC[i,j] := eval(C[i,j], k=0.4);
        end do;
      end do;
      evalm(CC);
      eigvals := eigenvals(CC);
      PrinStretch[1] := sqrt(eigvals[1]);
      PrinStretch[2] := sqrt(eigvals[2]);
      PrinStretch[3] := sqrt(eigvals[3]);
      PrinDir := eigenvects(CC);
CC:=[10.400.41.160001]
eigvals:=0.67,1.0,1.49
PrinStretch[1]:=0.82,PrinStretch[2]:=1.0,PrinStretch[3]:=1.22
PrinDir[1]:=[0.77,0.63,0.];PrinDir[2]:=[0,0,1];PrinDir[3]:=[0.63,0.77,0.]

Template:Subpage navbar