Two-dimensional Shape Functions
(→Natural Coordinates) |
|||
(69 intermediate revisions by one user not shown) | |||
Line 15: | Line 15: | ||
{| border="1" cellpadding="5" cellspacing="0" class="wikitable" style="margin:auto; background:white;" | {| border="1" cellpadding="5" cellspacing="0" class="wikitable" style="margin:auto; background:white;" | ||
! polynomial order ''n'' !! number of terms ''p'' !! <math>f(x,y) \,</math> | ! polynomial order ''n'' !! number of terms ''p'' !! <math>f(x,y) \,</math> | ||
− | |- | + | |- align="center" |
| Constant: <math>0 \,</math> || <math>1 \,</math> || <math>\alpha \,</math> | | Constant: <math>0 \,</math> || <math>1 \,</math> || <math>\alpha \,</math> | ||
− | |- | + | |- align="center" |
| Linear: <math>1 \,</math> || <math>3 \,</math> || <math>\alpha_1+\alpha_2 x + \alpha_3 y \,</math> | | Linear: <math>1 \,</math> || <math>3 \,</math> || <math>\alpha_1+\alpha_2 x + \alpha_3 y \,</math> | ||
− | |- | + | |- align="center" |
| Quadratic: <math>2 \,</math> || <math>6 \,</math> || <math>\alpha_1+\alpha_2 x + \alpha_3 + \alpha_4 x y +\alpha_5 x^2 + \alpha_6 y^2\,</math> | | Quadratic: <math>2 \,</math> || <math>6 \,</math> || <math>\alpha_1+\alpha_2 x + \alpha_3 + \alpha_4 x y +\alpha_5 x^2 + \alpha_6 y^2\,</math> | ||
|} | |} | ||
+ | A quick way to easily obtain the terms of a complete polynomial is by using the '''Pascal's triangle''': | ||
+ | {| border="1" cellpadding="5" cellspacing="0" class="wikitable" style="margin:auto; background:white;" | ||
+ | ! order ''n'' !! new polynomial terms !! number of terms ''p'' | ||
+ | |- align="center" | ||
+ | | || <math>1 \,</math> || <math>1 \,</math> | ||
+ | |- align="center" | ||
+ | | Linear || <math>x \qquad y \,</math> || <math>3 \,</math> | ||
+ | |- align="center" | ||
+ | | Quadratic || <math>x^2 \qquad 2 x y \qquad y^2\,</math> || <math>6 \,</math> | ||
+ | |- align="center" | ||
+ | | Cubic || <math>x^3 \qquad 3 x^2 y \qquad 3 x y^2 \qquad y^3\,</math> || <math>10 \,</math> | ||
+ | |- align="center" | ||
+ | | Quartic || <math>x^4 \qquad 4 x^3 y \qquad 6 x^2 y^2 \qquad 4 x y^3 \qquad y^4\,</math> || <math>15 \,</math> | ||
+ | |} | ||
+ | |||
+ | == Derivatives of the shape functions == | ||
+ | |||
+ | |||
+ | For isoparametric elements (those using the same shape functions to interpolate the geometry and the unknowns), we have: | ||
+ | |||
+ | |||
+ | ::<math>x=\sum_{i=1}^n N_i(\alpha,\beta) x_i \qquad y=\sum_{i=1}^n N_i(\alpha,\beta) y_i </math> | ||
+ | |||
+ | |||
+ | To obtain the derivatives of the shape functions: | ||
+ | |||
+ | |||
+ | ::<math>\frac{\partial N_i}{\partial \alpha} = \frac{\partial N_i}{\partial x} \frac{\partial x}{\partial \alpha} + \frac{\partial N_i}{\partial y} \frac{\partial y}{\partial \alpha}</math> | ||
+ | |||
+ | ::<math>\frac{\partial N_i}{\partial \beta} = \frac{\partial N_i}{\partial x} \frac{\partial x}{\partial \beta} + \frac{\partial N_i}{\partial y} \frac{\partial y}{\partial \beta}</math> | ||
+ | |||
+ | |||
+ | ::<math> | ||
+ | \begin{Bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial \alpha} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial \beta} | ||
+ | \end{Bmatrix} | ||
+ | = | ||
+ | \underbrace{ | ||
+ | \begin{bmatrix} | ||
+ | \displaystyle \frac{\partial x}{\partial \alpha} & \displaystyle \frac{\partial y}{\partial \alpha} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial x}{\partial \beta} & \displaystyle \frac{\partial y}{\partial \beta} | ||
+ | \end{bmatrix} | ||
+ | }_{\mathbf{J^{(e)}}} | ||
+ | \begin{Bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial x} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial y} | ||
+ | \end{Bmatrix} | ||
+ | = | ||
+ | \mathbf{J^{(e)}} | ||
+ | \begin{Bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial x} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial y} | ||
+ | \end{Bmatrix} | ||
+ | </math> | ||
+ | |||
+ | |||
+ | with <math>\mathbf{J^{(e)}} \,</math> the Jacobian matrix with a determinant <math>\mathbf{|J^{(e)}|} \,</math> | ||
+ | |||
+ | |||
+ | ::<math> | ||
+ | \begin{Bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial x} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial y} | ||
+ | \end{Bmatrix} | ||
+ | = | ||
+ | \begin{bmatrix} | ||
+ | \mathbf{J^{(e)}} | ||
+ | \end{bmatrix}^{-1} | ||
+ | \begin{Bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial \alpha} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial \beta} | ||
+ | \end{Bmatrix} | ||
+ | = | ||
+ | \displaystyle | ||
+ | \frac{1}{ \mathbf{|J^{(e)}|}} | ||
+ | \begin{bmatrix} | ||
+ | \displaystyle \frac{\partial y}{\partial \beta} & \displaystyle -\frac{\partial y}{\partial \alpha} \\ \quad \\ | ||
+ | \displaystyle -\frac{\partial x}{\partial \beta} & \displaystyle \frac{\partial x}{\partial \alpha} | ||
+ | \end{bmatrix} | ||
+ | \begin{Bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial \alpha} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial \beta} | ||
+ | \end{Bmatrix} | ||
+ | </math> | ||
+ | |||
+ | |||
+ | From here is easy to obtain: | ||
+ | |||
+ | |||
+ | ::<math>\partial x \partial y = \mathbf{|J^{(e)}|} \partial \alpha \partial \beta \,</math> | ||
+ | |||
+ | |||
+ | ::<math>\frac{\partial x}{\partial \alpha} = \sum_{i=1}^n \frac{\partial N_i}{\partial \alpha} x_i \qquad | ||
+ | \frac{\partial x}{\partial \beta} = \sum_{i=1}^n \frac{\partial N_i}{\partial \beta} x_i</math> | ||
+ | |||
+ | |||
+ | ::<math>\frac{\partial y}{\partial \alpha} = \sum_{i=1}^n \frac{\partial N_i}{\partial \alpha} y_i \qquad | ||
+ | \frac{\partial y}{\partial \beta} = \sum_{i=1}^n \frac{\partial N_i}{\partial \beta} y_i</math> | ||
+ | |||
+ | |||
+ | ::<math>\mathbf{J^{(e)}} = \sum_{i=1}^n | ||
+ | \begin{bmatrix} | ||
+ | \displaystyle \frac{\partial N_i}{\partial \alpha} x_i & \displaystyle \frac{\partial N_i}{\partial \alpha} y_i \\ \quad \\ | ||
+ | \displaystyle \frac{\partial N_i}{\partial \beta} x_i & \displaystyle \frac{\partial N_i}{\partial \beta} y_i | ||
+ | \end{bmatrix} | ||
+ | </math> | ||
+ | |||
+ | == Shape Functions for Triangular Elements == | ||
+ | |||
+ | === The Three Node Linear Triangle === | ||
+ | |||
+ | :The solution <math> \varphi^{(e)} (x,y)</math> for each triangular element can be approached by their corresponding <math>\hat \varphi^{(e)} (x,y)</math> to be expressed using the shape functions: | ||
+ | |||
+ | ::<math> \varphi^{(e)}(x,y) \cong \hat \varphi^{(e)} (x,y) = \sum_{i=1}^n N_i (x,y) \varphi^{(e)}_i </math> | ||
+ | |||
+ | :If the shape functions are lineal polynomials (three-node triangular element, n=3), and remembering: | ||
+ | |||
+ | ::<math> | ||
+ | N_i^{(e)}(x_j,y_j) = | ||
+ | \begin{cases} | ||
+ | 1, & i = j \\ | ||
+ | 0, & i \ne j | ||
+ | \end{cases} | ||
+ | </math> | ||
+ | |||
+ | :this expression can be written as: | ||
+ | |||
+ | ::<math>N_i^{(e)} (x,y) = \frac{1}{2 A^{(e)}} \left [ a_i^{(e)} + b_i^{(e)} x + c_i^{(e)} y \right ] \qquad</math> with <math>A^{(e)} \,</math> the element area and <math>i=1, 2, 3 \,</math> | ||
+ | |||
+ | |||
+ | :And the system of equations is: | ||
+ | |||
+ | |||
+ | ::<math> | ||
+ | \begin{bmatrix} | ||
+ | 1 & x_1^{(e)} & y_1^{(e)} \\ | ||
+ | 1 & x_2^{(e)} & y_2^{(e)} \\ | ||
+ | 1 & x_3^{(e)} & y_3^{(e)} | ||
+ | \end{bmatrix} | ||
+ | \begin{bmatrix} | ||
+ | a_1^{(e)} & a_2^{(e)} & a_3^{(e)} \\ | ||
+ | b_1^{(e)} & b_2^{(e)} & b_3^{(e)} \\ | ||
+ | c_1^{(e)} & c_2^{(e)} & c_3^{(e)} | ||
+ | \end{bmatrix} | ||
+ | = 2 ·A^{(e)}· | ||
+ | \begin{bmatrix} | ||
+ | 1 & 0 & 0 \\ | ||
+ | 0 & 1 & 0 \\ | ||
+ | 0 & 0 & 1 | ||
+ | \end{bmatrix} | ||
+ | </math> | ||
+ | |||
+ | |||
+ | :The element area is computed as the half of the determinant of the coordinates matrix: | ||
+ | |||
+ | |||
+ | ::<math>2 ·A^{(e)} = | ||
+ | \begin{vmatrix} | ||
+ | 1 & x_1^{(e)} & y_1^{(e)} \\ | ||
+ | 1 & x_2^{(e)} & y_2^{(e)} \\ | ||
+ | 1 & x_3^{(e)} & y_3^{(e)} | ||
+ | \end{vmatrix} | ||
+ | </math> | ||
+ | |||
+ | |||
+ | :[[Image:Three node triangle.jpg]] | ||
+ | |||
+ | |||
+ | :Finally, the different parameters can be expressed in terms of the nodal local coordinates as: | ||
+ | |||
+ | |||
+ | ::<math>a_i^{(e)}=x_j^{(e)}y_k^{(e)}-x_k^{(e)}y_j^{(e)}</math> | ||
+ | |||
+ | ::<math>b_i^{(e)}=y_j^{(e)}-y_k^{(e)}</math> | ||
+ | |||
+ | ::<math>c_i^{(e)}=x_k^{(e)}-x_j^{(e)}</math> | ||
+ | |||
+ | |||
+ | :with <math>i=1,2,3; \quad j=2,3,1; \quad k=3,1,2 \,</math> | ||
+ | |||
+ | |||
+ | === Areal Coordinates === | ||
+ | |||
+ | |||
+ | In order to generalise the procedure to obtain the shape functions, the areal coordinates is a very useful transformation. | ||
+ | |||
+ | |||
+ | In a triangle, areal or barycentric coordinates are defined as each of the partial subareas obtained by dividing the triangle in three sections. | ||
+ | |||
+ | |||
+ | ::[[Image:ArealCoordinates.jpg|400 px]] | ||
+ | |||
+ | |||
+ | That is, if we use a inner point '''''P''''' of the triangle of area '''A''' as the common vertex of the three subareas '''A<sub>1</sub>''', '''A<sub>2</sub>''' and '''A<sub>3</sub>''', then: | ||
+ | |||
+ | |||
+ | :<math>L_1=\frac{A_1}{A}=\frac{\mathbf{CP}}{\mathbf{C}\mathbf{C'}} \qquad L_2=\frac{A_2}{A}=\frac{\mathbf{B}\mathbf{P}}{\mathbf{B}\mathbf{B'}} \qquad L_3=\frac{A_3}{A}=\frac{\mathbf{A}\mathbf{P}}{\mathbf{A}\mathbf{A'}} </math> | ||
+ | |||
+ | |||
+ | Note that: | ||
+ | * '''A<sub>1</sub>''' + '''A<sub>2</sub>''' + '''A<sub>3</sub>''' = '''A''' | ||
+ | * '''L<sub>1</sub>''' + '''L<sub>2</sub>''' + '''L<sub>3</sub>''' = '''1''' | ||
+ | * If '''''P''''' is the Centroid or Center of Mass of the triangle, then '''L<sub>1</sub>''' = '''L<sub>2</sub>''' = '''L<sub>3</sub>''' = '''1/3''' | ||
+ | |||
+ | |||
+ | For the Finite Element Method is also interesting to note that: | ||
+ | |||
+ | :<math>x_p=L_1 x_1 + L_2 x_2 + L_3 x_3 \,</math> | ||
+ | |||
+ | :<math>y_p=L_1 y_1 + L_2 y_2 + L_3 y_3 \,</math> | ||
+ | |||
+ | |||
+ | with '''x<sub>p</sub>''' and '''y<sub>p</sub>''' the coordinates of '''P''' or any other point inside the triangle '''(x,y)'''. This is equivalent to the following system of equations: | ||
+ | |||
+ | |||
+ | ::<math> | ||
+ | \begin{bmatrix} | ||
+ | x_1 & x_2 & x_3 \\ | ||
+ | y_1 & y_2 & y_3 \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{bmatrix} | ||
+ | \begin{bmatrix} | ||
+ | L_1 \\ | ||
+ | L_2 \\ | ||
+ | L_3 | ||
+ | \end{bmatrix} | ||
+ | = | ||
+ | \begin{bmatrix} | ||
+ | x \\ | ||
+ | y \\ | ||
+ | 1 | ||
+ | \end{bmatrix} | ||
+ | </math> | ||
+ | |||
+ | ::<math>L_1= | ||
+ | \frac{ | ||
+ | \begin{vmatrix} | ||
+ | x & x_2 & x_3 \\ | ||
+ | y & y_2 & y_3 \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{vmatrix} | ||
+ | } | ||
+ | { | ||
+ | \begin{vmatrix} | ||
+ | x_1 & x_2 & x_3 \\ | ||
+ | y_1 & y_2 & y_3 \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{vmatrix} | ||
+ | } | ||
+ | = | ||
+ | \frac{x (y_2-y_3)-y (x_2-x_3)+(x_2 y_3 - x_3 y_2)}{2A} | ||
+ | = | ||
+ | \frac{(x_2 y_3 - x_3 y_2) + x (y_2-y_3) + y (x_3 - x_2)}{2A} | ||
+ | </math> | ||
+ | |||
+ | ::<math> | ||
+ | L_2= | ||
+ | \frac{ | ||
+ | \begin{vmatrix} | ||
+ | x_1 & x & x_3 \\ | ||
+ | y_1 & y & y_3 \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{vmatrix} | ||
+ | } | ||
+ | { | ||
+ | \begin{vmatrix} | ||
+ | x_1 & x_2 & x_3 \\ | ||
+ | y_1 & y_2 & y_3 \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{vmatrix} | ||
+ | } | ||
+ | = | ||
+ | \frac{x_1 (y-y_3)-y_1 (x-x_3)+(x y_3 - x_3 y)}{2A} | ||
+ | = | ||
+ | \frac{(x_3 y_1 - x_1 y_3) + x (y_3 - y_1) + y (x_1 - x_3)}{2A} | ||
+ | </math> | ||
+ | |||
+ | ::<math> | ||
+ | L_3= | ||
+ | \frac{ | ||
+ | \begin{vmatrix} | ||
+ | x_1 & x_2 & x \\ | ||
+ | y_1 & y_2 & y \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{vmatrix} | ||
+ | } | ||
+ | { | ||
+ | \begin{vmatrix} | ||
+ | x_1 & x_2 & x_3 \\ | ||
+ | y_1 & y_2 & y_3 \\ | ||
+ | 1 & 1 & 1 | ||
+ | \end{vmatrix} | ||
+ | } | ||
+ | = | ||
+ | \frac{x_1 (y_2-y)-y_1 (x_2-x)+(x_2 y - x y_2)}{2A} | ||
+ | = | ||
+ | \frac{(x_1 y_2 - x_2 y_1) + x (y_1 - y_2) + y (x_2 - x_1)}{2A} | ||
+ | </math> | ||
+ | |||
+ | |||
+ | ::<math>L_i (x,y) = \frac{1}{2 A} \left [ a_i + b_i x + c_i y \right ] = N_i(x,y)</math> | ||
+ | |||
+ | |||
+ | that is exactly the '''shape functions for a triangular element of three nodes'''. | ||
+ | |||
+ | |||
+ | |||
+ | === Natural Coordinates === | ||
+ | |||
+ | |||
+ | It is usual to define the triangle in terms of a normalised geometry (natural coordinates) as is showed in the figure: | ||
+ | |||
+ | |||
+ | :::[[Image:NaturalCoordinates_2.jpg|400 px]] | ||
− | |||
+ | Therefore: <math>N_2 = \frac{A_2}{A} = \frac{\frac{1 \times \alpha }{2}}{\frac{1 \times 1}{2}} \qquad N_3 = \frac{A_3}{A} = \frac{\frac{1 \times \beta}{2}}{\frac{1 \times 1}{2}} \qquad N_1 = \frac{A_1}{A} = \frac{A - A_2 - A_3}{A} = 1 - N_2 - N_3 </math> | ||
− | |||
+ | :<math>N_1=1 - \alpha - \beta \qquad N_2=\alpha \qquad N_3=\beta \,</math> | ||
− | |||
+ | For isoparametric elements, we have: | ||
− | |||
+ | :<math>x = \sum_{i=1}^n N_i(L_1,L_2,L_3) x_i = N_1(\alpha,\beta) x_1 + N_2(\alpha,\beta) x_2 + N_3(\alpha,\beta) x_3 = (1 - \alpha - \beta) x_1 + \alpha x_2 + \beta x_3</math> | ||
+ | :<math>y = \sum_{i=1}^n N_i(L_1,L_2,L_3) y_i = N_1(\alpha,\beta) y_1 + N_2(\alpha,\beta) y_2 + N_3(\alpha,\beta) y_3 = (1 - \alpha - \beta) y_1 + \alpha y_2 + \beta y_3</math> | ||
+ | To obtain the Jacobian of these shape functions: | ||
+ | ::<math>\mathbf{J^{(e)}} = | ||
+ | \begin{bmatrix} | ||
+ | \displaystyle \frac{\partial x}{\partial \alpha} & \displaystyle \frac{\partial y}{\partial \alpha} \\ \quad \\ | ||
+ | \displaystyle \frac{\partial x}{\partial \beta} & \displaystyle \frac{\partial y}{\partial \beta} | ||
+ | \end{bmatrix} | ||
+ | = | ||
+ | \begin{bmatrix} | ||
+ | - x_1 + x_2 & - y_1 + y_2 \\ | ||
+ | - x_1 + x_3 & - y_1 + y_3 | ||
+ | \end{bmatrix} | ||
+ | \qquad | ||
+ | \mathbf{|J^{(e)}|} = 2 A^{(e)} | ||
+ | </math> | ||
== References == | == References == | ||
# [http://en.wikipedia.org/wiki/Pascal%27s_triangle Pascal's triangle] | # [http://en.wikipedia.org/wiki/Pascal%27s_triangle Pascal's triangle] | ||
+ | # [http://en.wikipedia.org/wiki/Barycentric_coordinates_%28mathematics%29 Barycentric Coordinates ''(Areal Coordinates)''] | ||
+ | # [http://en.wikipedia.org/wiki/Centroid Centroid] | ||
+ | # [http://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant Jacobian] | ||
[[Category: Shape Functions]] | [[Category: Shape Functions]] |
Latest revision as of 18:35, 11 November 2009
Shape functions are selected to fit as exact as possible the Finite Element Solution. If this solution is a combination of polynomial functions of nth order, these functions should include a complete polynomial of equal order.
That is, a complete polynomial of nth order can be written as:
with: the number of terms.
More specifically:
polynomial order n | number of terms p | ![]() |
---|---|---|
Constant: ![]() |
![]() |
![]() |
Linear: ![]() |
![]() |
![]() |
Quadratic: ![]() |
![]() |
![]() |
A quick way to easily obtain the terms of a complete polynomial is by using the Pascal's triangle:
order n | new polynomial terms | number of terms p |
---|---|---|
![]() |
![]() | |
Linear | ![]() |
![]() |
Quadratic | ![]() |
![]() |
Cubic | ![]() |
![]() |
Quartic | ![]() |
![]() |
Contents |
Derivatives of the shape functions
For isoparametric elements (those using the same shape functions to interpolate the geometry and the unknowns), we have:
To obtain the derivatives of the shape functions:
with the Jacobian matrix with a determinant
From here is easy to obtain:
Shape Functions for Triangular Elements
The Three Node Linear Triangle
- The solution
for each triangular element can be approached by their corresponding
to be expressed using the shape functions:
- If the shape functions are lineal polynomials (three-node triangular element, n=3), and remembering:
- this expression can be written as:
with
the element area and
- And the system of equations is:
- The element area is computed as the half of the determinant of the coordinates matrix:
- Finally, the different parameters can be expressed in terms of the nodal local coordinates as:
- with
Areal Coordinates
In order to generalise the procedure to obtain the shape functions, the areal coordinates is a very useful transformation.
In a triangle, areal or barycentric coordinates are defined as each of the partial subareas obtained by dividing the triangle in three sections.
That is, if we use a inner point P of the triangle of area A as the common vertex of the three subareas A1, A2 and A3, then:
Note that:
- A1 + A2 + A3 = A
- L1 + L2 + L3 = 1
- If P is the Centroid or Center of Mass of the triangle, then L1 = L2 = L3 = 1/3
For the Finite Element Method is also interesting to note that:
with xp and yp the coordinates of P or any other point inside the triangle (x,y). This is equivalent to the following system of equations:
that is exactly the shape functions for a triangular element of three nodes.
Natural Coordinates
It is usual to define the triangle in terms of a normalised geometry (natural coordinates) as is showed in the figure:
Therefore:
For isoparametric elements, we have:
To obtain the Jacobian of these shape functions: