Notation

Both direct matrix notation and component form notation are used in the guide and are described in this section. Direct matrix notation is used whenever possible. However, vectors, matrices, and the higher-order tensors used in the theories must eventually be written in component form to store them as a set of numbers on the computer. Thus, both ways of writing these quantities will be needed in the guide.

The following topics are discussed:

ProductsAbaqus/StandardAbaqus/Explicit

Notation is often a serious obstacle that prevents an engineer from using advanced textbooks; for example, general curvilinear tensor analysis and functional analysis are both necessary in some of the theories used in Abaqus, but the unfamiliar notations commonly used in these areas often discourage the user from pursuing their study. The notation used in most of this guide (direct matrix notation) may be unfamiliar to some readers; but it is not difficult or time consuming to gain enough familiarity with the notation for it to be useful, and it is definitely worthwhile. This notation is commonly used in the modern engineering literature—it is a shorthand version of the familiar matrix notation used in many older engineering textbooks. The notation is appealing—once it is understood—because it allows the equations to be developed concisely, and the physical ideas can be perceived without the distraction of the complexities that arise from the choice of the particular basis system that will eventually be used to express the same concepts in component form. Because the notation has become so standard in the literature, the user who wishes or needs to read textbooks and papers that are related to the use of Abaqus will find that familiarity with this notation is desirable.

Basic quantities

The quantities needed to formulate the theory are scalars, vectors, second-order tensors (matrices), and—occasionally—fourth-order tensors (for example, the stress-strain transformation for linear elasticity). In direct matrix notation these are written as:

a scalar value a
a vector a or a
with the transpose aT or {a}
a second-order tensor or matrix a or [a]
with the transpose aT or [a]T
and
a fourth-order tensor A

Vectors and second-order tensors (matrices) are written in the same way: they are distinguished by the context. In direct matrix notation there is generally no need to indicate that a vector must be transposed. The context determines whether a vector is to be used as a “column” vector a or as a “row” vector aT. In this case the transpose superscript is only used to improve the readability of an expression. On the other hand, for second-order nonsymmetric tensors the addition of a transpose superscript will change the meaning of an expression.

This representation of vectors and tensors is very general and convenient for developing the theory so that the equations can be understood easily in terms of their physical meaning. However, in actual computations we have to work with individual numbers, so vectors and tensors must be expressed in terms of their components. These components are associated with an axis system that defines a set of base vectors at each point in space. The simplest axis system is rectangular Cartesian, because the base vectors are orthogonal unit vectors in the same direction at all points. Unfortunately, we need more generality than this because we will be dealing with shells and beams, where stress, strain, etc. are most conveniently described in terms of directions on the surface of the shell (or associated with the axis of the beam), and these usually change as we move around on the surface. To retain this necessary generality and express vectors and matrices in component form, we introduce a general set of base vectors, eα, α=1,2,3, which are not necessarily orthogonal or of unit length but are sufficient to define the components of a vector (for this purpose they must not be parallel or have zero length). A vector a can then be written

a=a1e1+a2e2+a3e3,

where the numbers a1, a2, and a3 are the components of a associated with e1, e2, and e3.

In actual cases the eα are chosen for convenience (for example, see Conventions for a description of how base vectors are chosen for surface elements in Abaqus), and then the aα are obtained.

To save writing, we adopt the usual summation convention that a repeated index is summed—in this case over the range 1 to 3—so that the above equation is written

a=aαeα.

Likewise, the component form of a matrix will be

a=eαaαβeβ=aαβeαeβ,

or, written out,

a=e1a11e1+e1a12e2+e1a13e3e2a21e1+e2a22e2+e2a23e3e3a31e1+e3a32e2+e3a33e3.

Similarly, a fourth-order tensor can be written in component form as

A=Aαβγδeαeβeγeδ.

While we will need such completely general base vectors for describing the stresses and strains on shells and beams, in many cases it is convenient to use rectangular Cartesian components so that the eα are orthogonal unit vectors. To distinguish this particular case, we will use Latin indices instead of Greek indices. Thus, eα are a set of general base vectors; while ei are rectangular Cartesian base vectors; and aα is the component of the vector a along a general base vector, while ai, i=1,2,3, is the component of a along the ith Cartesian direction.

Vector and tensor concepts and their representation are discussed in many textbooks—see Flugge (1972), for example.

Basic operations

The usual matrix and vector operators are indicated in this guide as follows:

Dot product of two vectors:

a=bc

(The dot symbol defines this operation completely, regardless of whether b or c is transposed—i.e., bc=bTc.)

Cross product of two vectors:

a=b×c

Matrix multiplication:

a=bc

(It is implicitly assumed that b and c are dimensioned correctly, as needed for the operation to make sense; in addition, if b is a nonsymmetric tensor, bTcbc.)

Scalar product of two matrices:

a=b:c

This operation means that corresponding conjugate components of the two matrices are multiplied as pairs and the products summed. Thus, for instance, if b is the stress matrix, σ, and c the conjugate rate of strain matrix, dε, then σ:dε would give the rate of internal work per volume, dWI.

It is also necessary to define the dyadic product of two vectors:

a=bc        or        a=bcT

This operation creates a second-order tensor (or dyad) out of two vectors. In component notation this notation is equivalent to aij=bicj.

A matrix of derivatives,

ab,

means

da=(ab)db.

Throughout this guide it will be assumed implicitly that, when a derivative is taken with respect to time, we mean the material time derivative; that is, the change in a variable with respect to time whilst looking at a particular material particle. When this is not the case for a particular equation, it will be stated explicitly when the equation appears.

Provided that we are careful about interpreting (a/b) in the manner illustrated above, standard concepts of elementary calculus clearly hold; for example, if a is a vector-valued function of the vector-valued function b, which in turn is a vector-valued function of c, that is a=a(b(c)), then

da=abbcdc,

or, if a(b,c):

da=abdb+acdc.

Due to these properties many useful results can be obtained quickly and expressed in a compact, easily understood, form.

Components of a vector or a matrix in a coordinate system

In the previous section we introduced the idea that a vector a or a matrix a can be written in terms of components associated with some conveniently chosen set of base vectors, eα. We now show how the components aα (or aαβ) are obtained. We can do so using the dot product. For each of the three base vectors, eα, we define a conjugate base vector eα, as follows. Choose e1 as normal to e2 and e3, such that the dot product e1e1=1. Similarly, choose e2 normal to e3 and e1, such that e2e2=1; and e3 normal to e1 and e2, such that e3e3=1. Thus,

e1e1=1,e1e2=0,e1e3=0
e2e1=0,e2e2=1,e2e3=0
e3e1=0,e3e2=0,e3e3=1

We can write this compactly as

eαeβ=δβα,

where δβα=1 if α=β, and δβα=0, otherwise. (δβα is called the “Kronecker delta.”) In matrix notation δβα is the unit matrix I: we can also write the above equation defining e1, e2, and e3 in matrix form as

{e1e2e3}.{e1}    {e2}    {e3}=I,

so that, if one set of base vectors—ei, say—is known, the others are easily obtained.

With this additional set of base vectors, we can immediately obtain the components of a vector or a matrix as follows.

Consider a vector a. Then aeα=aβeβeα (writing a in component form, using the basis vectors eβ), and since eβeα=δβα=1, only if α=β,

aeα=aβeβeα=aβδβα=aα.

In exactly the same way we could have written

aα=aeα

by expressing a as components associated with the eα base vectors, a=aαeα.

Similarly, for a matrix,

aαβ=(eα)Taeβ=eαaeβ,

and

aαβ=(eα)Taeβ=eαaeβ.

These component definitions are particularly convenient for calculating the dot product of two vectors, for we can write

ab=(aαeα)(bβeβ)=aαbβeαeβ,=aαbβδβα,=aαbα,

which is

ab=a1b1+a2b2+a3b3.

Similarly, the scalar product of two matrices is

a:b=aαβbβα;

that is, we simply multiply corresponding entries in the aαβ and bβα arrays, arranged as matrices, and then sum the products.

Finally, on the computer we need to store only one form of component: aα, aαβ or aα, aαβ. We can always go from one to the other using the “metric tensor,” gαβ, and its inverse, gαβ, which are defined as

gαβ=eαeβ,

and

gαβ=eαeβ.

For

aα=aeα    (from above),=aβeβeα    (expressing a in component form),=aβgβα    (by the definition of gβα).

Thus, aα=gβαaβ; similarly aα=gβαaβ, and, by extension, for matrices,

aαβ=gγαgδβaγδ

and

aαβ=gγαgδβaγδ.

The metric tensor and its inverse are symmetric:

gαβ=eαeβ=eβeα=gβα.

The two sets of base vectors and components of vectors or matrices associated with them are named as follows:

eα are covariant base vectors,
eα are contravariant base vectors,
aα(or aαβ) are covariant components of a vector (or matrix), 
aα(or aαβ) are contravariant components of a vector (or matrix).

Thus, the contravariant components are those associated with the covariant base vectors, a=aαeα, and vice versa. The simplest case is when the basis is a set of orthogonal unit vectors (a rectangular Cartesian system) because then—from the definition eαeβ=δβα—we see that eα=eα, and so aα=aα and we need not distinguish the type of component. Whenever possible a rectangular Cartesian system is chosen, so the type of component need not be distinguished. This system is discussed in more detail in the sections on beam elements and shell elements.

Components of a derivative

Consider a vector-valued function, b, which is expressed in component form on a basis system, eα. Let the vector-valued function a depend on b: a(b). Then

da=(ab)eαdbα

so that the component of da associated with a change dbα is

(ab)eα,

which we write, for convenience, as

(abα),

meaning

da=(abα)dbα.

Now suppose a is written on a different basis—Eα, say—so that we store a as the components

daα=daEα.

Then

daα=Eαabβdbβ.

Typically we would then write

daα=Hαβdbβ,

where

Hαβ=Eαabβ=Eαabeβ.

Readers who are familiar with general curvilinear tensor analysis will recognize Hαβ as the covariant derivative of aα with respect to bβ, often written as aα|β. The advantage of the direct matrix notation is clear: because we can imagine a and b as vectors in space, we have a physical understanding of what we mean by a/b; it is the change in the vector-valued function a as a function of another vector-valued function b. For computations we must express a and b in component form. Then

Hαβ=aα|β=Eαabeβ

provides the necessary components once we have chosen convenient basis systems: eα for b and Eα for a. Typically eα and Eα will both be the simple rectangular Cartesian bases

e1=(1,0,0)e2=(0,1,0)e3=(0,0,1)

everywhere. But sometimes we must use more complicated basis systems—examples are when we need quantities associated with the surface of a general shell and when the symmetry of the geometry and, possibly, of the deformation makes it convenient to work in an axisymmetric system. The careful projection of the general results written in direct matrix notation onto the chosen basis system allows us to implement the theory for computation.

As an example, consider the usual expression for strain rate,

ε˙=12(u˙x+[u˙x]T),

which requires the matrix u˙/x to be evaluated, where u˙ is the velocity of the material currently flowing through the point x in space. Let us now derive the components of ε˙ when the basis system for both u˙ and x is the cylindrical system that we usually choose for axisymmetric problems, with the basis vectors

e1 (radial) =(cosθ,sinθ,0)e2 (axial) =(0,0,1)e3 (circumferential) =(-sinθ,cosθ,0)

(in Abaqus for axisymmetric cases we always take the components in this order—radial, axial, circumferential). These basis vectors are orthogonal and of unit length, so that eα=eα.

We consider position to be defined by the coordinates (r,z,θ), with

dx=dre1+dze2+rdθe3,

so that

dx1=dr,    dx2=dz,    and    dx3=rdθ.

Thus,

u˙xα=(u˙r,u˙z,1ru˙θ),

where

u˙=u˙re1+u˙ze2+u˙θe3,

so that

u˙r=u˙rre1+u˙zre2+u˙θre3u˙z=u˙rze1+u˙zze2+u˙θze31ru˙θ=1ru˙rθe1+1ru˙zθe2+1ru˙θθe3+1ru˙re1θ+1ru˙θe3θ.

We know that

e1θ=(-sinθ,cosθ,0)=e3, and e3θ=(-cosθ,-sinθ,0)=-e1,

so that

1ru˙θ=1r(u˙rθ-u˙θ)e1+1ru˙zθe2+1r(u˙θθ+u˙r)e3,

and thus,

u˙αxβ=[u˙r/ru˙r/z(1/r)(u˙r/θ-u˙θ)u˙z/ru˙z/z(1/r)u˙z/θu˙θ/ru˙θ/z(1/r)(u˙θ/θ+u˙r)].

The components of the strain rate are thus

ε˙rr=u˙rr,    ε˙zz=u˙zz,    ε˙θθ=1r(u˙θθ+u˙r),
γ˙rz=2ε˙rz=2ε˙zr=u˙rz+u˙zr,    γ˙rθ=2ε˙rθ=2ε˙θr=1r(u˙rθ-u˙θ)+u˙θr,

and

γ˙zθ=2ε˙zθ=2ε˙θz=1ru˙zθ+u˙θz.

For the case of purely axisymmetric deformation, u˙θ=0 and u˙r/θ=u˙z/θ=0, so these results simplify to the familiar expressions

ε˙rr=u˙rr,    ε˙zz=u˙zz,    ε˙θθ=u˙rr
γ˙rz=u˙rz+u˙zr,    γ˙rθ=γ˙zθ=0.

In summary, direct matrix notation allows us to obtain all our fundamental results without reference to any particular choice of coordinate system. Careful application of the concept of the covariant derivative then allows these general results to be projected into component form for computation.

Virtual quantities

The concepts of virtual displacements and virtual work are fundamental to the development. Virtual quantities are infinitesimally small variations of physical measures, such as displacement, strain, velocity, and so on. The virtual variation of a scalar quantity a is indicated by δa; of a vector or matrix a by δa.

We extend this notation to such expressions as

δε=sym(δvx),

which is the symmetric part of the spatial gradient of a virtual vector field δv. This notation corresponds to the virtual rate of deformation (a measure of strain rate) if δv is a virtual velocity field.

Initial and current positions

Most structural problems concern the description of the way a structure behaves as it is loaded and moves from its reference configuration. Thus, we often compare positions of a point in the current (deformed) configuration and a reference configuration that is usually chosen as the configuration when the structure is unloaded or, in the case of geotechnical problems, when the model is subject only to geostatic stresses. To distinguish these configurations, we use lowercase type (x) to indicate the current position and uppercase type (X) to indicate the initial position of the same material point in the same spatial coordinate frame. In Abaqus we almost always store the rectangular Cartesian components of X and x. The exception is in axisymmetric structures, where radial (r) and axial (z) components are stored.

Nodal variables

So far we have discussed quantities that are considered to be associated with all points in a model. The finite element approximation is based on assuming interpolations, by which displacement, position, and—often—other variables at any material point are defined by a finite number of nodal variables. In this guide we use uppercase superscripts to refer to individual nodal variables or nodal vectors and adopt the summation convention for these indices.

Hence, the interpolation can be written quite generally as

a=NNaN,

where a is some vector-valued function at any point in the structure; NN(gα), N=1,2 up to the total number of variables in the problem, is a set of N vector interpolation functions (these are functions of the material coordinates, gα); and aN, N=1,2 is a set of nodal variables.

In some sections in this guide we need to describe operations on nodal variables for the complete system of finite element equations. In these sections we use the classical matrix-vector notation. In this notation {a} represents a column vector containing nodal variables, a represents a row vector, and a matrix is written as [A]. Common operations are the scalar product between two vectors,

c=a{b}

(which is equivalent to c=aNbN in index notation) and the matrix-vector product

{c}=[A]{b}

(which is equivalent to cM=AMNbN in index notation).