## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

**Introduction to “Hourglass” Modes
**

David J. Benson

March 9, 2003

Reduced integration does a lot of good things for an element: it reduces

the computational cost, it reduces shear and volume locking, and it generally

softens the element so that the predicted stress is more accurate. However,

reduced integration also makes elements too soft in the sense that modes

other than rigid body modes aren’t resisted by the element. These modes,

which were originally noticed in ﬁnite diﬀerence calculations in two dimen-

sions in the 1960s, are historically called hourglass or keystone modes because

of their shape. For other elements, the modes don’t have these shapes, and

the modes are commonly referred to as zero energy modes.

1 Mathematical Preliminaries: Vectors and

Covectors

When we are working in cartesian space, such as (x

1

, x

2

) with the basis

vectors e

1

and e

2

, an arbitrary vector in the space, a, can be written

a = (a · e

1

)e

1

+ (a · e

2

)e

2

= a

1

e

1

+ a

2

e

2

. (1)

Suppose, however, that two other basis vectors, ˆ e

1

and ˆ e

2

, are chosen and

they aren’t perpendicular to each other and, just to make things a little more

complicated, they don’t have a unit length. Expressing a in terms of these

new basis vectors isn’t as simple as it was for e

1

and e

2

. Our goal is to

determine the coeﬃcients ˆ a

1

and ˆ a

2

so that

a = ˆ a

1

ˆ e

1

+ ˆ a

2

e

2

. (2)

1

1 MATHEMATICAL PRELIMINARIES: VECTORS ANDCOVECTORS2

The most direct approach is to solve two linear equations for the coeﬃcients

which are generated by taking the dot product of Equation 2 with e

1

and

e

2

, namely

_

ˆ e

1

· e

1

ˆ e

2

· e

1

ˆ e

1

· e

2

ˆ e

2

· e

2

_ _

ˆ a

1

ˆ a

2

_

=

_

a

1

a

2

_

. (3)

The solution is

1

det

_

ˆ e

2

· e

2

−ˆ e

2

· e

1

−ˆ e

1

· e

2

ˆ e

1

· e

1

_ _

a

1

a

2

_

=

_

ˆ a

1

ˆ a

2

_

. (4)

The solution can be re-written in the form of a vector dot product if we deﬁne

the vectors

ˆ

E

1

and

ˆ

E

2

as

ˆ

E

1

=

1

det

_

ˆ e

2

· e

2

−ˆ e

2

· e

1

_

ˆ

E

2

=

1

det

_

−ˆ e

1

· e

2

ˆ e

1

· e

1

_

(5)

ˆ a

1

= a ·

ˆ

E

1

ˆ a

2

= a ·

ˆ

E

2

. (6)

These special vectors are the covectors for ˆ e

1

and ˆ e

2

. Some properties

are fairly obvious: the covectors of the covectors are the original set of basis

vectors, and that for a Cartesian coordinate system, the basis vectors are their

own covectors. It is, however, important to remember that basis vectors and

covectors both come in sets: the covector

ˆ

E

1

is not just a function of ˆ e

1

,

but also of all the other basis vectors. Change the other basis vectors, and

ˆ

E

1

will also change even if ˆ e

1

remains unchanged. The vectors and their

covectors have the property

ˆ

E

i

ˆ e

j

= δ

ij

(7)

but, in general,

ˆ

E

i

ˆ

E

j

= δ

ij

ˆ e

i

ˆ e

j

= δ

ij

. (8)

To make these ideas a little more concrete, let’s consider an example in

two dimensions, with the basis vectors ˆ e

1

= {1 0}

T

and ˆ e

2

= {cos(θ) sin(θ)}

T

.

The system of equations to be solved for ˆ a

1

and ˆ a

2

is

_

1 cos(θ)

0 sin(θ)

_ _

ˆ a

1

ˆ a

2

_

=

_

a

1

a

2

_

. (9)

Solving the system gives

1

sin(θ)

_

sin(θ) −cos(θ)

0 1

_ _

a

1

a

2

_

=

_

ˆ a

1

ˆ a

2

_

(10)

1 MATHEMATICAL PRELIMINARIES: VECTORS ANDCOVECTORS3

e

1

^

E

1

^

E

2

^

e

2

^

a

e

1

e

2

Figure 1: The vectors and covectors for θ equals 30 degrees.

and the covectors are therefore (see Figure 1)

ˆ

E

1

=

_

1

−

cos(θ)

sin(θ)

_

ˆ

E

2

=

_

0

1

sin(θ)

_

. (11)

The reason for introducing vectors and covectors here is B can be thought

of as being a collection of covectors corresponding to the nodal displacements

associated with the diﬀerent strain modes of an element. For example, in two

dimensions

11

= ∂u

1

/∂x

1

, and therefore a set of nodal displacements having

the form {x

1

, 0, x

2

, 0, . . . , x

n

, 0}, when multiplied by the ﬁrst row of B will

give the result

11

= 1. If this displacement vector is labelled b

1

, its covector

is B

1

, the ﬁrst row in B. An arbitrary displacement vector for an element

could therefore be expressed as

d = (B

1

· d)b

1

. . . =

11

b

1

. . . (12)

Since an element has more degrees of freedom than it has strains, the dis-

placement modes must be expanded to include other modes (e.g., rigid body

modes) to form a complete basis for the displacements of the nodes of the

element.

A particular type of mode that shows up in under-integrated elements is

the zero energy mode. The mathematics of vectors and covectors gives us a

language to use for discussing these zero energy modes, and the corresponding

extra rows of B required to calculate their amplitude.

2 ZERO ENERGY MODES IN ONE DIMENSION 4

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

N

1

(s)

N

2

(s)

N

3

(s)

°

° ° °

Figure 2: The shape functions for a one-dimensional quadratic element.

2 Zero Energy Modes in One Dimension

All the basic concepts associated with zero energy modes are easily demon-

strated in one dimension with a three-node quadratic element using one-point

integration. The interpolation functions and their derivatives for the three

nodes (see Figure 2) are

N

1

(s) =

1

2

s(s −1) (13)

N

2

(s) = 1 −s

2

(14)

N

3

(s) =

1

2

s(s + 1) (15)

∂N

1

∂s

= s −

1

2

(16)

∂N

2

∂s

= −2s (17)

∂N

3

∂s

= s +

1

2

(18)

2 ZERO ENERGY MODES IN ONE DIMENSION 5

The B matrix, for a general location within the element, is therefore

B(s) =

1

det(J)

[ s −

1

2

−2s s +

1

2

] (19)

J = x

1

(s −

1

2

) + x

2

(−2s) + x

3

(s +

1

2

) (20)

The nodal displacement vector corresponding to a uniform strain of 1

is { x

1

+ c x

2

+ c x

3

+ c }

T

, where c is any arbitrary constant, and cor-

responds to a rigid body translation of c. For convenience, we’ll call this

displacement vector b.

A second nodal displacement vector is the rigid body translation

r = { 1 1 1 }

T

(21)

and its corresponding covector is

R = { 1/3 1/3 1/3 }

T

. (22)

The product B· r = 0, but R· b = 1/3(x

1

+x

2

+x

3

) +c. To make R· b = 0,

we set c = −1/3(x

1

+ x

2

+ x

3

). We will use the shorthand x

c

i

= x

i

−c in the

subsequent equations.

Since the element has three nodes, the vector space of its nodal dis-

placements has a dimension of three and is spanned by any three linearly

independent vectors. This implies that there is a third vector that is linearly

independent of b and bfr that can be used to complete the space. Further-

more, there is a covector corresponding to this third vector which completes

the covector space for the element.

One choice for the third displacement vector becomes apparent when the

element is integrated using one-point integration, where the location and

weight are s = 0 and w = 2, respectively. The strain displacement matrix B

simpliﬁes to

B =

1

L

[ −1 0 1 ]. (23)

L = x

3

−x

1

(24)

The strain in the element is therefore not a function of the displacement at

node 2, and if nodes 1 and 3 don’t move, the element won’t generate any

stress regardless of the displacement of node 2. In a similar manner, since

the force vector is B

T

σL, node 2 won’t experience any force due to the stress

in the element.

2 ZERO ENERGY MODES IN ONE DIMENSION 6

By inspection, this peculiar mode, which we’ll label h, is

h = { 0 1 0 }

T

(25)

and it is orthogonal to B(0), i.e., B(0) · h = 0. The element stiﬀness matrix

for one-point integration is

K = ELB ⊗B, (26)

and therefore the strain energy associated with this mode is

U =

1

2

h

T

Kh = 0. (27)

The mode h is therefore a zero energy mode.

If a calculation is performed using this element, numerical roundoﬀ er-

rors in explicit calculations will possible lead to the motions of the central

nodes of the elements being the ones with the largest amplitudes in the cal-

culation. Since these zero energy modes are orthogonal to the stress and

strain in the elements, they don’t aﬀect the accuracy of the remainder of the

solution. In implicit quasi-static calculations, the rows and columns associ-

ated with the middle nodes are zero, and the stiﬀness matrix is singular. In

multi-dimensional calculations, the zero energy modes may cause negative

Jacobians in the elements, which ends the analysis. A means of reducing the

impact of the zero energy modes on the calculation is therefore desirable.

Hourglass modes may be controlled by adding either stiﬀness or viscosity

terms to the equations. In large deformation calculations, a viscous term

is usually preferred to avoid building up large elastic forces in the system.

Stiﬀness terms are used in implicit quasi-static calculations to eliminate the

singularity of the stiﬀness matrix. For explicit calculations with small to

moderate deformations, and long time periods, a stiﬀness form of hourglass

control is often preferred to prevent hourglass modes from slowly building

up in the solution. Combinations of viscous and stiﬀness hourglass control

are also sometimes used, but usually one form of the control is adequate for

most calculations.

The simplest formulation to control the zero energy modes, which was

used originally in the ﬁnite diﬀerence community, is to simply add a viscous

term to the element force calculations,

F = B

T

σL + cLh ⊗h ˙ u (28)

2 ZERO ENERGY MODES IN ONE DIMENSION 7

where c is a small damping coeﬃcient. In a similar manner, the ﬁnite element

community added a term to the stiﬀness matrix,

K = ELB ⊗B + eLh ⊗h (29)

where e is a small elastic constant.

There is, however, one unfortunate problem with this simple formulation,

and that is the zero energy mode h isn’t orthogonal to the rigid body mode

r. The zero energy mode control in Equations 28 and 29 will resist rigid

body motion, a highly undesirable, nonphysical response. The appropriate

vector to use is the covector H. Just as B is orthogonal to r and h, and R

is orthogonal to b and h, H needs to be orthogonal to b and r. The required

covector is generated using Graham-Schmidt orthogonalization, a procedure

for making vectors orthogonal to each other, with h as the initial “guess” for

H,

H = h −(r · h) R−(b · h) B (30)

= [ x

c

2

/L −1/3 2/3 −x

c

2

/L −1/3 ]

T

. (31)

The orthogonality of H with respect to r and bfb is best demonstrated by

directly calculating the dot products. First, for the rigid body mode,

H · r = x

c

2

/L −1/3 + 2/3 −x

c

2

/L −1/3 (32)

= 0. (33)

The product with the strain mode is slightly more complicated,

H · b = H ·

_

x

c

1

x

c

2

x

c

3

_

T

(34)

= (x

c

1

x

c

2

)/L −x

c

1

/3 + 2x

c

2

/3 −(x

c

3

x

c

2

)/L −x

c

3

/L (35)

= (x

c

1

−x

c

3

)x

c

2

/L −(x

c

1

−2x

c

2

+ x

c

3

)/3 (36)

= −x

c

2

−(x

c

1

−2x

c

2

+ x

c

3

)/3 (37)

= −(x

c

1

+ x

c

2

+ x

c

3

)/3 = 0. (38)

(39)

Substituting H for h in Equations 28 and 29 gives two formulations

for controlling the hourglass mode without opposing rigid body motion or

altering the constant strain response,

F = −B

T

σL −cLH ⊗H ˙ u (40)

K = ELB ⊗B + eLH ⊗H (41)

2 ZERO ENERGY MODES IN ONE DIMENSION 8

Summarizing our results so far, the quadratic element has three basic

displacement modes:

1. The rigid body translation mode r = { 1 1 1 }

T

.

2. The strain mode b = { −L/2 0 L/2 }

T

. This mode has been nor-

malized so that B · b = 1.

3. The zero energy mode h = { −1/2 1 −1/2 }

T

, which has been nor-

malized so that H· h = 1 and it has been orthogonalized with respect

to r and b.

Since the element only has three degrees of freedom, and the three modes

are linearly dependent, these modes span the entire space of possible defor-

mations for the element.

Corresponding to the three displacement modes are the three covectors

that detect the amplitudes of the displacement modes in an arbitrary dis-

placement vector:

1. R = [ 1/3 1/3 1/3 ] is the rigid body covector.

2. B = [ −1/L 0 1/L ] is the familiar strain-displacement matrix.

3. H = [ −1/3 2/3 −1/3 ].

Just as the three displacement modes span the element’s vector space,

the covectors span its covector space. For example, the general form for the

strain-displacement matrix, B(s) can be expressed in terms of the covectors

as

B(s) =

L

2det(J)

B −

3s

det(J)

H. (42)

The element stiﬀness matrix, for uniformly spaced nodes, with exact integra-

tion is

K =

_

+1

−1

EB

T

(s)B(s)det(J)ds (43)

=

E

L

_

_

7/3 −8/3 1/3

−8/3 16/3 −8/3

1/3 −8/3 7/3

_

_

(44)

3 IMPLEMENTATION IN AN EXPLICIT CODE 9

Substituting Equation 42 into Equation 43 results in three terms,

K =

_

+1

−1

E

L

2

4det

2

(J)

B

T

B det(J)ds (45)

−

_

+1

−1

E

3Ls

det

2

(J)

(B

T

H +H

T

B) det(J)ds (46)

+

_

+1

−1

E

9s

2

det

2

(J)

H

T

H det(J)ds. (47)

The ﬁrst integral is the stiﬀness matrix that is obtained using 1-point integra-

tion. The second term, which is zero because

_

sds = 0, doesn’t contribute

to either the exact stiﬀness or numerically integrated stiﬀness matrices. The

third term is the diﬀerence between the exactly integrated stiﬀness matrix

and the one-point integration. Choosing

eL =

_

+1

−1

E

9s

2

det(J)

ds =

12E

L

(48)

for Equation 41 gives the exact stiﬀness matrix (for equally spaced nodes)

with one-point integration. This approach is also applicable to elements in

two and three dimensions.

3 Implementation in an Explicit Code

The implementation of the viscous and stiﬀness forms of the zero energy

mode control in an explicit ﬁnite element code are very similar. Calculating

the matrix H ⊗H requires n

2

ﬂoating point multiplies for an element with

n degrees of freedom. The cost of a matrix-vector multiply H ⊗Hu is also

high, requiring 2n

2

−n ﬂoating point operations. The implementation of the

zero energy mode control is therefore structured to avoid matrix operations.

For the current discussion, we’ll assume that both viscous and stiﬀness

control is used and that it has the form

F = −eH ⊗Hu −cH ⊗H ˙ u. (49)

The original implementations assumed that e and c are constants, but more

recent formulations have made them time dependent functions of the material

model, which makes a rate form for the stiﬀness contribution necessary. The

3 IMPLEMENTATION IN AN EXPLICIT CODE 10

rate form is also attractive even if e is constant because many explicit codes

don’t routinely store the total displacement vector, u. A generalized force,

f

h

, is stored for each element,

f

h

(t) =

_

t

0

eH · udt. (50)

The resulting implementation evaluates, in sequence,

˙ α = H · ˙ u (51)

f

n+1

h

= f

n

h

+te ˙ α (52)

F = (−f

n+1

h

−c ˙ α)H. (53)

The dot product for calculating ˙ α requires 2n −1 ﬂoating point operations,

the update of f

n+1

h

requires 3, and the ﬁnal evaluation of the force requires

n + 2, for a total of 3n + 4 operations. This implementation is therefore

approximately n times faster than evaluating H ⊗ H and performing the

matrix multiply. For an element with 3 degrees of freedom, this cost ratio

isn’t terribly important, but for an 8-node brick element, which has 24 degrees

of freedom, the diﬀerence in cost is substantial.

namely ˆ ˆ e1 · e1 e2 · e1 a1 ˆ a1 = . in general. the basis vectors are their own covectors.1 MATHEMATICAL PRELIMINARIES: VECTORS AND COVECTORS2 The most direct approach is to solve two linear equations for the coeﬃcients which are generated by taking the dot product of Equation 2 with e1 and e2 . ˆ −ˆ 1 · e2 e ˆ e1 · e1 (5) (6) ˆ ˆ These special vectors are the covectors for e1 and e2 . (9) . It is. with the basis vectors e1 = {1 0}T and e2 = {cos(θ) sin(θ)}T . ˆ ˆ E i E j = δij ˆˆ ei ej = δij . let’s consider an example in ˆ ˆ two dimensions. important to remember that basis vectors and ˆ ˆ covectors both come in sets: the covector E 1 is not just a function of e1 . but also of all the other basis vectors. The vectors and their covectors have the property ˆ ˆ (7) E i ej = δij but. however. Some properties are fairly obvious: the covectors of the covectors are the original set of basis vectors. Change the other basis vectors. ˆ The system of equations to be solved for a1 and a2 is ˆ 1 cos(θ) 0 sin(θ) Solving the system gives 1 sin(θ) sin(θ) − cos(θ) 0 1 a1 a2 = a1 ˆ a2 ˆ (10) a1 ˆ a2 ˆ = a1 a2 . (8) To make these ideas a little more concrete. (4) The solution can be re-written in the form of a vector dot product if we deﬁne ˆ ˆ the vectors E 1 and E 2 as 1 ˆ E1 = det ˆ e2 · e2 −ˆ 2 · e1 e ˆ a1 = a · E 1 ˆ 1 ˆ E2 = det ˆ a2 = a · E 2 . and that for a Cartesian coordinate system. and ˆ ˆ E 1 will also change even if e1 remains unchanged. (3) ˆ ˆ a2 ˆ a2 e1 · e2 e2 · e2 The solution is 1 det ˆ e e2 · e2 −ˆ 2 · e1 ˆ −ˆ 1 · e2 e e1 · e1 a1 a2 = a1 ˆ a2 ˆ .

. .. . the displacement modes must be expanded to include other modes (e. its covector is B 1 . (12) Since an element has more degrees of freedom than it has strains. The mathematics of vectors and covectors gives us a language to use for discussing these zero energy modes. If this displacement vector is labelled b1 . and the covectors are therefore (see Figure 1) ˆ E1 = 1 − cos(θ) sin(θ) ˆ E2 = 1 sin(θ) 0 . x2 . . A particular type of mode that shows up in under-integrated elements is the zero energy mode. and the corresponding extra rows of B required to calculate their amplitude. in two dimensions 11 = ∂u1 /∂x1 . = 11 b1 . 0. xn .. . . the ﬁrst row in B.g.. An arbitrary displacement vector for an element could therefore be expressed as d = (B 1 · d)b1 . . For example. and therefore a set of nodal displacements having the form {x1 .1 MATHEMATICAL PRELIMINARIES: VECTORS AND COVECTORS3 e2 ^ E2 a ^ e2 ^ e1 e1 E1 ^ Figure 1: The vectors and covectors for θ equals 30 degrees. 0}. (11) The reason for introducing vectors and covectors here is B can be thought of as being a collection of covectors corresponding to the nodal displacements associated with the diﬀerent strain modes of an element. rigid body modes) to form a complete basis for the displacements of the nodes of the element. when multiplied by the ﬁrst row of B will give the result 11 = 1. 0.

2 0. 2 Zero Energy Modes in One Dimension All the basic concepts associated with zero energy modes are easily demonstrated in one dimension with a three-node quadratic element using one-point integration.4 −0.2 ZERO ENERGY MODES IN ONE DIMENSION 1.2 N (s) 2 1 N1(s) 4 N (s) 3 0.6 −0.4 0.2 −1 Figure 2: The shape functions for a one-dimensional quadratic element.2 ° 0 0.6 0.4 0.8 −0.2 0° ° −0.8 ° 1 −0.8 0.6 0. The interpolation functions and their derivatives for the three nodes (see Figure 2) are N1 (s) = 1 s(s − 1) 2 N2 (s) = 1 − s2 1 s(s + 1) N3 (s) = 2 ∂N1 1 = s− ∂s 2 ∂N2 = −2s ∂s 1 ∂N3 = s+ ∂s 2 (13) (14) (15) (16) (17) (18) .

We will use the shorthand xc = xi − c in the i subsequent equations. we’ll call this displacement vector b. For convenience. node 2 won’t experience any force due to the stress in the element. for a general location within the element. L L = x3 − x1 (24) The strain in the element is therefore not a function of the displacement at node 2. the vector space of its nodal displacements has a dimension of three and is spanned by any three linearly independent vectors. but R · b = 1/3(x1 + x2 + x3 ) + c. is therefore B(s) = 1 [ s − 1 −2s s + 1 ] 2 2 det(J) 1 1 J = x1 (s − ) + x2 (−2s) + x3 (s + ) 2 2 5 (19) (20) The nodal displacement vector corresponding to a uniform strain of 1 is { x1 + c x2 + c x3 + c }T . Since the element has three nodes. and corresponds to a rigid body translation of c. In a similar manner. the element won’t generate any stress regardless of the displacement of node 2. where c is any arbitrary constant. . where the location and weight are s = 0 and w = 2. Furthermore. The strain displacement matrix B simpliﬁes to 1 (23) B = [ −1 0 1 ]. To make R · b = 0. A second nodal displacement vector is the rigid body translation r = { 1 1 1 }T and its corresponding covector is R = { 1/3 1/3 1/3 }T . (22) (21) The product B · r = 0. we set c = −1/3(x1 + x2 + x3 ). One choice for the third displacement vector becomes apparent when the element is integrated using one-point integration. there is a covector corresponding to this third vector which completes the covector space for the element. This implies that there is a third vector that is linearly independent of b and bf r that can be used to complete the space. since the force vector is B T σL.2 ZERO ENERGY MODES IN ONE DIMENSION The B matrix. respectively. and if nodes 1 and 3 don’t move.

In multi-dimensional calculations. i. and long time periods.. If a calculation is performed using this element. is h = { 0 1 0 }T 6 (25) and it is orthogonal to B(0). Stiﬀness terms are used in implicit quasi-static calculations to eliminate the singularity of the stiﬀness matrix. Since these zero energy modes are orthogonal to the stress and strain in the elements. and therefore the strain energy associated with this mode is 1 U = hT Kh = 0. 2 (27) (26) The mode h is therefore a zero energy mode. B(0) · h = 0. The simplest formulation to control the zero energy modes. ˙ F = B T σL + cLh ⊗ hu (28) . but usually one form of the control is adequate for most calculations. For explicit calculations with small to moderate deformations. is to simply add a viscous term to the element force calculations. A means of reducing the impact of the zero energy modes on the calculation is therefore desirable. In large deformation calculations. the zero energy modes may cause negative Jacobians in the elements. a stiﬀness form of hourglass control is often preferred to prevent hourglass modes from slowly building up in the solution. they don’t aﬀect the accuracy of the remainder of the solution. Combinations of viscous and stiﬀness hourglass control are also sometimes used. which was used originally in the ﬁnite diﬀerence community.2 ZERO ENERGY MODES IN ONE DIMENSION By inspection. which ends the analysis. which we’ll label h. and the stiﬀness matrix is singular. numerical roundoﬀ errors in explicit calculations will possible lead to the motions of the central nodes of the elements being the ones with the largest amplitudes in the calculation. a viscous term is usually preferred to avoid building up large elastic forces in the system.e. The element stiﬀness matrix for one-point integration is K = ELB ⊗ B. In implicit quasi-static calculations. Hourglass modes may be controlled by adding either stiﬀness or viscosity terms to the equations. this peculiar mode. the rows and columns associated with the middle nodes are zero.

In a similar manner. a procedure for making vectors orthogonal to each other. and that is the zero energy mode h isn’t orthogonal to the rigid body mode r. a highly undesirable. H ·b = = = = = H · xc xc xc 1 2 3 c c c (x1 x2 )/L − x1 /3 + 2xc /3 − (xc xc )/L − xc /L 2 3 2 3 (xc − xc )xc /L − (xc − 2xc + xc )/3 1 3 2 1 2 3 c c c c −x2 − (x1 − 2x2 + x3 )/3 −(xc + xc + xc )/3 = 0. with h as the initial “guess” for H. for the rigid body mode. K = ELB ⊗ B + eLh ⊗ h (29) where e is a small elastic constant. H · r = xc /L − 1/3 + 2/3 − xc /L − 1/3 2 2 = 0. nonphysical response. 1 2 3 T (32) (33) (34) (35) (36) (37) (38) (39) Substituting H for h in Equations 28 and 29 gives two formulations for controlling the hourglass mode without opposing rigid body motion or altering the constant strain response. The product with the strain mode is slightly more complicated. 2 2 (30) (31) The orthogonality of H with respect to r and bf b is best demonstrated by directly calculating the dot products. There is. and R is orthogonal to b and h. Just as B is orthogonal to r and h. The appropriate vector to use is the covector H. The zero energy mode control in Equations 28 and 29 will resist rigid body motion. ˙ F = −B T σL − cLH ⊗ H u K = ELB ⊗ B + eLH ⊗ H (40) (41) .2 ZERO ENERGY MODES IN ONE DIMENSION 7 where c is a small damping coeﬃcient. one unfortunate problem with this simple formulation. The required covector is generated using Graham-Schmidt orthogonalization. H = h − (r · h) R − (b · h) B = [ xc /L − 1/3 2/3 −xc /L − 1/3 ]T . First. H needs to be orthogonal to b and r. however. the ﬁnite element community added a term to the stiﬀness matrix.

The zero energy mode h = { −1/2 1 −1/2 }T . these modes span the entire space of possible deformations for the element. with exact integration is K = EB T (s)B(s)det(J)ds −1 7/3 −8/3 1/3 E −8/3 16/3 −8/3 = L 1/3 −8/3 7/3 +1 (43) (44) . and the three modes are linearly dependent. 3. B = [ −1/L 0 1/L ] is the familiar strain-displacement matrix. H = [ −1/3 2/3 −1/3 ]. Corresponding to the three displacement modes are the three covectors that detect the amplitudes of the displacement modes in an arbitrary displacement vector: 1. 3. for uniformly spaced nodes. For example. the quadratic element has three basic displacement modes: 1. the covectors span its covector space. the general form for the strain-displacement matrix. R = [ 1/3 1/3 1/3 ] is the rigid body covector. which has been normalized so that H · h = 1 and it has been orthogonalized with respect to r and b.2 ZERO ENERGY MODES IN ONE DIMENSION 8 Summarizing our results so far. 2. 2. The strain mode b = { −L/2 0 L/2 }T . The rigid body translation mode r = { 1 1 1 }T . Just as the three displacement modes span the element’s vector space. This mode has been normalized so that B · b = 1. (42) B(s) = 2det(J) det(J) The element stiﬀness matrix. B(s) can be expressed in terms of the covectors as 3s L B− H. Since the element only has three degrees of freedom.

2 det (J) −1 E +1 9 (45) (46) (47) The ﬁrst integral is the stiﬀness matrix that is obtained using 1-point integration. (49) The original implementations assumed that e and c are constants. The second term. The third term is the diﬀerence between the exactly integrated stiﬀness matrix and the one-point integration. K = − + L2 B T B det(J)ds 4det2 (J) −1 +1 3Ls (B T H + H T B) det(J)ds E 2 det (J) −1 +1 9s2 E H T H det(J)ds. doesn’t contribute to either the exact stiﬀness or numerically integrated stiﬀness matrices. The . The implementation of the zero energy mode control is therefore structured to avoid matrix operations. requiring 2n2 − n ﬂoating point operations. which makes a rate form for the stiﬀness contribution necessary. we’ll assume that both viscous and stiﬀness control is used and that it has the form ˙ F = −eH ⊗ Hu − cH ⊗ H u. This approach is also applicable to elements in two and three dimensions.3 IMPLEMENTATION IN AN EXPLICIT CODE Substituting Equation 42 into Equation 43 results in three terms. which is zero because sds = 0. Calculating the matrix H ⊗ H requires n2 ﬂoating point multiplies for an element with n degrees of freedom. For the current discussion. Choosing eL = +1 −1 E 12E 9s2 ds = det(J) L (48) for Equation 41 gives the exact stiﬀness matrix (for equally spaced nodes) with one-point integration. 3 Implementation in an Explicit Code The implementation of the viscous and stiﬀness forms of the zero energy mode control in an explicit ﬁnite element code are very similar. but more recent formulations have made them time dependent functions of the material model. The cost of a matrix-vector multiply H ⊗ Hu is also high.

which has 24 degrees of freedom. u. in sequence. fh . (50) The resulting implementation evaluates. n+1 fh ˙ α = H ·u ˙ n = fh + teα ˙ n+1 ˙ F = (−fh − cα)H. this cost ratio isn’t terribly important. ˙ n+1 the update of fh requires 3. but for an 8-node brick element. for a total of 3n + 4 operations. is stored for each element. (51) (52) (53) The dot product for calculating α requires 2n − 1 ﬂoating point operations. A generalized force. This implementation is therefore approximately n times faster than evaluating H ⊗ H and performing the matrix multiply. and the ﬁnal evaluation of the force requires n + 2. . fh (t) = t 0 eH · udt. For an element with 3 degrees of freedom. the diﬀerence in cost is substantial.3 IMPLEMENTATION IN AN EXPLICIT CODE 10 rate form is also attractive even if e is constant because many explicit codes don’t routinely store the total displacement vector.

- Equationsniranjankumar79
- 201.ev1.12.hw2Shusha Shomali
- linearequationviviitccompletedtuanaz
- kemh106cifiy
- Review of Arrays, Vectors and MatricesTauseef
- Ch3_FourTrans&DeltaFnsdfbmnk
- Jason Cantarella, Dennis DeTurck, Herman Gluck and Mikhail Teytel- Isoperimetric problems for the helicity of vector fields and the Biot–Savart and curl operatorsKeomss
- Alg_SolveLinearIneqSean Hansen
- STPM Maths T Sem 1 Past Year by ChapterKenneth Chan
- TEXT 4. Graph Relation_FunctionHector R.
- legendre.pdfgabao123
- Lab03Abraham
- Full 1052Divya Shah
- MATH334Midterm (1).docHussein Alkafaji
- NLHeatTransfergopalpaul
- algebraRusselle Guadalupe
- Abaqus User Subroutines Reference Manual - UELebugaidi
- Lec13TTKarimPrinceAddo
- 6th grade legacy portfolio planning sheetapi-268872012
- slides_1Alessandro Rinaldi
- Ece Ae Annexure II csandy
- 9107-d224_advanced mathematical techniquese--cityandguilds
- Cheap_PSO_2_1Naren Pathak
- NEUTROSOPHIC SETS AND SYSTEMS (BOOK SERIES), Volume 4 / 2014science2010
- Review P1 Qs Alg Functions Eqns HLAnkush Malik
- commoncorestandardsrelatedtotechnologydigitalmediaapi-257600966
- presentation13api-315354740
- Computer Aided Optical Design Kusch OlegTugba
- Ian R. PorteTopological Geometryous-Topological Geometry-Van Nostrand Reinhold Company (1969)Simone Secchi
- Opencv Userful138

- UT Dallas Syllabus for math2418.001.08f taught by (xxx)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for phys5301.501.11f taught by Paul Mac Alevey (paulmac)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2333.502 06s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2333.001.10s taught by (axe031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for phys3411.001.10f taught by Paul Mac Alevey (paulmac)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for ee2300.001 06f taught by Lakshman Tamil (laxman)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for ee6349.521.07u taught by Mohammad Saquib (saquib)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2333.503.10s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for phys5401.501.08f taught by Paul Macalevey (paulmac)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2333.501.08s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.001.07f taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math6319.501 05f taught by Viswanath Ramakrishna (vish)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.5u1.10u taught by ()UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.501 05s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- Adoption of Parallel Genetic Algorithms for the Solution of System of EquationsWhite Globe Publications (IJORCS)
- UT Dallas Syllabus for math2451.501 06s taught by Viswanath Ramakrishna (vish)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2419.004.07s taught by Bentley Garrett (btg032000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math6390.501.11s taught by Zalman Balanov (zxb105020)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.001.09f taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.001.10f taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for phys3311.501.10s taught by Paul Macalevey (paulmac)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for ee6349.501.08s taught by Mohammad Saquib (saquib)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for ce2300.501.09s taught by Lakshman Tamil (laxman)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.001 05s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- tmp461AFrontiers
- tmp59CC.tmpFrontiers
- UT Dallas Syllabus for engr3300.002.11s taught by Gerald Burnham (burnham)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.001.08s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for taught by William Pervin (pervin)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for phys3411.001.11s taught by Paul Mac Alevey (paulmac)UT Dallas Provost's Technology Group

- Computer Oriented Numerical MethodsGuruKPO
- UT Dallas Syllabus for math2333.502.07s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- Solving Fuzzy Matrix Games Defuzzificated by Trapezoidal Parabolic Fuzzy NumbersInternational Journal for Scientific Research and Development
- tmp51FA.tmpFrontiers
- Aerodynamics: Stability and Controlsandglasspatrol
- tmpED85.tmpFrontiers
- UT Dallas Syllabus for math2418.001.07s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- Diacetyl and acetyl propionyl testing on Suicide Bunny (Sucker Punch and Mother's Milk)Russ Wishtart
- tmp9363.tmpFrontiers
- tmpD29D.tmpFrontiers
- Tmp 3008Frontiers
- tmpA453.tmpFrontiers
- De Acc Aprltr 2015bKevinOhlandt
- tmp4D3F.tmpFrontiers
- tmp2059.tmpFrontiers
- tmp65C0.tmpFrontiers
- bls_2086_1981_v1.pdfFRASER: Federal Reserve Archive
- Tmp 3384Frontiers
- tmp9649.tmpFrontiers
- tmpCA93.tmpFrontiers
- tmp8BC6Frontiers
- Modeling To Predict Cutting Force And Surface Roughness of Metal Matrix Composite Using ANNInternational Journal for Scientific Research and Development
- AHP technique a way to show preferences amongst alternativesInternational Journal for Scientific Research and Development
- tmp939A.tmpFrontiers
- UT Dallas Syllabus for math2333.503.10s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2333.501.08s taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math2418.001.07f taught by Paul Stanford (phs031000)UT Dallas Provost's Technology Group
- UT Dallas Syllabus for math6319.501 05f taught by Viswanath Ramakrishna (vish)UT Dallas Provost's Technology Group
- tmp808C.tmpFrontiers
- UT Dallas Syllabus for eco5309.501 05f taught by Daniel Obrien (obri)UT Dallas Provost's Technology Group

Sign up to vote on this title

UsefulNot usefulClose Dialog## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

Loading