← Back to Home

The geometries that we considered so far are simple. If we are to analyze a complex, real-world structure, we need a way to accurately model its geometry. Not to worry, we can map a simple element to a complex one using a function.

Today, we will study the isoparametric approach. It tells us how to define the function so that we can evaluate integrals fast and achieve optimal rate of convergence. It is key to making FEM practical and powerful.

1. Isoparametric Approach

We begin with an element in the parametric space. The parametric space is named so because the element gets to take a simple shape—one that we can easily define with parameters. For example, we use a line segment in 1D, a triangle or square in 2D, and a tetrahedron or cube in 3D. The element also provides nodes—special points that let us define a basis of functions. Because we will use this element to create other elements, we refer to it as the parent domain.

Once we have such element in the parametric space, we can create a function to map that element into the physical space. The physical space is where the structure of our interest lives. Because we mapped (transformed) the element, the element can take a complex shape in the physical space.

For our study, we assume that the function is bijective, i.e. the inverse function exists. The inverse allows us to map the complex element (in the physical space) back to the simple element (in the parametric space). This ability becomes crucial for integrations. Note that, for certain problems, the inverse may not exist everywhere, or may collapse into a singularity. Dealing with numerical instability is topic for another day.

There is more than one way to map the parametric space to the physical space. This is where isoparametric approach comes in. It tells us to use the same basis functions to achieve two goals: (1) map the parent domain to an element in the physical space, i.e. describe the geometry; and (2) define the FE solution inside the element, i.e. describe the field that we are interested in.

Furthermore, an isoparametric approach ensures convergence. As we use more and more elements to describe the geometry (i.e. decrease the element size), we expect the FE solution to converge to the exact solution, point-wise (strong sense) or in some weak sense. The sufficient conditions for convergence are to use the right basis—one that meets the level of smoothness required by the weak form, and forms a partition of unity—and to follow the isoparametric approach.

Since 2005, the isogeometric approach (IGA) has been pursued by both academic and engineering communities. Here, B-splines, NURBS, and T-splines, which are readily available in CAD (computer-aided design), serve as basis for the geometry and fields. To highlight the fact that the geometry is represented exactly with B-splines, NURBS, and T-splines—versus approximately with polynomials—we call this isoparametric approach, isogeometric. IGA gives us competitive, if not better, results over the usual isoparametric approaches.

Next, we take a look at how to apply isoparametric approach to solve 1D elastostatics problems. We consider two types of 1D elements for a compare-and-contrast.

a. Two-noded, linear elements (1D)

Consider two linear functions N1=N1(ξ)N_{1} = N_{1}(\xi) and N2=N2(ξ)N_{2} = N_{2}(\xi), which are defined over the parent domain, the closed interval [1,1][-1,\,1].

Equation 1.1. Basis functions for the parent domain

N1(ξ)=12ξ+12N2(ξ)=12ξ+12\begin{array}{l} \displaystyle N_{1}(\xi) = -\frac{1}{2}\xi + \frac{1}{2} \\ \displaystyle N_{2}(\xi) = \frac{1}{2}\xi + \frac{1}{2} \end{array}

These functions are interpolatory. It means, we satisfy the equation Ni(ξj)=δijN_{i}(\xi_{j}) = \delta_{ij} at the nodes ξ1=1\xi_{1} = -1 and ξ2=1\xi_{2} = 1. We can also check that N1N_{1} and N2N_{2} form a basis for the set of linear polynomials over the parent domain, i.e. any linear function over [1,1][-1,\,1] can be written as a linear combination of N1N_{1} and N2N_{2}.

We need to create a linear function x=x(ξ)x = x(\xi) that can map the parent domain [1,1][-1,\,1] to any two-noded element e=[x1,x2]e = [x_{1},\,x_{2}] in the physical space. Because the basis functions N1N_{1} and N2N_{2} are interpolatory, we deduce that the map is,

x(ξ)=x1N1(ξ)+x2N2(ξ)=x1(12ξ+12)+x2(12ξ+12)\begin{aligned} x(\xi) & \displaystyle = x_{1}N_{1}(\xi) + x_{2}N_{2}(\xi) \\ & \displaystyle = x_{1}\Bigl(-\frac{1}{2}\xi + \frac{1}{2}\Bigr) + x_{2}\Bigl(\frac{1}{2}\xi + \frac{1}{2}\Bigr) \end{aligned}

Note that the derivative of the map is a constant function,

dxdξ(ξ)=x2x12\displaystyle\frac{dx}{d\xi}(\xi) = \frac{x_{2} - x_{1}}{2}

and, more importantly, that the derivative is positive for all ξ\xi \in (1,1)(-1,\,1).

Inverse Function Theorem (1D)

Let x=x(ξ)x = x(\xi) be a map from [a,b][a,\,b] to [c,d][c,\,d]. If the map is Ck(a,b)C^{k}(a,\,b) for some k1k \geq 1 and its JacobianJ(ξ)(dx/dξ)(ξ)Jacobian J(\xi) \equiv (dx/d\xi)(\xi) is positive for all ξ(a,b)\xi \in (a,\,b), then the inverse map ξ=ξ(x)\xi = \xi(x) exists and is Ck(c,d)C^{k}(c,\,d).

We can generalize this result to higher dimensions. The Jacobian is defined as the determinant of the Jacobian matrix.

Since the derivative is positive, the Inverse Function Theorem tells us that the inverse map ξ=ξ(x)\xi = \xi(x) exists, i.e. we can always return to the parent domain from any element in the physical space. We need this ability to calculate integrals fast and accurately. In general, we can't write an explicit formula for the inverse map. Luckily, its existence is enough for us.

To follow the isoparametric approach, we define the basis functions N1(x)N_{1}(x) and N2(x)N_{2}(x) for the physical element to be the composite functions N1(ξ(x))N_{1}(\xi(x)) and N2(ξ(x))N_{2}(\xi(x)).

Equation 1.2. Basis functions for the element

N1(x)N1(ξ(x))N2(x)N2(ξ(x))\begin{array}{l} N_{1}(x) \equiv N_{1}(\xi(x)) \\ N_{2}(x) \equiv N_{2}(\xi(x)) \end{array}

Notice the abuse of notation. The N1N_{1} and N2N_{2} on the left-hand side refer to the basis for the element in the physical space, whereas those on the right refer to the linear basis for the parent domain. I didn't use a different symbol for the physical basis because, from the context, it will always be clear which basis we are looking at.

Lastly, we express the field of our interest in terms of the physical basis N1(x)N_{1}(x) and N2(x)N_{2}(x). In elastostatics, we want to know the displacement field u=u(x)u = u(x). Over the element e=[x1,x2]e = [x_{1},\,x_{2}], we define the FE solution uhu_{h} to be,

uh(x)=u1N1(x)+u2N2(x)u_{h}(x) = u_{1}N_{1}(x) + u_{2}N_{2}(x)

for some coefficients u1u_{1} and u2u_{2}.

Equation 1.3. Displacement field

uh(x)=u1N1(x)+u2N2(x)u_{h}(x) = u_{1}N_{1}(x) + u_{2}N_{2}(x)

Please note that, by N1(x)N_{1}(x) and N2(x)N_{2}(x) in equation 1.3, we do not mean "construct linear, interpolatory basis functions for the physical element, just like we did for the parent domain." What we really mean is, "find the value of ξ\xi in the parent domain that will map to xx, then evaluate N1(ξ)N_{1}(\xi) and N2(ξ)N_{2}(\xi)."

This distinction is hard to see for a linear basis, since the composite functions N1(ξ(x))N_{1}(\xi(x)) and N2(ξ(x))N_{2}(\xi(x)) happen to be linear polynomials in xx. We will see with a quadratic basis that, in general, the basis functions for the physical element are not polynomials in xx.

The element stiffness matrix KeK^{e} and the element load vector fe\vec{f}^{e} have integrals that are defined in the physical space. To evaluate them, we "pull back" to the parent domain and evaluate the integrals there. We can do this because the inverse map exists.

Recall that, for a truss-like bar under an axial load f=f(x)f = f(x), the entries of KeK^{e} and fe\vec{f}^{e} are given by,

(Ke)ij=x1x2E(x)A(x)dNidx(x)dNjdx(x)dx(fe)i=x1x2f(x)Ni(x)dx\begin{array}{l} \displaystyle (K^{e})_{ij} = \int\limits_{x_{1}}^{x_{2}}\,E(x)A(x)\,\frac{dN_{i}}{dx}(x)\frac{dN_{j}}{dx}(x)\,\,dx \\ \displaystyle (\vec{f}^{e})_{i} = \int\limits_{x_{1}}^{x_{2}}\,f(x)\,N_{i}(x)\,\,dx \end{array}

In terms of the parametric space,

dNidxdNidξdξdx=1J(ξ)dNidξdxdxdξdξ=J(ξ)dξ\begin{array}{l} \displaystyle\frac{dN_{i}}{dx} \equiv \frac{dN_{i}}{d\xi}\,\frac{d\xi}{dx} = \frac{1}{J(\xi)}\,\frac{dN_{i}}{d\xi} \\ \displaystyle dx \equiv \frac{dx}{d\xi}\,d\xi = J(\xi)\,d\xi \end{array}

Hence, a pullback to the parent domain results in the following integrals:

Equation 1.4. Element matrix and vector

(Ke)ij=11E(x(ξ))A(x(ξ))dNidξ(ξ)dNjdξ(ξ)1J(ξ)dξ(fe)i=11f(x(ξ))Ni(ξ)J(ξ)dξ\begin{array}{l} \displaystyle (K^{e})_{ij} = \int\limits_{-1}^{1}\,E(x(\xi))A(x(\xi))\,\frac{dN_{i}}{d\xi}(\xi)\frac{dN_{j}}{d\xi}(\xi) \cdot \frac{1}{J(\xi)}\,\,d\xi \\ \displaystyle (\vec{f}^{e})_{i} = \int\limits_{-1}^{1}\,f(x(\xi))\,N_{i}(\xi) \cdot J(\xi)\,\,d\xi \end{array}

where,

N1(ξ)=12ξ+12N2(ξ)=12ξ+12N1(ξ)=12N2(ξ)=12x(ξ)=x1N1(ξ)+x2N2(ξ)J(ξ)=x2x12\begin{array}{l} \displaystyle N_{1}(\xi) = -\frac{1}{2}\xi + \frac{1}{2} \\ \displaystyle N_{2}(\xi) = \frac{1}{2}\xi + \frac{1}{2} \\ \displaystyle N_{1}'(\xi) = -\frac{1}{2} \\ \displaystyle N_{2}'(\xi) = \frac{1}{2} \\ x(\xi) = x_{1}N_{1}(\xi) + x_{2}N_{2}(\xi) \\ \displaystyle J(\xi) = \frac{x_{2} - x_{1}}{2} \end{array}

Note that the quantities x1x_{1}, x2x_{2}, E(x)E(x), A(x)A(x), and f(x)f(x) are data that we need to provide in an input file. A mesh generator may also have the final say on where the nodes x1x_{1} and x2x_{2} should be placed.

b. Three-noded, quadratic elements (1D)

Consider three quadratic functions N1=N1(ξ)N_{1} = N_{1}(\xi), N2=N2(ξ)N_{2} = N_{2}(\xi), and N3=N3(ξ)N_{3} = N_{3}(\xi) over the parent domain [1,1][-1,\,1]:

Equation 1.5. Basis functions for the parent domain

N1(ξ)=12ξ212ξN2(ξ)=ξ2+1N3(ξ)=12ξ2+12ξ\begin{array}{l} \displaystyle N_{1}(\xi) = \frac{1}{2}\xi^{2} - \frac{1}{2}\xi \\ N_{2}(\xi) = -\xi^{2} + 1 \\ \displaystyle N_{3}(\xi) = \frac{1}{2}\xi^{2} + \frac{1}{2}\xi \end{array}

These functions satisfy the interpolatory property Ni(ξj)=δijN_{i}(\xi_{j}) = \delta_{ij} for the nodes ξ1=1\xi_{1} = -1, ξ2=0\xi_{2} = 0, and ξ3=1\xi_{3} = 1. They also form a basis for the quadratic polynomials over [1,1][-1,\,1].

We now use N1N_{1}, N2N_{2}, and N3N_{3} to quadratically map the parent domain to a three-noded element e=[x1,x3]e = [x_{1},\,x_{3}] in the physical space (x2x_{2} is the node in-between):

x(ξ)=x1N1(ξ)+x2N2(ξ)+x3N3(ξ)x(\xi) = x_{1}N_{1}(\xi) + x_{2}N_{2}(\xi) + x_{3}N_{3}(\xi)

The derivative of the map is a linear function,

dxdξ(ξ)=x1(ξ12)+x2(2ξ)+x3(ξ+12)\displaystyle \frac{dx}{d\xi}(\xi) = x_{1}\Bigl(\xi - \frac{1}{2}\Bigr) + x_{2}\bigl(-2\xi) + x_{3}\Bigl(\xi + \frac{1}{2}\Bigr)

In order to use the Inverse Function Theorem, we must guarantee that the derivative (Jacobian) is positive for all ξ(1,1)\xi \in (-1,\,1).

We claim that, in order for the Jacobian J(ξ)=(dx/dξ)(ξ)J(\xi) = (dx/d\xi)(\xi) to be positive for all ξ\xi, the middle node x2x_{2} must be placed within a quarter distance from the element's center, (x1+x3)/2(x_{1} + x_{3})/2. In other words, if hex3x1h^{e} \equiv x_{3} - x_{1} denotes the size of the element, we must have,

x2(x1+x32he4,x1+x32+he4)\displaystyle x_{2} \in \Bigl(\frac{x_{1} + x_{3}}{2} - \frac{h^{e}}{4},\,\,\frac{x_{1} + x_{3}}{2} + \frac{h^{e}}{4}\Bigr)

To prove this, we only need to consider the case of x1=0x_{1} = 0 and x3=1x_{3} = 1. Stretching the element multiplies the Jacobian by some positive number, and translating it does not change the Jacobian.

Then,

J(ξ)=0(ξ12)+x2(2ξ)+1(ξ+12)=(12x2)ξ+12\begin{aligned} J(\xi) & \displaystyle = 0 \cdot \Bigl(\xi - \frac{1}{2}\Bigr) + x_{2}\bigl(-2\xi) + 1 \cdot \Bigl(\xi + \frac{1}{2}\Bigr) \\ & \displaystyle = (1 - 2x_{2})\,\xi + \frac{1}{2} \end{aligned}

We already see that, if x2=0.5x_{2} = 0.5 (we place the middle node at the element's center), then the Jacobian will be positive for all ξ(1,1)\xi \in (-1,\,1). What if we wanted to put the middle node somewhere else?

Well, consider the case of x2<0.5x_{2} < 0.5, which means the quantity (12x2)(1 - 2x_{2}) is positive. The fact that 1<ξ<1-1 < \xi < 1 implies the following inequality:

(12x2)+12<J(ξ)<(12x2)+12\displaystyle -(1 - 2x_{2}) + \frac{1}{2} \,<\, J(\xi) \,<\, (1 - 2x_{2}) + \frac{1}{2}

Since the Jacobian is positive for all ξ\xi, if and only if, the lower bound of J(ξ)J(\xi) is positive, we must have,

x2>0.25x_{2} > 0.25

Finally, consider the case of x2>0.5x_{2} > 0.5, which means the quantity (12x2)(1 - 2x_{2}) is negative. The bound 1<ξ<1-1 < \xi < 1 implies,

(12x2)+12>J(ξ)>(12x2)+12\displaystyle -(1 - 2x_{2}) + \frac{1}{2} \,>\, J(\xi) \,>\, (1 - 2x_{2}) + \frac{1}{2}

Set the lower bound of J(ξ)J(\xi) to be greater than zero to conclude that,

x2<0.75x_{2} < 0.75

We define the basis functions N1(x)N_{1}(x), N2(x)N_{2}(x), and N3(x)N_{3}(x) for the physical element to be the composite functions N1(ξ(x))N_{1}(\xi(x)), N2(ξ(x))N_{2}(\xi(x)), and N3(ξ(x))N_{3}(\xi(x)).

Equation 1.6. Basis functions for the element

N1(x)N1(ξ(x))N2(x)N2(ξ(x))N3(x)N3(ξ(x))\begin{array}{l} N_{1}(x) \equiv N_{1}(\xi(x)) \\ N_{2}(x) \equiv N_{2}(\xi(x)) \\ N_{3}(x) \equiv N_{3}(\xi(x)) \end{array}

Lastly, we define the FE solution uhu_{h} over the element e=[x1,x3]e = [x_{1},\,x_{3}] using these basis functions. In other words,

uh(x)=u1N1(x)+u2N2(x)+u3N3(x)u_{h}(x) = u_{1}N_{1}(x) + u_{2}N_{2}(x) + u_{3}N_{3}(x)

for some coefficients u1u_{1}, u2u_{2}, and u3u_{3}.

Equation 1.7. Displacement field

uh(x)=u1N1(x)+u2N2(x)+u3N3(x)u_{h}(x) = u_{1}N_{1}(x) + u_{2}N_{2}(x) + u_{3}N_{3}(x)

Again, by N1(x)N_{1}(x), N2(x)N_{2}(x), and N3(x)N_{3}(x) in equation 1.7, we don't mean "construct quadratic, interpolatory basis functions for the physical element." We really mean "find the value of ξ\xi in the parent domain that will map to xx, then evaluate N1(ξ)N_{1}(\xi), N2(ξ)N_{2}(\xi), and N3(ξ)N_{3}(\xi)." To make this distinction clear, the next figure shows what would happen we did construct quadratic, interpolatory basis functions on the physical space.

In general, the basis functions are not quadratic polynomials in xx, because they are a composite function of a quadratic polynomial in ξ\xi and the inverse map ξ(x)\xi(x), which takes on a complicated form. The only time that they are quadratic in xx—the only time when we may make the mistake to create interpolatory functions in the physical space—is when the middle node x2=(x1+x3)/2x_{2} = (x_{1} + x_{3})/2 is placed at the element's center, just like how the node ξ2=0\xi_{2} = 0 was placed at the center of the parent domain. But this approach would severely limit the extent to which we can model the geometry.

For the truss problem, here are the entries of KeK^{e} and fe\vec{f}^{e}:

Equation 1.8. Element matrix and vector

(Ke)ij=11E(x(ξ))A(x(ξ))dNidξ(ξ)dNjdξ(ξ)1J(ξ)dξ(fe)i=11f(x(ξ))Ni(ξ)J(ξ)dξ\begin{array}{l} \displaystyle (K^{e})_{ij} = \int\limits_{-1}^{1}\,E(x(\xi))A(x(\xi))\,\frac{dN_{i}}{d\xi}(\xi)\frac{dN_{j}}{d\xi}(\xi) \cdot \frac{1}{J(\xi)}\,\,d\xi \\ \displaystyle (\vec{f}^{e})_{i} = \int\limits_{-1}^{1}\,f(x(\xi))\,N_{i}(\xi) \cdot J(\xi)\,\,d\xi \end{array}

where,

N1(ξ)=12ξ212ξN2(ξ)=ξ2+1N3(ξ)=12ξ2+12ξN1(ξ)=ξ12N2(ξ)=2ξN3(ξ)=ξ+12x(ξ)=x1N1(ξ)+x2N2(ξ)+x3N3(ξ)J(ξ)=x1(ξ12)+x2(2ξ)+x3(ξ+12)\begin{array}{l} \displaystyle \displaystyle N_{1}(\xi) = \frac{1}{2}\xi^{2} - \frac{1}{2}\xi \\ N_{2}(\xi) = -\xi^{2} + 1 \\ \displaystyle N_{3}(\xi) = \frac{1}{2}\xi^{2} + \frac{1}{2}\xi \\ \displaystyle N_{1}'(\xi) = \xi - \frac{1}{2} \\[20pt] N_{2}'(\xi) = -2\xi \\ \displaystyle N_{3}'(\xi) = \xi + \frac{1}{2} \\[20pt] x(\xi) = x_{1}N_{1}(\xi) + x_{2}N_{2}(\xi) + x_{3}N_{3}(\xi) \\ \displaystyle J(\xi) = x_{1}\Bigl(\xi - \frac{1}{2}\Bigr) + x_{2}\bigl(-2\xi) + x_{3}\Bigl(\xi + \frac{1}{2}\Bigr) \end{array}

Again, we must provide the quantities x1x_{1}, x2x_{2}, x3x_{3}, E(x)E(x), A(x)A(x), and f(x)f(x) in an input file. We must also place the node x2x_{2} within a quarter distance from the element's center.

2. Numerical Integration

In Section 1, we showed that the element stiffness matrices and element load vectors are computed in the parent domain [1,1][-1,\,1]. All that remains is to evaluate the integrals in equations 1.4 or 1.8. Clearly, there is no integration formula that will work for all user-defined functions E(x)E(x), A(x)A(x), and f(x)f(x). We turn to numerical integration, also known as quadrature.

Given a continuous function f=f(x)f = f(x) that is defined over the interval [1,1][-1,\,1], we want to approximate the integral

11f(x)dx\displaystyle\int\limits_{-1}^{1}\,f(x)\,\,dx

First, we sample the function at quadrature points x1,x2,,xq[1,1]x_{1},\,x_{2},\,\cdots,\,x_{q} \in [-1,\,1]. Evaluating the function is easy. Then, we can weigh the values by some numbers w1,w2,,wqw_{1},\,w_{2},\,\cdots,\,w_{q}. Lastly, we combine the weighted values (i.e. take a linear combination) to approximate the integral:

11f(x)dx=w1f(x1)+w2f(x2)++wqf(xq)+error\displaystyle\int\limits_{-1}^{1}\,f(x)\,\,dx \,=\, w_{1}f(x_{1}) + w_{2}f(x_{2}) + \,\cdots\, + w_{q}f(x_{q}) \,+\, error

Let's now take a look at how to choose the quadrature points and the weights so that we are guaranteed to have a good approximation (have a small error).

a. Newton-Cotes quadrature

The idea behind Newton-Cotes quadrature is simple: if we can approximate ff with a polynomial pp of degree (q1)(q - 1), we can integrate the polynomial instead. Integrating a polynomial is easy.

We use the polynomial that interpolates ff at the quadrature points, which are spaced evenly apart inside the domain (1,1)(-1,\,1). We intentionally don't place quadrature points at the endpoints x=1x = -1 and x=1x = 1, because the derivatives of the basis functions may be undefined at the element interfaces.

Therefore, let's look for the polynomial pp that satisfies the equations,

p(x1)=f(x1)p(x2)=f(x2)p(xq)=f(xq)\begin{array}{c} p(x_{1}) \,=\, f(x_{1}) \\ p(x_{2}) \,=\, f(x_{2}) \\ \vdots \\ p(x_{q}) \,=\, f(x_{q}) \end{array}

Such a polynomial exists and is unique because we can create Lagrange interpolation basis functions N1,N2,,NqN_{1},\,N_{2},\,\cdots,\,N_{q} (just like we did for the isoparametric approach):

p(x)=f(x1)N1(x)+f(x2)N2(x)++f(xq)Nq(x)p(x) = f(x_{1})N_{1}(x) + f(x_{2})N_{2}(x) + \,\cdots\, + f(x_{q})N_{q}(x)

We get,

11f(x)dx11p(x)dx=f(x1)11N1(x)dx+f(x2)11N2(x)dx++f(xq)11Nq(x)dxw1f(x1)+w2f(x2)++wqf(xq)\begin{aligned} \displaystyle\int\limits_{-1}^{1}\,f(x)\,\,dx & \approx\, \displaystyle \int\limits_{-1}^{1}\,p(x)\,\,dx \\ & \displaystyle = f(x_{1})\int\limits_{-1}^{1}\,N_{1}(x)\,\,dx + f(x_{2})\int\limits_{-1}^{1}\,N_{2}(x)\,\,dx + \,\cdots\, + f(x_{q})\int\limits_{-1}^{1}\,N_{q}(x)\,\,dx \\ & \equiv w_{1}f(x_{1}) + w_{2}f(x_{2}) + \,\cdots\, + w_{q}f(x_{q}) \end{aligned}

In summary, for Newton-Cotes quadrature, where we sample is evenly spaced apart in the open domain (1,1)(-1,\,1). How much weight we assign each sample is determined by the integral of the corresponding Lagrange interpolation basis function.

The table below shows the quadrature scheme for q=1,2,3,4q = 1,\,2,\,3,\,4.

x1x2x3x4qw1w2w3w4error01213f(2)(xˉ)1/31/321129f(2)(xˉ)1/201/234/32/34/37720f(4)(xˉ)3/51/51/53/5411/121/121/1211/12385625f(4)(xˉ)\begin{array}{|c|cccc|c|} \hline & x_{1} & x_{2} & x_{3} & x_{4} & \\ q & w_{1} & w_{2} & w_{3} & w_{4} & error \\ \hline & 0 & & & & \\ \,\,\,1\,\,\, & 2 & & & & \displaystyle\frac{1}{3}\,f^{(2)}(\bar{x}) \\ \hline & -1/3 & 1/3 & & & \\ \,\,\,2\,\,\, & 1 & 1 & & & \displaystyle\frac{2}{9}\,f^{(2)}(\bar{x}) \\ \hline & -1/2 & 0 & 1/2 & & \\ \,\,\,3\,\,\, & 4/3 & -2/3 & 4/3 & & \displaystyle\frac{7}{720}\,f^{(4)}(\bar{x}) \\ \hline & -3/5 & -1/5 & 1/5 & 3/5 & \\[4pt] \,\,\,4\,\,\, & \,\,\,11/12\,\,\, & \,\,\,1/12\,\,\, & \,\,\,1/12\,\,\, & \,\,\,11/12\,\,\, & \displaystyle\,\,\,\frac{38}{5625}\,f^{(4)}(\bar{x})\,\,\, \\ \hline \end{array}

If we use qq quadrature points, the Newton-Cotes quadrature is exact for all functions that are polynomials of degree (q1)(q - 1) or less. We can see this from the error term. xˉ\bar{x} represents some number in [1,1][-1,\,1] and differs from one quadrature to another.

The error also shows that, when qq is odd, we get an extra accuracy. For example, the 3-point quadrature is exact for cubic polynomials, not just for quadratic polynomials. The 4-point quadrature is as accurate as the 3-point (it may have a smaller error), but requires us to evaluate f at one additional point.

b. Gauss quadrature

We arrived at a qq-point quadrature that is exact for polynomials of degree (q1)(q - 1) by assuming that the points are equally spaced apart.

If we instead optimize the locations of the quadrature points along with their weights, we get a quadrature that is optimal in 1D. Known as Gauss quadrature, it is exact for polynomials of degree up to (2q1)(2q - 1). Each additional quadrature point lets us double the degree of the polynomial that we can handle! No other qq-point quadrature can achieve more accuracy in 1D.

Gauss quadrature comes from orthogonal polynomials called Legendre polynomials. The topic is out of scope, so I'll just list the quadrature scheme below:

x1x2x3x4qw1w2w3w4error01213f(2)(xˉ)1/31/32111135f(4)(xˉ)3/503/535/98/95/9115750f(6)(xˉ)0.861140.339980.339980.8611440.347850.652150.652150.3478513472875f(8)(xˉ)\begin{array}{|c|cccc|c|} \hline & x_{1} & x_{2} & x_{3} & x_{4} & \\ q & w_{1} & w_{2} & w_{3} & w_{4} & error \\ \hline & 0 & & & & \\ \,\,\,1\,\,\, & 2 & & & & \displaystyle\frac{1}{3}\,f^{(2)}(\bar{x}) \\ \hline & -\sqrt{1/3} & \sqrt{1/3} & & & \\[4pt] \,\,\,2\,\,\, & 1 & 1 & & & \displaystyle\frac{1}{135}\,f^{(4)}(\bar{x}) \\ \hline & -\sqrt{3/5} & 0 & \sqrt{3/5} & & \\[4pt] \,\,\,3\,\,\, & 5/9 & 8/9 & 5/9 & & \displaystyle\frac{1}{15750}\,f^{(6)}(\bar{x}) \\ \hline & -0.86114 & -0.33998 & 0.33998 & 0.86114 & \\[4pt] \,\,\,4\,\,\, & \,\,\,0.34785\,\,\, & \,\,\,0.65215\,\,\, & \,\,\,0.65215\,\,\, & \,\,\,0.34785\,\,\, & \displaystyle\,\,\,\frac{1}{3472875}\,f^{(8)}(\bar{x})\,\,\, \\ \hline \end{array}

3. FEM Equations for Elastostatics

a. Equilibrium equation

We want to find the displacement field uR3\vec{u} \in \mathbb{R}^{3} that satisfies the equation,

Ωσ:δεdV=ΩbδudV+ΩtδudS\displaystyle\int\limits_{\Omega}\,\sigma : \delta\varepsilon\,\,dV \,=\, \int\limits_{\Omega}\,\vec{b} \cdot \delta\vec{u}\,\,dV + \int\limits_{\partial\Omega}\,\vec{t} \cdot \delta\vec{u}\,\,dS

for all admissible test functions δuR3\delta\vec{u} \in \mathbb{R}^{3}. In the context of Principle of Virtual Work, we call test functions, virtual displacements.

Because the stress and strain tensors are symmetric, we can write their inner product σ:δε\sigma : \delta\varepsilon as the dot product between the stress "vector" and the (virtual) strain "vector" using the engineering strains. In other words,

Ωσ:δεdV=Ω(σxxδεxx+σyyδεyy+σzzδεzz+σxyδεxy+σyxδεyx+σxzδεxz+σzxδεzx+σyzδεyz+σzyδεzy)dV=Ω(σxxδεxx+σyyδεyy+σzzδεzz+σyzδγyz+σxzδγxz+σxyδγxy)dV=Ω[σxxσyyσzzσyzσxzσxy][δεxxδεyyδεzzδγyzδγxzδγxy]dV\begin{aligned} \displaystyle\int\limits_{\Omega}\,\sigma : \delta\varepsilon\,\,dV &= \displaystyle\int\limits_{\Omega}\,\bigl(\sigma_{xx}\delta\varepsilon_{xx} + \sigma_{yy}\delta\varepsilon_{yy} + \sigma_{zz}\delta\varepsilon_{zz} + \\ & \sigma_{xy}\delta\varepsilon_{xy} + \sigma_{yx}\delta\varepsilon_{yx} + \sigma_{xz}\delta\varepsilon_{xz} + \sigma_{zx}\delta\varepsilon_{zx} + \sigma_{yz}\delta\varepsilon_{yz} + \sigma_{zy}\delta\varepsilon_{zy}\bigr)\,\,dV \\ &= \int\limits_{\Omega}\,\bigl(\sigma_{xx}\delta\varepsilon_{xx} + \sigma_{yy}\delta\varepsilon_{yy} + \sigma_{zz}\delta\varepsilon_{zz} + \sigma_{yz}\delta\gamma_{yz} + \sigma_{xz}\delta\gamma_{xz} + \sigma_{xy}\delta\gamma_{xy}\bigr)\,\,dV \\ &= \int\limits_{\Omega}\,\left[ \begin{array}{c} \sigma_{xx} \\ \sigma_{yy} \\ \sigma_{zz} \\ \hline \sigma_{yz} \\ \sigma_{xz} \\ \sigma_{xy} \end{array}\right] \cdot \left[ \begin{array}{c} \delta\varepsilon_{xx} \\ \delta\varepsilon_{yy} \\ \delta\varepsilon_{zz} \\ \hline \delta\gamma_{yz} \\ \delta\gamma_{xz} \\ \delta\gamma_{xy} \end{array}\right]\,\,dV \end{aligned}

This technique is known as Voigt notation.

b. Constitutive equation

For an isotropic and homogeneous material, the stress and strain fields (the real one) are related as follows:

σij=Cijklεkl,Cijkl=λδijδkl+2μ12(δikδjl+δilδjk)\displaystyle \sigma_{ij} = C_{ijkl}\varepsilon_{kl},\,\,\,C_{ijkl} = \lambda\,\delta_{ij}\delta_{kl} + 2\mu \cdot \frac{1}{2}\bigl(\delta_{ik}\delta_{jl} + \delta_{il}\delta_{jk}\bigr)

In Voigt notation, we get,

[σxxσyyσzzσyzσxzσxy]=[λ+2μλλλλ+2μλλλλ+2μμμμ][εxxεyyεzzγyzγxzγxy]\left[ \begin{array}{c} \sigma_{xx} \\ \sigma_{yy} \\ \sigma_{zz} \\ \hline \sigma_{yz} \\ \sigma_{xz} \\ \sigma_{xy} \end{array} \right] = \left[ \begin{array}{ccc|ccc} \lambda + 2\mu & \lambda & \lambda & & & \\ \lambda & \lambda + 2\mu & \lambda & & & \\ \lambda & \lambda & \lambda + 2\mu & & & \\ \hline & & & \,\,\,\,\,\,\mu\,\,\,\,\,\, & & \\ & & & & \,\,\,\,\,\,\mu\,\,\,\,\,\, & \\ & & & & & \,\,\,\,\,\,\mu\,\,\,\,\,\, \end{array} \right] \left[ \begin{array}{c} \varepsilon_{xx} \\ \varepsilon_{yy} \\ \varepsilon_{zz} \\ \hline \gamma_{yz} \\ \gamma_{xz} \\ \gamma_{xy} \end{array} \right]

Note that Lamé's constant λ\lambda and the shear modulus μ\mu are related to Young's modulus EE and Poisson's ratio ν\nu as follows:

(λ+2μ)=E(1ν)(1+ν)(12ν),λ=Eν(1+ν)(12ν),μ=E2(1+ν)\displaystyle (\lambda + 2\mu) = \frac{E(1 - \nu)}{(1 + \nu)(1 - 2\nu)},\,\,\,\lambda = \frac{E\nu}{(1 + \nu)(1 - 2\nu)},\,\,\,\mu = \frac{E}{2(1 + \nu)}

c. Strain-displacement relation

For a linearly elastic material (with small deformations),

εij=12(ui,j+uj,i)\displaystyle\varepsilon_{ij} = \frac{1}{2}\bigl(u_{i,j} + u_{j,i}\bigr)

In Voigt notation,

[εxxεyyεzzγyzγxzγxy]=[xyzzyzxyx][uxuyuz]\displaystyle\left[ \begin{array}{c} \varepsilon_{xx} \\ \varepsilon_{yy} \\ \varepsilon_{zz} \\ \hline \gamma_{yz} \\ \gamma_{xz} \\ \gamma_{xy} \end{array} \right] = \left[ \begin{array}{ccc} \frac{\partial}{\partial x} & & \\ & \frac{\partial}{\partial y} & \\ & & \frac{\partial}{\partial z} \\ \\ \hline \\ & \frac{\partial}{\partial z} & \frac{\partial}{\partial y} \\ \frac{\partial}{\partial z} & & \frac{\partial}{\partial x} \\ \frac{\partial}{\partial y} & \frac{\partial}{\partial x} & \end{array} \right]\left[ \begin{array}{c} u_{x} \\ u_{y} \\ u_{z} \end{array} \right]

We assume that this relation also holds for the virtual fields.

d. Finite-dimensional subspace

Finally, we approximate the displacement field and the virtual displacement field by following the isoparametric approach. For example, when we use tetrahedral linear elements, we have the following relation on each element:

[uxuyuz]=[N100N200N300N4000N100N200N300N4000N100N200N300N4][u1v1w1u2v2w2u3v3w3u4v4w4]\left[ \begin{array}{c} u_{x} \\ u_{y} \\ u_{z} \end{array} \right] = \left[ \begin{array}{ccc|ccc|ccc|ccc} N_{1} & 0 & 0 & N_{2} & 0 & 0 & N_{3} & 0 & 0 & N_{4} & 0 & 0 \\ 0 & N_{1} & 0 & 0 & N_{2} & 0 & 0 & N_{3} & 0 & 0 & N_{4} & 0 \\ 0 & 0 & N_{1} & 0 & 0 & N_{2} & 0 & 0 & N_{3} & 0 & 0 & N_{4} \end{array} \right] \left[ \begin{array}{c} u_{1} \\ v_{1} \\ w_{1} \\ \hline u_{2} \\ v_{2} \\ w_{2} \\ \hline u_{3} \\ v_{3} \\ w_{3} \\ \hline u_{4} \\ v_{4} \\ w_{4} \end{array} \right]

4. Exercises

a. Problem 1

Consider a steel pile of length L=4mL = 4\,m, Young's modulus E=210GPaE = 210\,GPa, and cross-sectional area A=π(0.2)2m2A = \pi(0.2)^2\,m^{2}.

The pile is fixed at the bottom and is assumed to be a Winkler foundation across the length. In other words, we assume that the soil exerts a force that is opposite and linearly proportional to the displacement of the pile, i.e. q=q(x)=ku(x)q = q(x) = ku(x) for some constant kk (called foundation stiffness). Note, qq has the unit of N/mN/m.

We want to know how the pile deforms due to the load P0=105NP_{0} = 10^{5}\,N at its head, the distributed load f=f(x)N/mf = f(x)\,N/m, and the lateral force q=ku(x)q = ku(x) due to the soil. For simplicity, we consider k=EA/L2k = EA/L^{2} and f(x)=P0/Lf(x) = P_{0}/L below.

(a) From equilibrium of a differential element, derive the governing equation and the BCs for the displacement of the pile u=u(x)u = u(x).

(b) Find the weak form. Assuming an element has (p+1)(p + 1) basis functions, write down the element stiffness matrix and the element load vector.

(c) From the weak form, obtain the governing equation and the BCs that u satisfies. (In other words, show that we can return to the strong form.)

(d) Consider 1 element with a linear basis (p=1p = 1). Find the FE solution uhu_{h} and calculate the internal force Fh(0)=EAuh(0)F_{h}(0) = EA\,u_{h}'(0) at the pile head. What do you see?

(e) Now, consider 2 elements, each with a linear basis (p=1p = 1).

(f) Lastly, consider 1 and 2 elements with a quadratic basis (p=2p = 2) in each. Assume that the middle node is placed at the element's center.

Solution