Application Center - Maplesoft

App Preview:

Tensor Analysis of Deformation

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

Tensor analysis of deformation

Part 1 - Coordinates, motion and deformation gradient

Prof Lars-Erik Lindgren

Lule University of Technology, Sweden

lel@cad.luth.se

Aim

This is a complement to text books about large deformations. Different coordinate systems and motions can be defined and deformation tensors used for describing the deformation can be computed. Thus it can be used for problem solution in courses but also for verifying computational implementations in for example finite element codes. The worksheet gives the mathematical definitions and also contains some derivations.

The worksheet is implemented using Maple6 and has OLE to PowerPoint docs and Equation Editor 3 formulas. Therefore, it is only complete when run on a PC.

Part 1 - Coordinates, motion and deformation gradient (this worksheet)

The coordinate systems and the motion are defined. Velocities, accelerations and deformation gradient are computed.

The worksheet sets the stage for the other parts by ending with the important deformation gradient tensor.

Part 2a - Deformation in material description (under development)

Different strain measures are defined and computed using the material coordinates.

Part 2b - Deformation in spatial description (future development)

Different strains measures are defined and computed using the spatial coordinates.

Part 2c - Incremental description (future development)

Different incremental quantities used in an Update-Lagrangian finite element formulation are defined and computed.

Initialisation and loading of needed Maple Packages.

> restart

> with(linalg)

> with(tensor)

printlevel is set to 0 in order to turn off echo from loop

> printlevel := 0

Warning, the protected names norm and trace have been redefined and unprotected

Utility tensors

We define the Kroneckers delta (covariant version)

> delta_compts := array(identity,1 .. 3,1 .. 3)

> delta_cov := create([-1, -1],eval(delta_compts))

Coordinate systems, X and x

We will rely on coordinates even if tensor equation can be used for coordinate free notations.

We will refer to a Cartesian system z (Z when discussing material coordinates) in some derivations.

X are the material coordinates and x are the spatial coordinates, see the Figure below.

See Ch. 4.1 in [2], Ch. 4.3 in [3], Ch. 2.2 in [4], Ch. 2.1 in [5].

The coordinate systems may be curvilinear and we will therefore have to differ between covariant and contravariant components of tensors. See references 2-4 and 8 .

Capital letters denote quantities described in the material coordinates - called a Lagrangian description.

Small letters denote quantities described in the spatial coordinates - called an Eularian description.

[Maple OLE 2.0 Object]

Figure. Configurations of a body.

See pages 25-28 in [1], pages 33-35 in [2], page 630 in [3], pages 15-20 in [5].

Define coordinate systems

Set up of coordinate systems and inverse relations.

Define your coordinate systems below!

The spatial coordinates z(x) and the inverse relation x(z)

The coordinate system is defined. Coordinates are usually written as [Maple OLE 2.0 Object] (except in reference 4) but note that the coordinates themselves are not tensors (p. 603 in [3], p 7,12 in [8]). This is also used here with exception of Maple formulas where the arrays ( x etc below) are subscripted.

We will need the inverse relation when setting up the Christoffel symbol later, [Maple OLE 2.0 Object] . We denote the inverse x ( z ) mapping by x1 ( z ) as the symbol x is already used and Maple will complain on a recursive assignment.

The tangent base vector is tangent to the coordinate lines, see the Figure below. The components of tensor expressed in these base vectors are its contravariant components, [Maple OLE 2.0 Object] (p. 10 in [8]). This is the space of tangent vectors (Ch. 1.2 in [1], p. 59 in [9]). They are written as (described w.r.t to the Cartesian coordinate system)

[Maple OLE 2.0 Object] Eq. (1.1)

[Maple OLE 2.0 Object]

Figure. Tangent base vectors.

See pages 28-29 in [1], page 630 in [3], page 18 in [4].

The metric introduced later will make it possible to use an alternative representation of a tensor, covariant components. This can be interpreted in our context as an alternative representation using cotangent base vectors. They belong to a dual space (Ch. 1.2 in [1], p. 61 in [9]) of the vector space for our tangent vectors. It is the space of tangent functions. The cotangent base vectors are defined as

[Maple OLE 2.0 Object] Eq. (1.2)

The Figure below shows the cotangent base vectors which are orthogonal to the coordinate surfaces. They are obtained from differentials of these functions (thereby the space of tangent functions). Note that the base vectors are not unit vectors. The tangent base vector is defined as in the Figure above and the length and the direction of the normal base vector is given by Eq. (2).

[Maple OLE 2.0 Object]

Figure. Cotangent base vectors.

See page 18 in [4].

Contravariant and covariant tensor transforms differently under change of coordinates (Ch. I.2 in [3], Ch. 1.3-4 in [8]). Denote the change of coordinates by x = x ( x ).

The differential of the coordinates (e.g. a small displacement) is a prototype of a contravariant tensor. Its components changes as

[Maple OLE 2.0 Object] Eq. (1.3)

The differential of a scalar function (partial derivative) is the prototype of a covariant tensor. Its components changes as

[Maple OLE 2.0 Object] Eq. (1.4)

The '' are used so that Maple do not evaluate the inverse mapping to x1 from z all the way back to the mapping from x (this would lead to x1 expressed in x ). Otherwise, we will not be able to take the derivative of x [](= x1 []) w.r.t. z [].

> assume(0 <= r)

> x := array(1 .. 3,[r, theta, zax])

> z := array(1 .. 3,[r*cos(theta), r*sin(theta), zax]...

> x1 := array(1 .. 3,[sqrt((''z[1]'')*(''z[1]'')+(''z...

x := vector([r, theta, zax])

z := vector([r*cos(theta), r*sin(theta), zax])

x1 := vector([sqrt(('z[1]')^2+('z[2]')^2), arctan('...

Material coordinates

See comments for spatial system.

Polar system (see comments for spatial coordinates)

> assume(0 <= R)

> X := array(1 .. 3,[R, Theta, Zax])

> Z := array(1 .. 3,[R*cos(Theta), R*sin(Theta), Zax]...

> X1 := array(1 .. 3,[sqrt((''Z[1]'')*(''Z[1]'')+(''Z...

X := vector([R, Theta, Zax])

X := vector([R, Theta, Zax])

Z := vector([R*cos(Theta), R*sin(Theta), Zax])

X1 := vector([sqrt(('Z[1]')^2+('Z[2]')^2), arctan('...

Spatial metric tensors g and G

The definition of a positive definite metric for measuring distances is the fundamental definition for setting up the relations for the kinematics of deformable bodies.

Riemann space - the metric (covariant) tensor of the second order is symmetric (Ch. 2.1 in [8]).

Euclidean space - same as above and it is positive definite (Ch. 2.1 in [8]).

The Euclidean metric in the material and current coordinates is defined as the inner product (assuming we have a

Cartesian coordinate system z ).

[Maple OLE 2.0 Object] Eq. (1.5a,b)

where g and G are the metric tensors

[Maple OLE 2.0 Object] Eq. (1.6a,b)

Using Eq. (1.1) makes it possible to write

[Maple OLE 2.0 Object] Eq. (1.7a,b)

Thus we have a general definition of the metric for any coordinate system. See the Figure below for the case of a cylindrical coordinate system.

[Maple OLE 2.0 Object]

Figure. Metric tensor for cylindrical coordinate system

The basic definitions (when working without reference to an ambient coordinate system like z ) are (Box 2.1 in [1])

Tangent base vector - based on partial derivative

[Maple OLE 2.0 Object] Eq. (1.8)

with transformation rule

[Maple OLE 2.0 Object] Eq. (1.9)

Cotangent base vector (normal base vector, one-form) - based on differential operator

[Maple OLE 2.0 Object] Eq. (1.10)

with transformation rule

[Maple OLE 2.0 Object] Eq. (1.11)

The covariant metric tensors are written as

[Maple OLE 2.0 Object] Eq. (1.12a,b)

The description above indicates also why analysis of deformation is a tensor analysis and why it needs both contravariant as well as covariant descriptions. They are connected to partial derivatives vectors and differentials of functions which are used in the analysis of deformation.

(Covariant components of the) Metric tensor for current coordinates g

> g_compts := array(symmetric,1 .. 3,1 .. 3,[])

> for i to 3 do for j from i to 3 do g_compts[i,j] :=...

> g := create([-1, -1],simplify(g_compts))

g := TABLE([index_char = [-1, -1], compts = matrix(...

(Covariant components of the) Metric tensor for material coordinates G

we represent the current coordinates in the Euclidean space as:

(we take the derivative w.r.t Phi as it is a function of X )

> G_compts := array(symmetric,1 .. 3,1 .. 3,[])

> for i to 3 do for j from i to 3 do G_compts[i,j] :=...

> G := create([-1, -1],simplify(G_compts))

G := TABLE([index_char = [-1, -1], compts = matrix(...

Inverse metric tensors

The inverse of the metric tensors are also needed. The metric and inverse metric tensors can be used to "raise and lower" indexes, i.e. transforming to and from a contravariant or covariant representation of a tensor (p. 578 in [3], Ch. 2.2 in [8]). This property comes from the properties in Eq.s (1.1) and (1.7).

[Maple OLE 2.0 Object] Eq. (1.13a,b)

> ginv := invert(g,'detg')

> Ginv := invert(G,'detG')

ginv := TABLE([index_char = [1, 1], compts = matrix...

Ginv := TABLE([index_char = [1, 1], compts = matrix...

The use of the metric makes it possible to identify that thes covariant and contravariant descriptions correspond to the same tensor. Observe that one has to differ between the tensor components and the tensor itself. It is sometimes also necessary to rework the component expressions in order to obtain meaningful physical components (Ch. I.5, II.1 in [3], Ch. 5.1 in [8]). Meaningful physical componentes refer to those components we are used to in a rectangular Cartesian coordinate system.

Christoffel symbol

This is needed in the computation of covariant derivatives which contains change in

tensor components and in base vectors (Ch. I.6 in [3], Ch. 2.4-5 in [8]).

The Christoffel symbol (it is not a tensor) gives the change of the base vector

[Maple OLE 2.0 Object] Eq. (1.14)

One can also set up the Cristoffel symbol for the material coordinate system. This is denoted as

[Maple OLE 2.0 Object] Eq. (1.15)

[Maple OLE 2.0 Object]

Play the Powerpoint presentation above to see the derivation of the non-zero components of the Christoffel symbol.

Below we need the inverse relation x ( z ) but we have to use the notation x1 ( z ) (otherwise Maple will complain)

> gam_compts := array(1 .. 3,1 .. 3,1 .. 3,[])

> for a to 3 do for b to 3 do for c to 3 do termabc :...
for a to 3 do for b to 3 do for c to 3 do termabc :...
for a to 3 do for b to 3 do for c to 3 do termabc :...
for a to 3 do for b to 3 do for c to 3 do termabc :...
for a to 3 do for b to 3 do for c to 3 do termabc :...
for a to 3 do for b to 3 do for c to 3 do termabc :...

> christ := create([-1, -1, 1],eval(gam_compts))

Motion

The motions is defined and the associated velocities etc can be computed.

Define your motion below!

Currently torsion around z-axis which increases with time is defined.

Define motion

x = F ( X ,t) is a regular motion and we also need its inverse relation X = f ( x ,t). This is called the configuration of the body.

Definition 1.1 in [1], Ch. 4.1 in [2], Ch. 4.3 in [3], Ch. 2.2 in [4], Ch. 2.1 in [5].

Set up the motion and its inverse below. The ' symbol is used to prevent Maple from interprete x into X in the inverse relation.

Note that the displacement equations u = x - X ( x ) or U = x ( X )- X are not tensor equations. They only make sense if we have an ambient space with a Cartesian structure to refer to (which we use in this worksheet), Box 3.1 and def. 3.22 in [1].

> r := R

> theta := Theta+omega*t*Zax

> zax := Zax

> Phi := array(1 .. 3,[R, Theta+omega*t*Zax, Zax])

> phi := array(1 .. 3,['r', ('theta')-omega*t*('zax')...

r := R

theta := Theta+omega*t*Zax

zax := Zax

Phi := vector([R, Theta+omega*t*Zax, Zax])

phi := vector([r, theta-omega*t*zax, zax])

Velocity and acceleration

[Maple OLE 2.0 Object]

Figs 1.1.2 & 1.1.3 in [1], Ch. 2.5 in [1], Ch. 4.2,4 in [2], p. 141-143 in [3]

[Maple OLE 2.0 Object]

Example of contribution to acceleration due to change in direction (base vector) for a circular motion.

Material velocity

[Maple OLE 2.0 Object] Eq. (1.16)

> V_compts := map(diff,Phi,t)

> Vel := create([1],eval(V_compts))

V_compts := vector([0, omega*Zax, 0])

Vel := TABLE([index_char = [1], compts = vector([0,...

Spatial velocity

[Maple OLE 2.0 Object] Eq. (1.17)

> v_compts := V_compts

> for a to 3 do for b to 3 do v_compts[a] := simplify...

> vel := create([1],eval(v_compts))

vel := TABLE([index_char = [1], compts = vector([0,...

Material acceleration

[Maple OLE 2.0 Object] Eq. (1.18)

The spatial Cristoffel symbol is used above and we substitute x with x ( X ,t) to get A ( X )

> A_compts := array(1 .. 3,[])

> for a to 3 do S := 0; for b to 3 do for c to 3 do S...
for a to 3 do S := 0; for b to 3 do for c to 3 do S...
for a to 3 do S := 0; for b to 3 do for c to 3 do S...
for a to 3 do S := 0; for b to 3 do for c to 3 do S...
for a to 3 do S := 0; for b to 3 do for c to 3 do S...
for a to 3 do S := 0; for b to 3 do for c to 3 do S...

> Acc := create([1],eval(A_compts))

Acc := TABLE([index_char = [1], compts = vector([-R...

Spatial acceleration

[Maple OLE 2.0 Object] Eq. (1.19)

> a_compts := array(1 .. 3,[])

> for a to 3 do S := 0; for b to 3 do S := S+diff(v_c...
for a to 3 do S := 0; for b to 3 do S := S+diff(v_c...
for a to 3 do S := 0; for b to 3 do S := S+diff(v_c...
for a to 3 do S := 0; for b to 3 do S := S+diff(v_c...
for a to 3 do S := 0; for b to 3 do S := S+diff(v_c...
for a to 3 do S := 0; for b to 3 do S := S+diff(v_c...

> acc := create([1],eval(a_compts))

acc := TABLE([index_char = [1], compts = vector([-r...

Deformation gradient, F

The deformation gradient is the derivative of the configuration of the body. It is a two-point tensor gives the mapping between points in the original geometry ( X ) to current geometry ( x ). It has the basic information for the different strain measures that can be formed.

It can be computed when the coordinate system and the motion are defined.

Note that it transforms like a vector under a change of coordinate system (for x and/or X ) even if it has two indexes.

Deformation gradient F

The deformation tensor is a two-point tensor mapping a neighbourhood d X to d x .

Thus it includes the information about rigid body motion and the deformation. It is an essential ingredient in the analysis of deformation (p 11 in [9]). The local (tangent of the manifold) behaviour of the motion belongs to a linear vector space even if the motion is a non-linear deformation map.

[Maple OLE 2.0 Object] Eq. (1.20)

And it relates the infinitesimal vector d X at X with the infinitesimal vector d x at x by

[Maple OLE 2.0 Object] Eq. (1.21)

[Maple OLE 2.0 Object]

Deformation gradient and its split into rotation and deformation. This is discussed in later worksheets.

Ch 1.3 in [1], Ch. 6.3 in [2], Ch. 4.5 in [3], Ch. 2..2 in [5].

[Maple OLE 2.0 Object]

Play Powerpoint presentation above to see examples of motions and deformation gradients.

[Maple OLE 2.0 Object]

Linear mapping of neighbourhood.

The motion may be nonlinear but as long as it is a regular motion (page 27 in [1], then the mapping of neighbourhoods is linear according to [Maple OLE 2.0 Object] . Thus a square, infinitesimal element is mapped onto a parallellogram as shown above (and the corresponding linear mapping for a cube).

Thus one can use it to compute area changes, volume changes etc. This is discussed in later worksheets.

> F_compts := array(1 .. 3,1 .. 3,[])

> for i to 3 do for j to 3 do F_compts[i,j] := diff(P...

> F := create([1, -1],map(simplify,F_compts))

F := TABLE([index_char = [1, -1], compts = matrix([...

The transpose of the deformation gradient is defined below. It is used in the next worksheets in the context of

[Maple OLE 2.0 Object] Eq. (1.22a,b)

The transpose of a matrix is the well known swapping of rows and columns in the standard Cartesian coordinate system. However, a more general version is needed here. The more general version of inner products and transpose of a linear transformation is given in the Powerpoint presentation below. The need for this operator will appear in the next worksheet.

[Maple OLE 2.0 Object]

Play powerpoint presentation for background to definition of transpose.

Transpose of deformation gradient F^T

The transpose is (see Powerpoint presentation above)

[Maple OLE 2.0 Object] Eq. (1.23)

> FT := prod(prod(g,F,[1, 1]),Ginv,[1, 1])

> FT_compts := get_compts(FT)

> for a to 3 do for b to 3 do for c to 3 do FT_compts...

> print(FT)

TABLE([index_char = [-1, 1], compts = matrix([[1, 0...

> %?

References

[1] Mathematical Foundation of Elasticity , J.E. Marsden & T.J.R. Hughes, Prentice-Hall, 1983.

Comment: 

Very mathematical oriented book. Not so accessible for students in mechanical engineering.

Use general tensors and discusses the relation between derivation based on the use of coordinates and the coordinate free notation.

[2] Continuum mechanics , A.J.M. Spencer, Longman, 1980.

Comment: 

A very compact b ook but still are many equations derived in an accessible way.

It includes also a short introduction to Cartesian tensors.

[3] Introduction to the Mechanics of a Continuous Medium , L.E. Malvern, Prentice-Hall, 1969.

Comment:

Classic book on continuum mechanics with introduction to tensors. It is a "starting book" for studies.

[4] Mechanics of Solids with Applications to Thin Bodies , G. Wempner, Sijthoff & Noordhoff, 1981.

Comment:

Illustrative introduction to tensors and deformation in the 2nd chapter. The book focuses on rods, shells.

[5] Continuum theory of plasticity , A.S. Khan & S Huang, Wiley 1995

Comment:

An up-to-date book about the theory of plasticity.

[6] Non-linear Finite Element Analysis of Solids and Structures, Volume 1 , M.A. Crisfield, Wiley, 1991

Comment:

Good book about finite element formulations and their iplementation in the context of large deformations.

[7] Non-linear Finite Element Analysis of Solids and Structures, Volume 2 Advanced Topics , M.A. Crisfield, Wiley, 1997

Comment:

Continuation of work in reference [5]. Gives further details about algorithms for stress-strain relations and contact formulations.

[8] Tensor Calculus , J.L. Synge and A. Schild, Dover Publications, 1969.

Comment:

More about tensors in general.

[9] Applied Differential Geometry , W.L. Burke, Cambridge University Press, 1985.

Comment:

More about tensors in genera in a coordinate free wayl. The book makes a clear distinction between a vector (tangent vector space) and a 1-form (the dual space).