Elasticity/Kinematics example 2

Example 2

edit

Given: A body occupies the unit cube   in the reference configuration. The mapping between the current and the reference configuration given by  ,  ,  .

Find:

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

Solution:

edit
 
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

 

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]));
 
 
 
 
 
 

The following figure shows that the calculated stretches are correct.

 
Stretches
  • The orthogonal shear strain between two orthogonal units vectors   and   in the reference material co-ordinate system is given by
 

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);
 
 

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

 
Orthogonal shear strains

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

 

has to be used. Note that the actual length of the sides   and   of the triangle is obtained after multiplying the values shown in the figure by the length of the diagonal ( ). 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);
 
  • 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);