0% found this document useful (0 votes)
43 views

IFEM - ch24 Iso P Triangular

This chapter discusses the implementation of isoparametric triangular finite elements for plane stress problems. It covers two key aspects: 1) Gauss quadrature rules for numerical integration over triangles, which differ from quadrilaterals in that they are not products of 1D rules and must satisfy triangular symmetry, and 2) computation of partial derivatives and the Jacobian determinant for triangles, which must account for the dependence of the triangular coordinates. The chapter presents several low-order Gauss rules for triangles and discusses their properties and implementation in shape function and stiffness modules for quadratic and cubic triangular elements.

Uploaded by

Simon Delmas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

IFEM - ch24 Iso P Triangular

This chapter discusses the implementation of isoparametric triangular finite elements for plane stress problems. It covers two key aspects: 1) Gauss quadrature rules for numerical integration over triangles, which differ from quadrilaterals in that they are not products of 1D rules and must satisfy triangular symmetry, and 2) computation of partial derivatives and the Jacobian determinant for triangles, which must account for the dependence of the triangular coordinates. The chapter presents several low-order Gauss rules for triangles and discusses their properties and implementation in shape function and stiffness modules for quadratic and cubic triangular elements.

Uploaded by

Simon Delmas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

24

Implementation of
Iso-P Triangular
Elements

24–1
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–2

TABLE OF CONTENTS

Page
§24.1. Introduction 24–3
§24.2. Gauss Quadrature for Triangles 24–3
§24.2.1. Requirements for Gauss Rules . . . . . . . . . . . . . 24–3
§24.2.2. Superparametric Triangles . . . . . . . . . . . . . 24–4
§24.2.3. Arbitrary Iso-P Triangles . . . . . . . . . . . . . . 24–5
§24.2.4. Implementation . . . . . . . . . . . . . . . . . 24–6
§24.3. Partial Derivative Computation 24–6
§24.3.1. Triangle Coordinate Partials . . . . . . . . . . . . . 24–7
§24.3.2. Solving the Jacobian System . . . . . . . . . . . . . 24–8
§24.4. The Quadratic Triangle 24–9
§24.4.1. Shape Function Module . . . . . . . . . . . . . . . 24–9
§24.4.2. Stiffness Module . . . . . . . . . . . . . . . . . 24–11
§24.4.3. Test on Straight-Sided Triangle . . . . . . . . . . . . 24–12
§24.4.4. Test on Highly Distorted Triangle . . . . . . . . . . . 24–12
§24.5. *The Cubic Triangle 24–14
§24.5.1. *Shape Function Module . . . . . . . . . . . . . . 24–14
§24.5.2. *Stiffness Module . . . . . . . . . . . . . . . . 24–16
§24.5.3. *Test Element . . . . . . . . . . . . . . . . . . 24–17
§24. Notes and Bibliography
. . . . . . . . . . . . . . . . . . . . . . . 24–18
§24. References . . . . . . . . . . . . . . . . . . . . . . . 24–19
§24. Exercises . . . . . . . . . . . . . . . . . . . . . . . 24–20
§24. Solutions to Exercises
. . . . . . . . . . . . . . . . . . . . . . . 24–22

24–2
24–3 §24.2 GAUSS QUADRATURE FOR TRIANGLES

§24.1. Introduction

This Chapter continues with the computer implementation of two-dimensional finite elements. It covers
the programming of isoparametric triangular elements for the plane stress problem. Triangular elements
bring two sui generis implementation quirks with respect to quadrilateral elements:
(1) The numerical integration rules for triangles are not product of one-dimensional Gauss rules, as in
the case of quadrilaterals. They are instead specialized to the triangle geometry.
(2) The computation of x-y partial derivatives and the element-of-area scaling by the Jacobian de-
terminant must account for the fact that the triangular coordinates ζ1 , ζ2 and ζ3 do not form an
independent set.
We deal with these issues in the next two sections.

§24.2. Gauss Quadrature for Triangles

The numerical integration schemes for quadrilaterals introduced in §17.3 and implemented in §23.2
are built as “tensor products” of two one-dimensional Gauss formulas. On the other hand, Gauss rules
for triangles are not derivable from one-dimensional rules, and must be constructed especially for the
triangular geometry.

§24.2.1. Requirements for Gauss Rules

Gauss quadrature rules for triangles must possess triangular symmetry in the following sense:

If the sample point (ζ1 , ζ2 , ζ3 ) is present in a Gauss integration rule with


weight w, then all other points obtainable by permuting the three triangular
coordinates arbitrarily must appear in that rule, and have the same weight. (24.1)

This constraint guarantees that the result of the quadrature process will not depend on element node
numbering.1 If ζ1 , ζ2 , and ζ3 are different, (24.1) forces six equal-weight sample points to be present in
the rule, because 3! = 6. If two triangular coordinates are equal, the six points coalesce to three, and
(24.1) forces three equal-weight sample points to be present. Finally, if the three coordinates are equal
(which can only happen for the centroid ζ1 = ζ2 = ζ3 = 1/3), the six points coalesce to one.2
Additional requirements for a Gauss rule to be numerically acceptable are:

All sample points must be inside the triangle (or on the triangle boundary)
and all weights must be positive. (24.2)

This is called a positivity condition. It insures that the element internal energy evaluated by numerical
quadrature is nonnegative definite.

1 It would disconcerting to users, to say the least, to have the FEM solution depend on how nodes are numbered.
2 It follows that the number of sample points in triangle Gauss quadrature rules that satisfy (24.1) must be of the form 6i +3 j +k,
where i and j are nonnegative integers and k is 0 or 1. Consequently there are no rules with 2, 5 or 8 points.

24–3
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–4

(a) rule=1 (b) rule=3 (c) rule=−3


degree=1 degree=2 degree=2
0.33333
0.33333 0.33333
1.0000

0.33333 0.33333
0.33333

(d) rule=6 (e) rule=7


0.10995 0.12594
degree=4 degree=5

0.22338 0.22338 0.13239 0.13239


0.22500

0.10995 0.22338 0.10995 0.12594 0.13239 0.12594

Figure 24.1. Location of sample points (dark circles) of five Gauss quadrature rules for
straight sided (superparametric) 6-node triangles. Weight written to 5 places near each
sample point; sample-point circle areas are proportional to weight.

A rule is said to be of degree n if it integrates exactly all polynomials in the triangular coordinates of
order n or less when the Jacobian determinant is constant, and there is at least one polynomial of order
n + 1 that is not exactly integrated by the rule.

Remark 24.1. The positivity requirement (24.2) is automatically satisfied in quadrilaterals by using Gauss product
rules, since the points are always inside while weights are positive. Consequently it was not necessary to call
attention to it. On the other hand, for triangles there are Gauss rules with as few as 4 points that violate positivity.

§24.2.2. Superparametric Triangles

We first consider superparametric straight-sided triangles geometry defined by the three corner nodes.
Over such triangles the Jacobian determinant defined below is constant. The five simplest Gauss rules
that satisfy the requirements (24.1) and (24.2) have 1, 3, 3, 6 and 7 points, respectively. The two rules
with 3 points differ in the location of the sample points. The five rules are depicted in Figure 24.1 over
6-node straight-sided triangles; for such triangles to be superparametric the side nodes must be located
at the midpoint of the sides.
One point rule. The simplest Gauss rule for a triangle has one sample point located at the centroid. For
a straight sided triangle, 
1
F(ζ1 , ζ2 , ζ3 ) d ≈ F( 13 , 13 , 13 ), (24.3)
A e
where A is the triangle area

  
1 1 1  
A= d = 2 det x1
1
x2 x3 = 1
2
(x2 y3 − x3 y2 ) + (x3 y1 − x1 y3 ) + (x1 y2 − x2 y1 ) . (24.4)
e y1 y2 y3

This rule is illustrated in Figure 24.1(a). It has degree 1, meaning that it integrates exactly up to linear
polynomials in {ζ1 , ζ2 , ζ3 }. For example, F = 4 − ζ1 + 2ζ2 − ζ3 is exactly integrated by (24.3).

24–4
24–5 §24.2 GAUSS QUADRATURE FOR TRIANGLES

(a) rule=1 (b) rule=3 0.33333 (c) rule=−3 0.33333

1.0000
0.33333
0.33333
0.33333
0.33333

0.10995 0.12594
(d) rule=6 (e) rule=7 0.13239
0.22338

0.22338 0.13239 0.22500

0.22338 0.13239 0.12594


0.10995
0.10995 0.12594

Figure 24.2. Location of sample points (dark circles) of five Gauss quadrature rules
for curved sided 6-node triangles. Weight written to 5 places near each sample point;
sample-point circle areas are proportional to weight.

Three Point Rules. The next two rules in order of simplicity contain three sample points:

1
F(ζ1 , ζ2 , ζ3 ) d ≈ 13 F( 23 , 16 , 16 ) + 13 F( 16 , 23 , 16 ) + 13 F( 16 , 16 , 23 ). (24.5)
A e

1
F(ζ1 , ζ2 , ζ3 ) d ≈ 13 F( 12 , 12 , 0) + 13 F(0, 12 , 12 ) + 13 F( 12 , 0, 12 ). (24.6)
A e
These are depicted in Figures 24.1(b,c). Both rules are of degree 2; that is, they integrate exactly up
to quadratic polynomials in the triangular coordinates. For example, the function F = 6 + ζ1 + 3ζ3 +
ζ22 − ζ32 + 3ζ1 ζ3 is integrated exactly by either rule. Formula (24.6) is called the midpoint rule.
Six and Seven Point Rules. There is a 4-point rule of degree 3, but it has a negative weight and so violates
(24.2). There are no symmetric rules with 5 points. The next useful rules have six and seven points.
There is a 6-point rule of degree 4 and a 7-point rule of degree 5, which integrate exactly up to quartic
and quintic polynomials in {ζ1 , ζ2 , ζ3 }, respectively. The 7-point rule includes the centroid as sample
point. The abcissas and weights are expressable as rational combinations of square roots of integers
and fractions. The expressions are listed in the Mathematica implementation discussed in §24.2.4. The
sample point configurations are depicted in Figure 24.1(d,e).

§24.2.3. Arbitrary Iso-P Triangles


If the triangle has variable metric, as in the curved sided 6-node triangle geometries shown in Figure 24.2,
the foregoing formulas need adjustment because the element of area d becomes a function of position.
Consider the more general case of an isoparametric element with n nodes and shape functions Ni . In
§24.3 it is shown that the differential area element is given by
 
1 1 1

n
∂ Ni
n
∂ Ni
n
∂ Ni 
 x x xi 
 i i 
d = J dζ1 dζ2 dζ3 , J = 12 det  i=1 ∂ζ1 i=1 ∂ζ2 i=1 ∂ζ3  (24.7)
 n 

∂ Ni
n
∂ Ni
n
∂ Ni 
yi yi yi
i=1
∂ζ1 i=1 ∂ζ2 i=1 ∂ζ3

24–5
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–6

TrigGaussRuleInfo[{rule_,numer_},point_]:= Module[
{zeta,p=rule,i=point,g1,g2, info={{Null,Null,Null},0} },
If [p== 1, info={{1/3,1/3,1/3},1}];
If [p== 3, info={{1,1,1}/6,1/3}; info[[1,i]]=2/3];
If [p==-3, info={{1,1,1}/2,1/3}; info[[1,i]]=0 ];
If [p== 6, g1=(8-Sqrt[10]+Sqrt[38-44*Sqrt[2/5]])/18;
g2=(8-Sqrt[10]-Sqrt[38-44*Sqrt[2/5]])/18;
If [i<4, info={{g1,g1,g1},(620+Sqrt[213125-
53320*Sqrt[10]])/3720}; info[[1,i]]=1-2*g1];
If [i>3, info={{g2,g2,g2},(620-Sqrt[213125-
53320*Sqrt[10]])/3720}; info[[1,i-3]]=1-2*g2]];
If [p== 7, g1=(6-Sqrt[15])/21; g2=(6+Sqrt[15])/21;
If [i<4, info={{g1,g1,g1},(155-Sqrt[15])/1200};
info[[1,i]]= 1-2*g1];
If [i>3&&i<7, info={{g2,g2,g2},(155+Sqrt[15])/1200};
info[[1,i-3]]=1-2*g2];
If [i==7, info={{1/3,1/3,1/3},9/40} ]];
If [numer, Return[N[info]], Return[Simplify[info]]];
];

Figure 24.3. Module to get triangle Gauss quadrature rule information.

Here J is the Jacobian determinant, which plays the same role as J in the isoparametric quadrilaterals.
If the metric is simply defined by the 3 corners, as in Figure 24.1, the geometry shape functions are
N1 = ζ1 , N2 = ζ2 and N3 = ζ3 . Then the foregoing determinant reduces to that of (24.4), and J = A
everywhere. But for general (curved) geometries J = J (ζ1 , ζ2 , ζ3 ), and the triangle area A cannot be
factored out of the integration rules. For example the one point rule becomes

F(ζ1 , ζ2 , ζ3 ) d ≈ J ( 13 , 13 , 13 ) F( 13 , 13 , 13 ). (24.8)
e

whereas the midpoint rule becomes



F(ζ1 , ζ2 , ζ3 ) d ≈ 13 J ( 12 , 12 , 0) F( 12 , 12 , 0) + 13 J (0, 12 , 12 ) F(0, 12 , 12 ) + 13 J ( 12 , 0, 12 ) F( 12 , 0, 12 ).
e
(24.9)
These can be expressed more compactly by saying that the Gauss integration rule is applied to J F.

§24.2.4. Implementation
The five rules pictured in Figures 24.1 and 24.2 are implemented in the module TrigGaussRuleInfo
listed in Figure 24.3. The module is invoked as

{ { zeta1,zeta2,zeta3 },w } = TrigGaussRuleInfo[{ rule,numer },point] (24.10)

The module has three arguments: rule, numer and i. The first two are grouped in a two-item list.
Argument rule, which can be 1, 3, −3, 6 or 7, defines the integration formula as follows. Abs[rule]
is the number of sample points. Of the two 3-point choices, if rule is −3 the midpoint rule is picked,
else if +3 the 3-interior point rule is chosen. Logical flag numer is set to True or False to request
floating-point or exact information, respectively
Argument point is the index of the sample point, which may range from 1 through Abs[rule].
The module returns the list {{ζ1 , ζ2 , ζ3 }, w}, where ζ1 , ζ2 , ζ3 are the triangular coordinates of the sample
point, and w is the integration weight. For example, TrigGaussRuleInfo[{ 3,False },1] returns
{ { 2/3,1/6,1/6 },1/3 }. If rule is not implemented, the module returns { { Null,Null,Null },0 }.

24–6
24–7 §24.3 PARTIAL DERIVATIVE COMPUTATION

§24.3. Partial Derivative Computation


The calculation of Cartesian partial derivatives is illustrated in this section for the 6-node triangle shown
in Figure 24.4. The results are applicable, however, to iso-P triangles with any number of nodes.
The element geometry is defined by the corner coordinates
3
{xi , yi }, with i = 1, 2, . . . 6. Corners are numbered 1,2,3
in counterclockwise sense. Side nodes are numbered 4,5,6
opposite to corners 3,1,2, respectively. Side nodes may
5
be arbitrarily located within positive Jacobian constraints as 6
discussed in §19.4.2. The triangular coordinates are as usual
denoted by ζ1 , ζ2 and ζ3 , which satisfy ζ1 + ζ2 + ζ3 = 1. 2
The quadratic displacement field {u x (ζ1 , ζ2 , ζ3 ), u y (ζ1 , ζ2 , ζ3 )} 4
is defined by the 12 node displacements {u xi , u yi }, i = 1
1, 2, . . . , 6, as per the iso-P quadratic interpolation formula Figure 24.4. The 6-node iso-P triangle.
(16.10–11). That formula is repeated here for convenience:
 
    N1e
1 1 1 1 1 1 1
 N2e 
   1
x x x2 x3 x4 x5 x6   e
     N3 
 y  =  y1 y2 y3 y4 y5 y6   e (24.11)
     N4 
ux u x1 u x2 u x3 u x4 u x5 u x6  e
N5
uy u y1 u y2 u y3 u y4 u y5 u y6
N6e
in which the shape functions and their natural derivatives are
 e        
N1 ζ1 (2ζ1 −1) 4ζ1 −1 0 0
 N2e   ζ2 (2ζ2 −1)   0   4ζ2 −1   0 
 e   ∂NT   ∂NT   ∂NT  
 N   ζ (2ζ −1)   0   0   4ζ −1 
NT =  3e  =  3 3 , = , = , =  3 .
 N4   4ζ1 ζ2  ∂ζ1  4ζ2  ∂ζ2  4ζ1  ∂ζ3  0 
 e        
N5 4ζ2 ζ3 0 4ζ3 4ζ2
N6e 4ζ3 ζ1 4ζ3 0 4ζ1
(24.12)

§24.3.1. Triangle Coordinate Partials


In this and following sections the superscript e of shape functions will be omitted for brevity. The bulk
of the shape function logic is concerned with the computation of the partial derivatives of the shape
functions (24.12) with respect to x and y at any point in the element. For this purpose consider a generic
scalar function w(ζ1 , ζ2 , ζ3 ) that is quadratically interpolated over the triangle by

w = w1 N1 + w2 N2 + w3 N3 + w4 N4 + w5 N5 + w6 N6 = [ w1 w2 w3 w4 w5 w6 ] NT . (24.13)

Symbol w may stand for 1, x, y, u x or u y , which are interpolated in the iso-P representation (24.11),
or other element-varying quantities such as thickness, temperature, etc. Taking partials of (24.13) with
respect to x and y and applying the chain rule twice yields
∂w
∂ Ni
 ∂ Ni ∂ζ1 ∂ Ni ∂ζ2 ∂ Ni ∂ζ3

= wi = wi + + ,
∂x ∂x ∂ζ1 ∂ x ∂ζ2 ∂ x ∂ζ3 ∂ x
∂w
∂ Ni
 ∂ Ni ∂ζ1 ∂ Ni ∂ζ2 ∂ Ni ∂ζ3
 (24.14)
= wi = wi + + ,
∂y ∂y ∂ζ1 ∂ y ∂ζ2 ∂ y ∂ζ3 ∂ y

24–7
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–8

where all sums are understood to run over i = 1, . . . 6. In matrix form:


  ∂ Ni 
 ∂w    wi ∂ζ
∂ζ1 ∂ζ2 ∂ζ3 
 ∂ Ni 
1
∂x  ∂ x ∂ x ∂ x   
∂w = ∂ζ1 ∂ζ2 ∂ζ3  wi ∂ζ  . (24.15)
 2 
∂y ∂y ∂y ∂y  ∂ Ni
wi ∂ζ
3
Transposing both sides of (24.15) while exchanging sides yields
 ∂ζ1 ∂ζ1 
∂x ∂y
  
   ∂ζ ∂ζ   ∂w  .
wi ∂∂ζNi wi ∂∂ζNi wi ∂∂ζNi  ∂ x2 ∂ y2  = ∂w ∂x ∂y (24.16)
1 2 3  
∂ζ3 ∂ζ3
∂x ∂y
Now make w ≡ 1, x, y and stack the results row-wise:
  ∂ Ni  ∂ Ni  ∂ Ni   ∂ζ ∂ζ1   ∂1 ∂1 
1
∂ζ1 ∂ζ2 ∂ζ3 ∂x ∂y
     ∂x ∂y 
 
 ∂ ∂ ∂   ∂ζ ∂ζ  ∂x ∂x
 xi ∂ζ i
N N
xi ∂ζ i xi ∂ζ i   ∂ x2 ∂ y2  = 
N
 ∂ x ∂y
.
 (24.17)
 1 2 3  
 ∂ Ni  ∂ Ni  ∂ Ni ∂ζ3 ∂ζ3 ∂y ∂y
yi ∂ζ
1
yi ∂ζ
2
yi ∂ζ
3 ∂x ∂y ∂x ∂y

But ∂ x/∂ x = ∂ y/∂ y = 1 and ∂1/∂ x = ∂1/∂ y = ∂ x/∂ y = ∂ y/∂  x = 0 because x and y are
independent coordinates. It is shown in Remark 24.2 below that, if Ni = 1, the entries of the first
row of the coefficient matrix are equal to a constant C. These entries can be scaled to unity because the
first row of the right-hand side is null. Consequently we arrive at a system of linear equations of order
3 with two right-hand sides:
 
  ∂ζ1 ∂ζ1

1 1 1
 ∂ Ni  ∂ Ni  ∂ x ∂y   0 0 
 x i ∂ Ni xi ∂ζ xi ∂ζ   ∂ζ2 ∂ζ2 
 ∂ζ1 2 3   ∂x ∂y  = 1 0 . (24.18)
 ∂ Ni  ∂ Ni  ∂ Ni  
yi ∂ζ yi ∂ζ yi ∂ζ ∂ζ3 ∂ζ3 0 1
1 2 3 ∂x ∂y

§24.3.2. Solving the Jacobian System


By analogy with quadrilateral elements, the coefficient matrix of (24.18) will be called the Jacobian
matrix and denoted by J. Its determinant scaled by one half is equal to the Jacobian J = 12 det J used
in the expression of the area element introduced in §24.2.3. For compactness (24.18) is rewritten
 
  ∂ζ1 ∂ζ1
1 1 1  ∂x ∂y   0 0 
 ∂ζ ∂ζ 
J P =  Jx1 Jx2 Jx3   ∂ x2 ∂ y2  = 1 0 . (24.19)
 
Jy1 Jy2 Jy3 ∂ζ3 ∂ζ3 0 1
∂x ∂y
If J = 0, solving this system gives
 ∂ζ ∂ζ1 
1
 
 ∂x ∂y 
1 Jy23 Jx32
 ∂ζ2 ∂ζ2 
 ∂x ∂y  = Jy31 Jx13 = P, (24.20)
  2J
∂ζ3 ∂ζ3 J y12 Jx21
∂x ∂y
24–8
24–9 §24.4 THE QUADRATIC TRIANGLE

in which Jx ji = Jx j − Jxi , Jy ji = Jy j − Jyi and J = 12 det J = 12 (Jx21 Jy31 − Jy12 Jx13 ). Substituting
into (24.14) we arrive at

∂w
∂ Ni
wi  ∂ Ni ∂ Ni ∂ Ni

= wi = Jy23 + Jy31 + Jy12 ,
∂x ∂x 2J ∂ζ1 ∂ζ2 ∂ζ3
∂w
∂ Ni
wi  ∂ Ni ∂ Ni ∂ Ni
 (24.21)
= wi = Jx32 + Jx13 + Jx21 .
∂y ∂y 2J ∂ζ1 ∂ζ2 ∂ζ3

In particular, the shape function derivatives are


 
∂ Ni 1 ∂ Ni ∂ Ni ∂ Ni
= Jy23 + Jy31 + Jy12 ,
∂x 2J ∂ζ1 ∂ζ2 ∂ζ3
  (24.22)
∂ Ni 1 ∂ Ni ∂ Ni ∂ Ni
= Jx32 + Jx13 + Jx21 .
∂y 2J ∂ζ1 ∂ζ2 ∂ζ3

in which the natural derivatives ∂ Ni /∂ζ j can be read off (24.12). Using the 3 × 2 P matrix defined in
(24.20) yields finally the compact form
   
∂ Ni ∂ Ni ∂ Ni ∂ Ni ∂ Ni P.
∂x ∂y = ∂ζ1 ∂ζ2 ∂ζ3 (24.23)

Remark 24.2. Here is the proof that each first row entry of the 3 × 3 matrix in (24.17) is a numerical constant, say
C. Suppose the shape functions are polynomials of order n in the triangular coordinates, and let Z = ζ1 + ζ2 + ζ3 .
The completeness identity is

S= Ni = 1 = c1 Z + c2 Z 2 + . . . cn Z n , c1 + c2 + . . . + cn = 1. (24.24)

where the ci are element dependent scalar coefficients. Differentiating S with respect to the ζi ’s and setting Z = 1
yields

∂ Ni
∂ Ni
∂ Ni
C= = = = c1 + 2c2 Z + c3 Z 3 + . . . (n − 1)Z n−1 = c1 + 2c2 + 3c3 + . . . + cn−1
∂ζ1 ∂ζ2 ∂ζ3
= 1 + c2 + 2c3 + . . . + (n − 2)cn ,
(24.25)
which proves the assertion. For the 3-node linear triangle, S = Z and C = 1. For the 6-node quadratic triangle,
S = 2Z 2 − Z and C = 3. For the 10-node cubic triangle, S = 9Z 3 /2 − 9Z 2 /2 + Z and C = 11/2. Because the
first equation in (24.18) is homogeneous, the C’s can be scaled to unity.

§24.4. The Quadratic Triangle

§24.4.1. Shape Function Module


We specialize now the results of §24.3 to obtain the stiffness matrix of the 6-node quadratic triangle in
plane stress. Taking the dot products of the natural-coordinate partials (24.12) with the node coordinates
we obtain the entries of the Jacobian matrix of (24.19):

Jx1 = x1 (4ζ1 −1) + 4(x4 ζ2 + x6 ζ3 ), Jx2 = x2 (4ζ2 −1) + 4(x5 ζ3 + x4 ζ1 ), Jx3 = x3 (4ζ3 −1) + 4(x6 ζ1 + x5 ζ2 ),
Jy1 = y1 (4ζ1 −1) + 4(y4 ζ2 + y6 ζ3 ), Jy2 = y2 (4ζ2 −1) + 4(y5 ζ3 + y4 ζ1 ), Jy3 = y3 (4ζ3 −1) + 4(y6 ζ1 + y5 ζ2 ),
(24.26)

24–9
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–10

Trig6IsoPShapeFunDer[ncoor_,tcoor_]:= Module[
{ζ 1,ζ 2,ζ 3,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,
dx4,dx5,dx6,dy4,dy5,dy6,Jx21,Jx32,Jx13,Jy12,Jy23,Jy31,
Nf,dNx,dNy,Jdet}, {ζ 1,ζ 2,ζ 3}=tcoor;
{{x1,y1},{x2,y2},{x3,y3},{x4,y4},{x5,y5},{x6,y6}}=ncoor;
dx4=x4-(x1+x2)/2; dx5=x5-(x2+x3)/2; dx6=x6-(x3+x1)/2;
dy4=y4-(y1+y2)/2; dy5=y5-(y2+y3)/2; dy6=y6-(y3+y1)/2;
Nf={ζ 1*(2*ζ 1-1),ζ 2*(2*ζ 2-1),ζ 3*(2*ζ 3-1),4*ζ 1*ζ 2,4*ζ 2*ζ 3,4*ζ 3*ζ 1};
Jx21= x2-x1+4*(dx4*(ζ 1-ζ 2)+(dx5-dx6)*ζ 3);
Jx32= x3-x2+4*(dx5*(ζ 2-ζ 3)+(dx6-dx4)*ζ 1);
Jx13= x1-x3+4*(dx6*(ζ 3-ζ 1)+(dx4-dx5)*ζ 2);
Jy12= y1-y2+4*(dy4*(ζ 2-ζ 1)+(dy6-dy5)*ζ 3);
Jy23= y2-y3+4*(dy5*(ζ 3-ζ 2)+(dy4-dy6)*ζ 1);
Jy31= y3-y1+4*(dy6*(ζ 1-ζ 3)+(dy5-dy4)*ζ 2);
Jdet = Jx21*Jy31-Jy12*Jx13;
dNx= {(4*ζ 1-1)*Jy23,(4*ζ 2-1)*Jy31,(4*ζ 3-1)*Jy12,4*(ζ 2*Jy23+ζ 1*Jy31),
4*(ζ 3*Jy31+ζ 2*Jy12),4*(ζ 1*Jy12+ζ 3*Jy23)}/Jdet;
dNy= {(4*ζ 1-1)*Jx32,(4*ζ 2-1)*Jx13,(4*ζ 3-1)*Jx21,4*(ζ 2*Jx32+ζ 1*Jx13),
4*(ζ 3*Jx13+ζ 2*Jx21),4*(ζ 1*Jx21+ζ 3*Jx32)}/Jdet;
Return[Simplify[{Nf,dNx,dNy,Jdet}]]
];

Figure 24.5. Shape function module for 6-node quadratic triangle.

From these J can be constructed, and shape function partials ∂ Ni /∂ x and ∂ Ni /∂ y explicitly obtained
from (24.22). Somewhat simpler expressions, however, result by using the following “hierarchical”
side node coordinates:

x4 = x4 − 12 (x1 + x2 ), x5 = x5 − 12 (x2 + x3 ), x6 = x6 − 12 (x3 + x1 ),


(24.27)
y4 = y4 − 12 (y1 + y2 ), y5 = y5 − 12 (y2 + y3 ), y6 = y6 − 12 (y3 + y1 ).

Geometrically these represent the deviations from midpoint positions; thus for a superparametric element
x4 = x5 = x6 = y4 = y5 = y6 = 0. The Jacobian coefficients become

Jx21 = x21 + 4( x4 (ζ1 −ζ2 ) + ( x5 − x6 )ζ3 ), Jx32 = x32 + 4( x5 (ζ2 −ζ3 ) + ( x6 − x4 )ζ1 ),
Jx13 = x13 + 4( x6 (ζ3 −ζ1 ) + ( x4 − x5 )ζ2 ), Jy12 = y12 + 4( y4 (ζ2 −ζ1 ) + ( y6 − y5 )ζ3 ),
Jy23 = y23 + 4( y5 (ζ3 −ζ2 ) + ( y4 − y6 )ζ1 ), Jy31 = y31 + 4( y6 (ζ1 −ζ3 ) + ( y5 − y4 )ζ2 ).
(24.28)
(Note that if all midpoint deviations vanish, Jx ji = x ji and Jy ji = y ji .) From this one gets J =
1
2
det J = 12 (Jx21 Jy31 − Jy12 Jx13 ) and
 
1 y23 + 4( y5 (ζ3 −ζ2 ) + ( y4 − y6 )ζ1 ) x32 + 4( x5 (ζ2 −ζ3 ) + ( x6 − x4 )ζ1 )
P= y31 + 4( y6 (ζ1 −ζ3 ) + ( y5 − y4 )ζ2 ) x13 + 4( x6 (ζ3 −ζ1 ) + ( x4 − x5 )ζ2 ) .
2J y12 + 4( y4 (ζ2 −ζ1 ) + ( y6 − y5 )ζ3 ) x21 + 4( x4 (ζ1 −ζ2 ) + ( x5 − x6 )ζ3 )
(24.29)
and the Cartesian derivatives of the shape functions are
   
(4ζ1 − 1)Jy23 (4ζ1 − 1)Jx32
 (4ζ2 − 1)Jy31   (4ζ2 − 1)Jx13 
∂NT 1 
 (4ζ3 − 1)Jy12 
 ∂NT 1 
 (4ζ3 − 1)Jx21 

=  , =  . (24.30)
∂x 2J  4(ζ2 Jy23 + ζ1 Jy31 )  ∂y 2J  4(ζ2 Jx32 + ζ1 Jx13 ) 
   
4(ζ3 Jy31 + ζ2 Jy12 ) 4(ζ3 Jx13 + ζ2 Jx21 )
4(ζ1 Jy12 + ζ3 Jy23 ) 4(ζ1 Jx21 + ζ3 Jx32 )

24–10
24–11 §24.4 THE QUADRATIC TRIANGLE

Trig6IsoPMembraneStiffness[ncoor_,Emat_,th_,options_]:=
Module[{i,k,p=3,numer=False,h=th,tcoor,w,c,
Nf,dNx,dNy,Jdet,Be,Ke=Table[0,{12},{12}]},
If [Length[options]>=1, numer=options[[1]]];
If [Length[options]>=2, p= options[[2]]];
If [!MemberQ[{1,-3,3,6,7},p], Print["Illegal p"]; Return[Null]];
For [k=1, k<=Abs[p], k++,
{tcoor,w}= TrigGaussRuleInfo[{p,numer},k];
{Nf,dNx,dNy,Jdet}= Trig6IsoPShapeFunDer[ncoor,tcoor];
If [numer, {Nf,dNx,dNy,Jdet}=N[{Nf,dNx,dNy,Jdet}]];
If [Length[th]==6, h=th.Nf]; c=w*Jdet*h/2;
Be= {Flatten[Table[{dNx[[i]],0 },{i,6}]],
Flatten[Table[{0, dNy[[i]]},{i,6}]],
Flatten[Table[{dNy[[i]],dNx[[i]]},{i,6}]]};
Ke+=c*Transpose[Be].(Emat.Be);
]; If[!numer,Ke=Simplify[Ke]]; Return[Ke]
];

Figure 24.6. Stiffness matrix module for 6-node plane stress triangle.

A Mathematica shape function module Trig6IsoPShapeFunDer is shown in Figure 24.5. It receives


two arguments: ncoor and tcoor. The first one is the list of {xi , yi } coordinates of the six nodes. The
second is the list of three triangular coordinates { ζ1 , ζ2 , ζ3 } of the location at which the shape functions
and their Cartesian derivatives are to be computed.
The module returns { Nf,dNx,dNy,Jdet } as module value. Here Nf collects the shape function values,
dNx and dNy the x and y shape function derivatives, respectively, and Jdet is the determinant of matrix
J, equal to 2J in the notation used here.

§24.4.2. Stiffness Module


The numerically integrated stiffness matrix is


p
K =e
hBT EB d ≈ wi F(ζ1i , ζ2i , ζ3i ), where F(ζ1 , ζ2 , ζ3 ) = hBT EB J. (24.31)
e i=1

Here p denotes the number of sample points of the Gauss rule being used, wi is the integration weight
for the i th sample point, ζ1i , ζ2i , ζ3i are the sample point triangular coordinates and J = 12 det J. This
data is provided by TrigGaussRuleInfo. For the 6-node triangle (24.31) is implemented in module
Trig6IsoPMembraneStiffness, listed in Figure 24.6. The module is invoked as

Ke = Trig6IsoPMembraneStiffness[ncoor,Emat,th,options] (24.32)

The arguments are:


ncoor The list of node coordinates arranged as { { x1,y1 },{ x2,y2 }, ... { x6,y6 } }.
Emat The plane stress elasticity matrix
 
E 11 E 12 E 13
E= E 12 E 22 E 23 (24.33)
E 13 E 23 E 33
arranged as { { E11,E12,E33 },{ E12,E22,E23 },{ E13,E23,E33 } }.
th Plate thickness specified as either a scalar h or a six-entry list: { h1,h2,h3,h4,h5,h6 }.

24–11
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–12

The one-entry form specifies uniform thickness h. The six-entry form is used to specify
an element of variable thickness, in which case the entries are the six node thicknesses
and h is interpolated quadratically.
options Processing options list. May contain two items: { numer,rule } or one: { numer }.
numer is a logical flag. If True, the computations are forced to proceed in floating-point
arithmetic. For symbolic or exact arithmetic work set numer to False.
rule specifies the triangle Gauss rule as described in §24.2.4; rule may be 1, 3, −3, 6
or 7. For the 6-node element the three point rules are sufficient to get the correct rank.
If omitted rule = 3 is assumed.
The module returns Ke as an 12 × 12 symmetric matrix pertaining to the following arrangement of
nodal displacements:
ue = [ u x1 u y1 u x2 u y2 u x3 u y3 u x4 u y4 u x5 u y5 u x6 u y6 ]T . (24.34)

§24.4.3. Test on Straight-Sided Triangle

The stiffness module of Figure 24.6 is tested on two 3 (4,4)


triangle geometries, one with straight sides and constant
metric and one with curved sides and highly variable 5
metric. The straight sided triangle geometry, shown in
6
Figure 24.7, has the corner nodes placed at (0, 0), (6, 2) 2 (6,2)
and (4, 4) with side nodes 4,5,6 at the midpoints of the
sides. The element has unit plate thickness. The material 4
is isotropic with E = 288 and ν = 1/3.
1 (0,0)
The element is tested with the script shown in Figure
Figure 24.7. Straight sided 6-node triangle
24.8. The stiffness matrix Ke is computed by the three- test element.
interior-point Gauss rule, specified as p=3.
The computed Ke for integration rules with 3 or more points are identical since those rules are exact
for this element if the metric is constant, which is the case here. That stiffness is
 
54 27 18 0 0 9 −72 0 0 0 0 −36
 27 54 0 −18 9 36 0 72 0 0 −36 −144 
 18 216 −108 54 −36 −72 −216 0
 0 0 144 0 
 0 −18 −108 216 −36 90 0 72 144 −360 0 0
 
 0 9 54 −36 162 −81 0 0 −216 144 0 −36 
 
 9 36 −36 90 −81 378 0 0 144 −360 −36 −144 
 −72 0 −72 576 −216 −72 −432
 (24.35)
 0 0 0 0 288 
 0 0 −216 −72 −288 −720 
 72 0 72 0 864 288 
 0 0 −216 144 −216 144 0 −72 576 −216 −144 0
 
 0 0 144 −360 144 −360 −72 −288 −216 864 0 144 
 
0 −36 0 0 0 −36 −432 288 −144 0 576 −216
−36 −144 0 0 −36 −144 288 −720 0 144 −216 864
The eigenvalues are:
[ 1971.66 1416.75 694.82 545.72 367.7 175.23 157.68 57.54 12.899 0 0 0 ] (24.36)
The 3 zero eigenvalues pertain to the three independent rigid-body modes. The 9 other ones are positive.
Consequently the computed Ke has the correct rank of 9.

24–12
24–13 §24.4 THE QUADRATIC TRIANGLE

ClearAll[Em,ν,a,b,e,h]; h=1; Em=288; ν=1/3;


ncoor={{0,0},{6,2},{4,4},{3,1},{5,3},{2,2}};
Emat=Em/(1-ν^2)*{{1,ν,0},{ν,1,0},{0,0,(1-ν)/2}};
Print["Emat=",Emat//MatrixForm]
Ke=Trig6IsoPMembraneStiffness[ncoor,Emat,h,{False,3}];
Ke=Simplify[Ke]; Print[Chop[Ke]//MatrixForm];
Print["eigs of Ke=",Chop[Eigenvalues[N[Ke]]]];

Figure 24.8. Script to form Ke of test triangle of Figure 24.7.



3 ( 0, 3/2γ)
§24.4.4. Test on Highly Distorted Triangle
√ √
6 (−1/2, 1/ 3 ) 5 (1/2, 1/ 3 )
A highly distorted test geometry places the 3 corners
at the vertices √ of an equilateral triangle: {−1/2, 0},
{1/2, 0}, {0, √ 3/2} whereas√the 3 side nodes are √ located
at {0, −1/(2 3)}, {1/2, 1/ 3} and {−1/2, 1/ 3}. √ The 2 (1/2,0)
1 (−1/2,0)
result is that the six nodes lie on a circle of radius 1/ 3, as
depicted in Figure 24.9. The element has unit thickness. √
4 ( 0, −1/(2 3) )
The material is isotropic with E = 504 and ν = 0. The
stiffness Ke is evaluated for four rank-sufficient rules: Figure 24.9. Test curved sided quadratic
3,-3,6,7, using the script of Figure 24.10. triangle, with the 6 nodes lying on a circle.

ClearAll[Em,ν,h]; h=1; Em=7*72; ν=0; h=1;


{x1,y1}={-1,0}/2; {x2,y2}={1,0}/2; {x3,y3}={0,Sqrt[3]}/2;
{x4,y4}={0,-1/Sqrt[3]}/2; {x5,y5}={1/2,1/Sqrt[3]};
{x6,y6}={-1/2,1/Sqrt[3]};
ncoor= {{x1,y1},{x2,y2},{x3,y3},{x4,y4},{x5,y5},{x6,y6}};
Emat=Em/(1-ν^2)*{{1,ν,0},{ν,1,0},{0,0,(1-ν)/2}};
For [i=2,i<=5,i++, p={1,-3,3,6,7}[[i]];
Ke=Trig6IsoPMembraneStiffness[ncoor,Emat,h,{True,p}];
Ke=Chop[Simplify[Ke]];
Print["Ke=",SetPrecision[Ke,4]//MatrixForm];
Print["Eigenvalues of Ke=",Chop[Eigenvalues[N[Ke]],.0000001]]
];

Figure 24.10. Script to form Ke for the triangle of Figure 24.9, using four integration rules.

For rule=3 the result (printed to 4 places because of the SetPrecision statement in script) is
 
344.7 75.00 −91.80 21.00 −86.60 −24.00 −124.7 −72.00 −20.78 −36.00 −20.78 36.00
 75.00 258.1 −21.00 −84.87 18.00 −90.07 96.00 0 −36.00 20.78 −132.0 −103.9 
 −91.80 −21.00 −75.00 −86.60 −124.7 −20.78 −36.00 −20.78 36.00 
 344.7 24.00 72.00 
 21.00 −84.87 −75.00 258.1 −18.00 −90.07 −96.00 0 132.0 −103.9 36.00 20.78 
 
 −86.60 18.00 −86.60 −18.00 214.8 0 41.57 0 −41.57 144.0 −41.57 −144.0 
 
 −24.00 −90.07 24.00 −90.07 0 388.0 0 −41.57 −24.00 −83.14 24.00 −83.14 
 −124.7 −124.7 −96.00 −83.14 −72.00 −83.14

 96.00 41.57 0 374.1 0 72.00 
 −72.00 −41.57 −72.00 −166.3 −166.3 
 0 72.00 0 0 0 374.1 72.00 
 −20.78 −36.00 −20.78 132.0 −41.57 −24.00 −83.14 −72.00 374.1 0 −207.8 0
 
 −36.00 20.78 −36.00 −103.9 144.0 −83.14 −72.00 −166.3 0 374.1 0 −41.57 
 
−20.78 −132.0 −20.78 36.00 −41.57 24.00 −83.14 72.00 −207.8 0 374.1 0
36.00 −103.9 36.00 20.78 −144.0 −83.14 72.00 −166.3 0 −41.57 0 374.1
(24.37)

24–13
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–14

For rule=-3:
 
566.4 139.0 129.9 21.00 79.67 8.000 −364.9 −104.0 −205.5 −36.00 −205.5 −28.00
 139.0 405.9 −21.00 62.93 50.00 113.2 64.00 −129.3 −36.00 −164.0 −196.0 −288.7 
 129.9 −21.00 −139.0 −8.000 −364.9 −205.5 −205.5 36.00 
 566.4 79.67 104.0 28.00 
 21.00 62.93 −139.0 405.9 −50.00 113.2 −64.00 −129.3 196.0 −288.7 36.00 −164.0 
 
 79.67 50.00 79.67 −50.00 325.6 0 −143.2 0 −170.9 176.0 −170.9 −176.0 
 
 8.000 113.2 −8.000 113.2 0 646.6 0 −226.3 8.000 −323.3 −8.000 −323.3 
 −364.9 −364.9 −64.00 −143.2 −104.0

 64.00 0 632.8 0 120.1 120.1 104.0 
 −104.0 −129.3 −129.3 −226.3 −104.0 0
 104.0 0 0 485.0 0 104.0 
 −205.5 −36.00 −205.5 196.0 −170.9 8.000 120.1 −104.0 521.9 −64.00 −60.04 0
 
 −36.00 −164.0 28.00 −288.7 176.0 −323.3 −104.0 0 −64.00 595.8 0 180.1 
 
−205.5 −196.0 −205.5 36.00 −170.9 −8.000 120.1 104.0 −60.04 0 521.9 64.00
−28.00 −288.7 36.00 −164.0 −176.0 −323.3 104.0 0 0 180.1 64.00 595.8
(24.38)
The stiffness for rule=6 is omitted to save space. For rule=7:
 
661.9 158.5 141.7 21.00 92.53 7.407 −432.1 −117.2 −190.2 −29.10 −273.8 −40.61
 158.5 478.8 −21.00 76.13 49.41 125.3 50.79 −182.7 −29.10 −156.6 −208.6 −341.0 
 141.7 −21.00 −158.5 −7.407 −432.1 −273.8 −190.2 29.10 
 661.9 92.53 117.2 40.61 
 21.00 76.13 −158.5 478.8 −49.41 125.3 −50.79 −182.7 208.6 −341.0 29.10 −156.6 
 
 92.53 49.41 92.53 −49.41 387.3 0 −139.8 0 −216.3 175.4 −216.3 −175.4 
 
 7.407 125.3 −7.407 125.3 0 753.4 0 −207.0 7.407 −398.5 −7.407 −398.5 
 −432.1 −432.1 −50.79 −139.8 −117.2

 50.79 0 723.6 0 140.2 140.2 117.2 
 −117.2 −182.7 −182.7 −207.0 −117.2 4.884 
 117.2 0 0 562.6 4.884 117.2 
 −190.2 −29.10 −273.8 208.6 −216.3 7.407 140.2 −117.2 602.8 −69.71 −62.78 0
 
 −29.10 −156.6 40.61 −341.0 175.4 −398.5 −117.2 4.884 −69.71 683.3 0 207.9 
 
−273.8 −208.6 −190.2 29.10 −216.3 −7.407 140.2 117.2 −62.78 0 602.8 69.71
−40.61 −341.0 29.10 −156.6 −175.4 −398.5 117.2 4.884 0 207.9 69.71 683.3
(24.39)
The eigenvalues of these matrices are:

Rule Eigenvalues of Ke
3 702.83 665.11 553.472 553.472 481.89 429.721 429.721 118.391 118.391 0 0 0
−3 1489.80 1489.80 702.833 665.108 523.866 523.866 481.890 196.429 196.429 0 0 0
6 1775.53 1775.53 896.833 768.948 533.970 533.970 495.570 321.181 321.181 0 0 0
7 1727.11 1727.11 880.958 760.719 532.750 532.750 494.987 312.123 312.123 0 0 0
(24.40)
Since the metric of this element is highly distorted near its boundary, the stiffness matrix entries and
eigenvalues change significantly as the integration formulas are advanced from 3 to 6 and 7 points.
However as can be seen the matrix remains rank-sufficient.

§24.5. *The Cubic Triangle

The 10-node cubic triangle, depicted in Figure 24.11, is rarely used as such in applications because of the difficulty
of combining it with other elements. Nevertheless the derivation of the element modules is instructive as this
triangle has other and more productive uses as a generator of more practical elements with “drilling” rotational
degrees of freedom at corners for modeling shells. Such transformations are studied in advanced FEM courses.
The geometry of the triangle is defined by the coordinates of the ten nodes. A notational warning: the interior node
is labeled as 0 instead of 10 (cf. Figure 24.8) to avoid confusion with notation such as x12 = x1 − x2 for coordinate
differences.

24–14
24–15 §24.5 *THE CUBIC TRIANGLE

§24.5.1. *Shape Function Module

The shape functions obtained in Exercise 18.1 are N1 = 12 ζ1 (3ζ1 − 1)(3ζ1 − 2), N2 = 12 ζ2 (3ζ2 − 1)(3ζ2 − 2),
N3 = 12 ζ3 (3ζ3 −1)(3ζ3 −2), N4 = 92 ζ1 ζ2 (3ζ1 −1), N5 = 92 ζ1 ζ2 (3ζ2 −1), N6 = 92 ζ2 ζ3 (3ζ2 −1), N7 = 92 ζ2 ζ3 (3ζ3 −1),
N8 = 92 ζ3 ζ1 (3ζ3 − 1), N9 = 92 ζ3 ζ1 (3ζ1 − 1) and N0 = 27ζ1 ζ2 ζ3 . Their natural derivatives are

 2 −2ζ +3ζ 2   0   0 
9 1 1
 0  
2
−2ζ2 +3ζ22   0 
     2
9
 0   0  
2
9
−2ζ 3 +3ζ3 
 ζ2 (6ζ1 −1)   ζ1 (3ζ1 −1)   0 
∂NT
  ∂NT
  ∂NT
 
9  ζ2 (3ζ2 −1)  9  ζ1 (6ζ2 −1)  9  0 
= 2 , = 2 , = 2 . (24.41)
∂ζ1  0  ∂ζ2  ζ3 (6ζ2 −1)  ∂ζ3  ζ2 (3ζ2 −1) 
   ζ3 (3ζ3 −1)   ζ2 (6ζ3 −1) 
 0     
 ζ3 (3ζ3 −1)   0   ζ1 (6ζ3 −1) 
     
ζ3 (6ζ1 −1) 0 ζ1 (3ζ1 −1)
6ζ2 ζ3 6ζ1 ζ3 6ζ1 ζ2
3
As in the case of the 6-node triangle it is convenient to introduce
the deviations from thirdpoints and centroid: x4 = x4 − 8 7
1
3
(2x1 +x2 ), x5 = x5 − 13 (x1 +2x2 ), x6 = x6 − 13 (2x2 +x3 ),
x7 = x7 − 13 (x2 +2x3 ), x8 = x8 − 13 (2x3 +x1 ), x9 = x9 − 9 6
0
1
3
(x3 +2x1 ), x0 = x0 − 13 (x1 +x2 +x3 ), y4 = y4 − 13 (2y1 +y2 ), 2
y5 = y5 − 13 (y1 +2y2 ), y6 = y6 − 13 (2y2 +y3 ), y7 = y7 − 4 5
1
1
3
(y2 +2y3 ), y8 = y8 − 13 (2y3 +y1 ), y9 = y9 − 13 (y3 +2y1 ),
and y0 = y0 − 13 (y1 + y2 + y3 ). Figure 24.11. The 10-node cubic triangle.

Using (24.22) and (24.41), the shape function partial derivatives can be worked out to be
   
Jy23 ( 29 − 2ζ1 + 3ζ12 /2) Jx32 ( 29 − 2ζ1 + 3ζ12 /2)
 Jy31 ( 29 − 2ζ2 + 3ζ22 /2)   Jx13 ( 29 − 2ζ2 + 3ζ22 /2) 
   
 Jy12 ( 9 − 2ζ3 + 3ζ3 /2)
2 2   Jx21 ( 9 − 2ζ3 + 3ζ3 /2)
2 2 
   
 Jy31 ζ1 (3ζ1 − 1) + Jy23 ζ2 (6ζ1 − 1)   Jx13 ζ1 (3ζ1 − 1) + Jx32 ζ2 (6ζ1 − 1) 
∂N T
9  Jy23 ζ2 (3ζ2 − 1) + Jy31 ζ1 (6ζ2 − 1) 

, ∂N T
9  Jx32 ζ2 (3ζ2 − 1) + Jx13 ζ1 (6ζ2 − 1) 

.
= =
∂x 4J 
 Jy12 ζ2 (3ζ2 − 1) + Jy31 ζ3 (6ζ2 − 1) 
 ∂y 4J 
 Jx21 ζ2 (3ζ2 − 1) + Jx13 ζ3 (6ζ2 − 1) 

 Jy31 ζ3 (3ζ3 − 1) + Jy12 ζ2 (6ζ3 − 1)   Jx13 ζ3 (3ζ3 − 1) + Jx21 ζ2 (6ζ3 − 1) 
   
 Jy23 ζ3 (3ζ3 − 1) + Jy12 ζ1 (6ζ3 − 1)   Jx32 ζ3 (3ζ3 − 1) + Jx21 ζ1 (6ζ3 − 1) 
 J ζ (3ζ − 1) + J ζ (6ζ − 1)   J ζ (3ζ − 1) + J ζ (6ζ − 1) 
y12 1 1 y23 3 1 x21 1 1 x32 3 1
6(Jy12 ζ1 ζ2 + Jy31 ζ1 ζ3 + Jy23 ζ2 ζ3 ) 6(Jx21 ζ1 ζ2 + Jx13 ζ1 ζ3 + Jx32 ζ2 ζ3 )
(24.42)
where the expressions of the Jacobian coefficients are
    
Jx21 = x21 + 9
x4 ζ1 (3ζ1 −6ζ2 −1)+ζ2 + x5 ζ2 (1−3ζ2 +6ζ1 )−ζ1 + x6 ζ3 (6ζ2 −1)

2

+ x7 ζ3 (3ζ3 −1) + x8 ζ3 (1−3ζ3 ) + x9 ζ3 (1−6ζ1 ) + 6 x0 ζ3 (ζ1 −ζ2 ) ,


  
Jx32 = x32 + 9
x4 ζ1 (1−3ζ1 ) + x5 ζ1 (1−6ζ2 ) + x6 ζ2 (3ζ2 −6ζ3 −1)+ζ3
  
2
(24.43)
+ x7 ζ3 (1−3ζ3 +6ζ2 )−ζ2 + x8 ζ1 (6ζ3 −1) + x9 ζ1 (3ζ1 −1) + 6 x0 ζ1 (ζ2 −ζ3 ) ,

Jx13 = x13 + 9
x4 (6ζ1 −1)ζ2 + x5 ζ2 (3ζ2 −1) + x6 ζ2 (1−3ζ2 ) + x7 ζ2 (1−6ζ3 )
    
2

+ x8 ζ3 (3ζ3 −6ζ1 −1)+ζ1 + x9 ζ1 (1−3ζ1 +6ζ3 )−ζ3 + 6 x0 ζ2 (ζ3 −ζ1 ) ,

24–15
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–16

Trig10IsoPShapeFunDer[ncoor_,tcoor_]:= Module[
{ζ 1,ζ 2,ζ 3,x1,x2,x3,x4,x5,x6,x7,x8,x9,x0,y1,y2,y3,y4,y5,y6,y7,y8,y9,y0,
dx4,dx5,dx6,dx7,dx8,dx9,dx0,dy4,dy5,dy6,dy7,dy8,dy9,dy0,
Jx21,Jx32,Jx13,Jy12,Jy23,Jy31,Nf,dNx,dNy,Jdet},
{{x1,y1},{x2,y2},{x3,y3},{x4,y4},{x5,y5},{x6,y6},{x7,y7},
{x8,y8},{x9,y9},{x0,y0}}=ncoor; {ζ 1,ζ 2,ζ 3}=tcoor;
dx4=x4-(2*x1+x2)/3; dx5=x5-(x1+2*x2)/3; dx6=x6-(2*x2+x3)/3;
dx7=x7-(x2+2*x3)/3; dx8=x8-(2*x3+x1)/3; dx9=x9-(x3+2*x1)/3;
dy4=y4-(2*y1+y2)/3; dy5=y5-(y1+2*y2)/3; dy6=y6-(2*y2+y3)/3;
dy7=y7-(y2+2*y3)/3; dy8=y8-(2*y3+y1)/3; dy9=y9-(y3+2*y1)/3;
dx0=x0-(x1+x2+x3)/3; dy0=y0-(y1+y2+y3)/3;
Nf={ζ 1*(3*ζ 1-1)*(3*ζ 1-2),ζ 2*(3*ζ 2-1)*(3*ζ 2-2),ζ 3*(3*ζ 3-1)*(3*ζ 3-2),
9*ζ 1*ζ 2*(3*ζ 1-1),9*ζ 1*ζ 2*(3*ζ 2-1),9*ζ 2*ζ 3*(3*ζ 2-1),
9*ζ 2*ζ 3*(3*ζ 3-1),9*ζ 3*ζ 1*(3*ζ 3-1),9*ζ 3*ζ 1*(3*ζ 1-1),54*ζ 1*ζ 2*ζ 3}/2;
Jx21=x2-x1+(9/2)*(dx4*(ζ 1*(3*ζ 1-6*ζ 2-1)+ζ 2)+
dx5*(ζ 2*(1-3*ζ 2+6*ζ 1)-ζ 1)+dx6*ζ 3*(6*ζ 2-1)+dx7*ζ 3*(3*ζ 3-1)+
dx8*ζ 3*(1-3*ζ 3)+dx9*ζ 3*(1-6*ζ 1)+6*dx0*ζ 3*(ζ 1-ζ 2));
Jx32=x3-x2+(9/2)*(dx4*ζ 1*(1-3*ζ 1)+dx5*ζ 1*(1-6*ζ 2)+
dx6*(ζ 2*(3*ζ 2-6*ζ 3-1)+ζ 3)+dx7*(ζ 3*(1-3*ζ 3+6*ζ 2)-ζ 2)+
dx8*ζ 1*(6*ζ 3-1)+dx9*ζ 1*(3*ζ 1-1)+6*dx0*ζ 1*(ζ 2-ζ 3)) ;
Jx13=x1-x3+(9/2)*(dx4*(6*ζ 1-1)*ζ 2+dx5*ζ 2*(3*ζ 2-1)+
dx6*ζ 2*(1-3*ζ 2)+dx7*ζ 2*(1-6*ζ 3)+dx8*(ζ 3*(3*ζ 3-6*ζ 1-1)+ζ 1)+
dx9*(ζ 1*(1-3*ζ 1+6*ζ 3)-ζ 3)+6*dx0*ζ 2*(ζ 3-ζ 1));
Jy12=y1-y2-(9/2)*(dy4*(ζ 1*(3*ζ 1-6*ζ 2-1)+ζ 2)+
dy5*(ζ 2*(1-3*ζ 2+6*ζ 1)-ζ 1)+dy6*ζ 3*(6*ζ 2-1)+dy7*ζ 3*(3*ζ 3-1)+
dy8*ζ 3*(1-3*ζ 3)+dy9*ζ 3*(1-6*ζ 1)+6*dy0*ζ 3*(ζ 1-ζ 2));
Jy23=y2-y3-(9/2)*(dy4*ζ 1*(1-3*ζ 1)+dy5*ζ 1*(1-6*ζ 2)+
dy6*(ζ 2*(3*ζ 2-6*ζ 3-1)+ζ 3)+dy7*(ζ 3*(1-3*ζ 3+6*ζ 2)-ζ 2)+
dy8*ζ 1*(6*ζ 3-1)+dy9*ζ 1*(3*ζ 1-1)+6*dy0*ζ 1*(ζ 2-ζ 3)) ;
Jy31=y3-y1-(9/2)*(dy4*(6*ζ 1-1)*ζ 2+dy5*ζ 2*(3*ζ 2-1)+
dy6*ζ 2*(1-3*ζ 2)+dy7*ζ 2*(1-6*ζ 3)+dy8*(ζ 3*(3*ζ 3-6*ζ 1-1)+ζ 1)+
dy9*(ζ 1*(1-3*ζ 1+6*ζ 3)-ζ 3)+6*dy0*ζ 2*(ζ 3-ζ 1));
Jdet = Jx21*Jy31-Jy12*Jx13;
dNx={Jy23*(2/9-2*ζ 1+3*ζ 1^2),Jy31*(2/9-2*ζ 2+3*ζ 2^2),Jy12*(2/9-2*ζ 3+3*ζ 3^2),
Jy31*ζ 1*(3*ζ 1-1)+Jy23*ζ 2*(6*ζ 1-1),Jy23*ζ 2*(3*ζ 2-1)+Jy31*ζ 1*(6*ζ 2-1),
Jy12*ζ 2*(3*ζ 2-1)+Jy31*ζ 3*(6*ζ 2-1),Jy31*ζ 3*(3*ζ 3-1)+Jy12*ζ 2*(6*ζ 3-1),
Jy23*ζ 3*(3*ζ 3-1)+Jy12*ζ 1*(6*ζ 3-1),Jy12*ζ 1*(3*ζ 1-1)+Jy23*ζ 3*(6*ζ 1-1),
6*(Jy12*ζ 1*ζ 2+Jy31*ζ 1*ζ 3+Jy23*ζ 2*ζ 3)}/(2*Jdet/9);
dNy={Jx32*(2/9-2*ζ 1+3*ζ 1^2),Jx13*(2/9-2*ζ 2+3*ζ 2^2),Jx21*(2/9-2*ζ 3+3*ζ 3^2),
Jx13*ζ 1*(3*ζ 1-1)+Jx32*ζ 2*(6*ζ 1-1),Jx32*ζ 2*(3*ζ 2-1)+Jx13*ζ 1*(6*ζ 2-1),
Jx21*ζ 2*(3*ζ 2-1)+Jx13*ζ 3*(6*ζ 2-1),Jx13*ζ 3*(3*ζ 3-1)+Jx21*ζ 2*(6*ζ 3-1),
Jx32*ζ 3*(3*ζ 3-1)+Jx21*ζ 1*(6*ζ 3-1),Jx21*ζ 1*(3*ζ 1-1)+Jx32*ζ 3*(6*ζ 1-1),
6*(Jx21*ζ 1*ζ 2+Jx13*ζ 1*ζ 3+Jx32*ζ 2*ζ 3)}/(2*Jdet/9);
Return[Simplify[{Nf,dNx,dNy,Jdet}]]
];

Figure 24.12. Shape function module for 10-node cubic triangle.

and
  
Jy12 = y12 − 9
y4 ζ1 (3ζ1 −6ζ2 −1)+ζ2 + y5 (ζ2 (1−3ζ2 +6ζ1 )−ζ1 ) + y6 ζ3 (6ζ2 −1)

2

+ y7 ζ3 (3ζ3 −1) + y8 ζ3 (1−3ζ3 ) + y9 ζ3 (1−6ζ1 ) + 6 y0 ζ3 (ζ1 −ζ2 ) ,


  
Jy23 = y23 − 9
y4 ζ1 (1−3ζ1 ) + y5 ζ1 (1−6ζ2 ) + y6 ζ2 (3ζ2 −6ζ3 −1)+ζ3
  
2
(24.44)
+ y7 ζ3 (1−3ζ3 +6ζ2 )−ζ2 + y8 ζ1 (6ζ3 −1) + y9 ζ1 (3ζ1 −1) + 6 y0 ζ1 (ζ2 −ζ3 ) ,

Jy31 = y31 − 9
y4 (6ζ1 −1)ζ2 + y5 ζ2 (3ζ2 −1) + y6 ζ2 (1−3ζ2 ) + y7 ζ2 (1−6ζ3 )
    
2

+ y8 ζ3 (3ζ3 −6ζ1 −1)+ζ1 + y9 ζ1 (1−3ζ1 +6ζ3 )−ζ3 + 6 y0 ζ2 (ζ3 −ζ1 ) .


The Jacobian determinant is J = 12 (Jx21 Jy31 − Jy12 Jx13 ). The shape function module Trig10IsoPShapeFunDer
that implements these expressions is listed in Figure 24.12. This has the same arguments as Trig6IsoPShapeFunDer.
As there Jdet denotes 2J .

24–16
24–17 §24.5 *THE CUBIC TRIANGLE

Trig10IsoPMembraneStiffness[ncoor_,Emat_,th_,options_]:=
Module[{i,k,l,p=6,numer=False,h=th,tcoor,w,c,
Nf,dNx,dNy,Jdet,Be,Ke=Table[0,{20},{20}]},
If [Length[options]>=1, numer=options[[1]]];
If [Length[options]>=2, p= options[[2]]];
If [!MemberQ[{1,3,-3,6,7},p], Print["Illegal p"]; Return[Null]];
For [k=1, k<=Abs[p], k++,
{tcoor,w}= TrigGaussRuleInfo[{p,numer},k];
{Nf,dNx,dNy,Jdet}= Trig10IsoPShapeFunDer[ncoor,tcoor];
If [numer, {Nf,dNx,dNy,Jdet}=N[{Nf,dNx,dNy,Jdet}]];
If [Length[th]==10, h=th.Nf]; c=w*Jdet*h/2;
Be= {Flatten[Table[{dNx[[i]],0 },{i,10}]],
Flatten[Table[{0, dNy[[i]]},{i,10}]],
Flatten[Table[{dNy[[i]],dNx[[i]]},{i,10}]]};
Ke+=c*Transpose[Be].(Emat.Be);
]; If[!numer,Ke=Simplify[Ke]]; Return[Ke]
];

Figure 24.13. Stiffness module for 10-node cubic triangle.

§24.5.2. *Stiffness Module

Module Trig10IsoPMembraneStiffness, listed in Figure 24.13, implements the computation of the element
stiffness matrix of the 10-node cubic plane stress triangle. The module is invoked as

Ke = Trig10IsoPMembraneStiffness[ncoor,Emat,th,options] (24.45)

this has the same arguments of the quadratic triangle module invoked in (24.32), with the following changes. The
node coordinate list ncoor contains 10 entries: { { x1,y1 },{ x2,y2 },{ x3,y3 }, . . .,{ x9,y9 },{ x0,y0 } }. If the
plate thickness varies, th is a list of 10 entries: { h1,h2,h3,h4,. . .,h9,h0 }. The triangle Gauss rule specified in
options as { numer,rule } should be 6 or 7 to produce a rank sufficient stiffness. If omitted rule = 6 is assumed.
The module returns Ke as an 20 × 20 symmetric matrix pertaining to the following arrangement of nodal displace-
ments:
ue = [ u x1 u y1 u x2 u y2 u x3 u y3 u x4 u y4 . . . u x9 u y9 u x0 u y0 ]T . (24.46)

Remark 24.3. For symbolic work with this element the 7-point rule should be preferred because the exact
expressions of the abcissas and weigths at sample points are simpler than for the 6-point rule, as can be observed
in Figure 24.3. This speeds up algebraic simplification. For numerical work the 6-point rule is slightly faster.

§24.5.3. *Test Element 3 (4,4)

The stiffness module is tested on the superparametric triangle 7


geometry shown in Figure 24.14, which has been already 8 6
used for the quadratic triangle.
The corner nodes are placed at (0, 0), (6, 2) and (4, 4). The 0
2 (6,2)
9
6 side nodes are located at the thirdpoints of the sides and the 5
interior node at the centroid. The plate has unit thickness.
4
The material is isotropic with E = 1920 and ν = 0.
1 (0,0)
The script of Figure 24.15 computes Ke using the 7-point
Gauss rule and exact arithmetic. Figure 24.14. Test 10-node triangle.

The returned stiffness matrix using either 6- or 7-point integration is the same, since for a superparametric element
the integrand is quartic in the triangular coordinates. For the given combination of inputs the entries are exact
integers:

24–17
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–18

 306 102 −42 −42 −21 21 −315 −333 171 153


 102 306 42 42 −63 −105 351 369 −135 −117
 −42 42 1224 −408 −210 42 252 −180 −234 306

 −42 42 −408 1224 126 −294 108 −36 −378 450

 −21 −63 −210 126 1122 −306 −99 27 −99 27
 21 −105 42 −294 −306 −171 −171
 1938 27 27
 −315 −99 5265 −1215 −1539 −243
 351 252 108 27
 −333 369 −180 −36 27 −171 −1215 6885 729 −891

 171 −135 −234 −378 −99 27 −1539 729 5265 −1215

 153 −117 306 450 27 −171 −243 −891 −1215 6885
K =
e
 −27 −9 −1602 990 819 −171 81 81 −405 −405
 −9 −27 306 −2286 −459 −405 −2025
 1179 81 405
 −27 −9 828 −468 −1611 315 81 81 81 81

 −9 −27 −180 1116 999 −2223 81 405 81 405

 99 225 −108 36 −72 144 810 −324 810 −324
 −63 36 −108 −540 −684 −324 −324
 387 1134 1134
 −144 −504 −108 −99 −4050 −324
 36 171 1620 810
 180 −828 36 −108 189 531 1620 −5670 −324 1134

0 0 0 0 0 0 −486 −486 −4860 1944
0 0 0 0 0 0 −486 −2430 1944 −6804

−27 −9 −27 −9 99 −63 −144 180 0 0


−9 −27 −9 −27 225 387 −504 −828 0 0
−1602 306 828 −180 −108 36 −108 36 0 0
990 −2286 −468 1116 36 −108 36 −108 0 0

819 −459 −1611 999 −72 −540 171 189 0 0
−171 1179 315 −2223 144 −684 −99 531 0 0

81 81 81 81 810 −324 −4050 1620 −486 −486 

81 405 81 405 −324 1134 1620 −5670 −486 −2430 

−405 −405 81 81 810 −324 810 −324 −4860 1944 

−405 −2025 81 405 −324 1134 −324 1134 1944 −6804 
5265 −1215 −3483 729 162 0 162 0 −972 0

−1215 6885 1701 −4779 0 −162 0 −162 0 972 

−3483 1701 5265 −1215 −810 0 162 0 −486 −486 

729 −4779 −1215 6885 0 810 0 −162 −486 −2430 

162 0 −810 0 5265 −1215 −1296 −486 −4860 1944 
0 −162 0 810 −1215 6885 486 −2592

1944 −6804 
162 0 162 0 −1296 486 5265 −1215 −972 0
0 −162 0 −162 −486 −2592 −1215 6885 0 972 

−972 0 −486 −486 −4860 1944 −972 0 12636 −2916
0 972 −486 −2430 1944 −6804 0 972 −2916 16524
(24.47)
The eigenvalues are

[ 26397. 16597. 14937. 12285. 8900.7 7626.2 5417.8 4088.8 3466.8 3046.4
(24.48)
1751.3 1721.4 797.70 551.82 313.22 254.00 28.019 0 0 0 ]

The 3 zero eigenvalues pertain to the three independent rigid-body modes in two dimensions. The 17 other
eigenvalues are positive. Consequently the computed Ke has the correct rank of 17.

24–18
24–19 §24. References

ClearAll[Em,Ν,a,b,e,h]; Em=1920; Ν=0; h=1;


ncoor={{0,0},{6,2},{4,4}};
x4=(2*x1+x2)/3; x5=(x1+2*x2)/3; y4=(2*y1+y2)/3; y5=(y1+2*y2)/3;
x6=(2*x2+x3)/3; x7=(x2+2*x3)/3; y6=(2*y2+y3)/3; y7=(y2+2*y3)/3;
x8=(2*x3+x1)/3; x9=(x3+2*x1)/3; y8=(2*y3+y1)/3; y9=(y3+2*y1)/3;
x0=(x1+x2+x3)/3; y0=(y1+y2+y3)/3;
ncoor= {{x1,y1},{x2,y2},{x3,y3},{x4,y4},{x5,y5},{x6,y6},{x7,y7},
{x8,y8},{x9,y9},{x0,y0}};
Emat=Em/(1-Ν^2)*{{1,Ν,0},{Ν,1,0},{0,0,(1-Ν)/2}};
Ke=Trig10IsoPMembraneStiffness[ncoor,Emat,h,{False,7}];
Ke=Simplify[Ke]; Print[Ke//MatrixForm]; ev=Chop[Eigenvalues[N[Ke]]];
Print["eigs of Ke=",ev];

Figure 24.15. Script for testing cubic triangle of Figure 24.14.

Notes and Bibliography


The 3-node, 6-node and 10-node plane stress triangular elements are generated by complete polynomials in two-
dimensions. In order of historical appearance:
1. The three-node linear triangle, also known as Constant Strain Triangle (CST) and Turner triangle, was
developed as “triangular skin panel” by Turner, Clough and Martin in 1951–53 [68,69] using interelement
flux assumptions, and published in 1956 [392]. It is not clear when the assumed-displacement derivation,
which yields the same stiffness matrix, was done first. The displacement derivation is mentioned in passing
by Clough in [61] and worked out in the theses of Melosh [261] and Wilson [414].
2. The six-node quadratic triangle, also known as Linear Strain Triangle (LST) and Veubeke triangle, was
developed by B. M. Fraeijs de Veubeke in 1962–63 [433]; published 1965 [149].
3. The ten-node cubic triangle, also known as Quadratic Strain Triangle (QST), was developed by the writer in
1965; published 1966 [100]. Shape functions for the cubic triangle were presented there but used for plate
bending instead of plane stress.
A version of the cubic triangle with freedoms migrated to corners and recombined to produce a “drilling rotation”
at corners, was used in static and dynamic shell analysis in Carr’s thesis under Ray Clough [57,65]. The drilling-
freedom idea was independently exploited for rectangular and quadrilateral elements, respectively, in the theses of
Abu-Ghazaleh [2] and Willam [413], both under Alex Scordelis. A variant of the Willam quadrilateral, developed
by Bo Almroth at Lockheed, has survived in the nonlinear shell analysis code STAGS as element 410 [326].
Numerical integration came into FEM by the mid 1960s. Five triangle integration rules were tabulated in the
writer’s thesis [100, pp. 38–39]. These were gathered from three sources: two papers by Hammer and Stroud
[178,179] and the 1964 Handbook of Mathematical Functions [1, §25.4]. They were adapted to FEM by converting
Cartesian abscissas to triangle coordinates. The table has been reproduced in Zienkiewicz’ book since the second
edition [431, Table 8.2] and, with corrections and additions, in the monograph of Strang and Fix [360, p. 184].
The monograph by Stroud [363] contains a comprehensive collection of quadrature formulas for multi-
ple integrals. That book gathers most of the formulas known by 1970, as well as references until that
year. (Only a small fraction of Stroud’s tabulated rules, however, are suitable for FEM work.) The col-
lection has been periodically kept up to date by Cools [73–75], who also maintains a dedicated web site:
http://www.cs.kuleuven.ac.be/~nines/research/ecf/ecf.html This site provides rule information in
16- and 32-digit accuracy for many geometries and dimensionalities as well as a linked “index card” of references
to source publications.

References
Referenced items moved to Appendix R.

24–19
Chapter 24: IMPLEMENTATION OF ISO-P TRIANGULAR ELEMENTS 24–20

Homework Exercises for Chapter 24


Implementation of Iso-P Triangular Elements
3
EXERCISE 24.1 [C:20] Write an element stiffness module and a shape
function module for the 4-node “transition” iso-P triangular element with
only one side node: 4, which is located between 1 and 2. See Figure E24.1.
The shape functions are N1 = ζ1 − 2ζ1 ζ2 , N2 = ζ2 − 2ζ1 ζ2 , N3 = ζ3 and
N4 = 4ζ1 ζ2 . Use the three interior point integration rule=3.
2
Test the element for the geometry of the triangle depicted in Figure 24.7, 4
removing nodes 5 and 6, and with E = 2880, ν = 1/3 and h = 1.
Report results for the stiffness matrix Ke and its 8 eigenvalues. Note:
1
Notebook Trig6Stiffness.nb for the 6-node triangle, posted on the
Figure E24.1. The 4-node transi-
index of Chapter 24, may be used as “template” in support of this Exercise.
tion triangle for Exercise 24.1.
Partial results: K 11 = 1980, K 18 = 1440.
EXERCISE 24.2 [A/C:5+20] As in the foregoing Exercise, but now write the module for a five-node triangular
“transition” element that lacks midnode 6 opposite corner 2. Begin by deriving the five shape functions.
EXERCISE 24.3 [A+C:25] Consider the superparametric straight-sided 6-node triangle where side nodes are
located at the midpoints. By setting x4 = 12 (x1 + x2 ), x5 = 12 (x2 + x3 ), x3 = 12 (x3 + x1 ), y4 = 12 (y1 + y2 ),
y5 = 12 (y2 + y3 ), y3 = 12 (y3 + y1 ) in (24.26), deduce that
     
1 1 1 1 1 1 1 1 1
J= 3x1 2x1 + x2 2x1 + x3 ζ1 + x1 + 2x2 3x2 2x2 + x3 ζ2 + x1 + 2x3 x2 + 2x3 3x3 ζ3 . (E24.1)
3y1 2y1 + y2 2y1 + y3 y1 + 2y2 3y2 2y2 + y3 y1 + 2y3 y2 + 2y3 3y3
This contradicts publications that, by mistakingly assuming that the results for the linear triangle (Chapter 15) can
be extended by analogy, take  
1 1 1
J = x1 x2 x3 (E24.2)
y1 y2 y3
Show, however, that
 
1 y23 y32
2J = 2A = det J = x3 y12 + x1 y23 + x2 y31 , P= y31 x13 (E24.3)
2J y x21
12
are the same for both (E24.1) and (E24.2). Thus the mistake has no effect on the computation of derivatives.
EXERCISE 24.4 [A/C:15+15] Consider the superparametric straight-sided 6-node triangle where side nodes are
at the midpoints of the sides and the thickness h is constant. Using the 3-midpoint quadrature rule show that the
element stiffness can be expressed in a closed form obtained in 1966 [100]:
 
Ke = 13 Ah B1T EB1 + B2T EB2 + B3T EB3 (E24.4)
in which A is the triangle area and
 
1 y32 0 y31 0 y12 0 2y23 0 2y32 0 2y23 0
B1 = 0 x23 0 x13 0 x21 0 2x32 0 2x23 0 2x32
2A x23 y32 x13 y31 x21 y12 2x32 2y23 2x23 2y32 2x32 2y23
 
1 y23 0 y13 0 y12 0 2y31 0 2y31 0 2y13 0
B2 = 0 x32 0 x31 0 x21 0 2x13 0 2x13 0 2x31 (E24.5)
2A x32 y23 x31 y13 x21 y12 2x13 2y31 2x13 2y31 2x31 2y13
 
1 y23 0 y31 0 y21 0 2y21 0 2y12 0 2y12 0
B3 = 0 x32 0 x13 0 x12 0 2x12 0 2x21 0 2x21
2A x32 y23 x13 y31 x12 y21 2x12 2y21 2x21 2y12 2x21 2y12

24–20
24–21 §24. References

With this form Ke can be computed in approximately 1000 floating-point operations.


Using next the 3-interior-point quadrature rule, show that the element stiffness can be expressed again as (E24.4)
but with
 
1 5y23 0 y13 0 y21 0 2y21 + 6y31 0 2y32 0 6y12 + 2y13 0
B1 = 0 5x32 0 x31 0 x12 0 2x12 + 6x13 0 2x23 0 6x21 + 2x31
6A 5x32 5y23 x31 y13 x12 y21 2x12 + 6x13 2y21 + 6y31 2x23 2y32 6x21 + 2x31 6y12 + 2y13
 
1 y32 0 5y31 0 y21 0 2y21 + 6y23 0 6y12 + 2y32 0 2y13 0
B2 = 0 x23 0 5x13 0 x12 0 2x12 + 6x32 0 6x21 + 2x23 0 2x31
6A x23 y32 5x13 5y31 x12 y21 2x12 + 6x32 2y21 + 6y23 6x21 + 2x23 6y12 + 2y32 2x31 2y13
 
1 y32 0 y13 0 5y12 0 2y21 0 6y31 + 2y32 0 2y13 + 6y23 0
B3 = 0 x23 0 x31 0 5x21 0 2x12 0 6x13 + 2x23 0 2x31 + 6x32
6A x23 y32 x31 y13 5x21 5y12 2x12 2y21 6x13 + 2x23 6y31 + 2y32 2x31 + 6x32 2y13 + 6y23
(E24.6)
The fact that two very different expressions yield the same Ke explains why sometimes authors rediscover the same
element derived with different methods.
Yet another set that produces the correct stiffness is
 
1 y23 0 y31 0 y21 0 2y21 0 2y12 0 2y12 0
B1 = 0 x32 0 x13 0 x12 0 2x12 0 2x21 0 2x21
6A x32 y23 x13 y31 x12 y21 2x12 2y21 2x21 2y12 2x21 2y12
 
1 y32 0 y31 0 y12 0 2y23 0 2y32 0 2y23 0
B2 = 0 x23 0 x13 0 x21 0 2x32 0 2x23 0 2x32 (E24.7)
6A x23 y32 x13 y31 x21 y12 2x32 2y23 2x23 2y32 2x32 2y23
 
1 y23 0 y13 0 y12 0 2y31 0 2y31 0 2y13 0
B3 = 0 x32 0 x31 0 x21 0 2x13 0 2x13 0 2x31
6A x32 y23 x31 y13 x21 y12 2x13 2y31 2x13 2y31 2x31 2y13

EXERCISE 24.5 [A/C:40] (Research paper level) Characterize the most general form of the Bi (i = 1, 2, 3)
matrices that produce the same stiffness matrix Ke in (E24.4). (Entails solving an algebraic Riccati equation.)

EXERCISE 24.6 [A/C:25]. Derive the 4-node transition triangle by forming the 6-node stiffness and applying
MFCs to eliminate 5 and 6. Prove that this technique only works if sides 1–3 and 2–3 are straight with nodes 5 and
6 initially at the midpoint of those sides.

24–21

You might also like