Transcript Chapter 7

Chapter 7
Finite element programming
May 17, 2011
Brief introduction
• Until Chapter 6, there are FEM (Finite Element Method)
and solution of simultaneous linear equations.
• Chapter 7 focuses to explain how to make basic FEM
programs.
• Some easy Fortran technique is needed in some
program examples.
• In Appendix B, a C language program example appears.
7.1 Input data
•First, consider the element division . Node numbers and node coordinates
are necessary.
•Don’t confuse global node numbers with element node numbers.
Total of nodes: NNODE = 9
Total of elements: NELMT = 8
3
6
[4]
9
[8]
[3]
2
[7]
5
[2]
[8]
[3]
[7]
8
[6]
[1]
1
[4]
[2]
[5]
4
[6]
[1]
[5]
7
I. Node
Nodenumbers
numbers
II. Element
Elementnumbers
numbers
Fig. 7.1
FEM mesh division
7.2
Element coefficient matrix creating
•
•
•
Consider the boundary value problem of the 2-dimensional Poisson
equation in Chapter 5.
The natural boundary condition is u / n  0on2
From (5.29) and (5.30) , the element rhs vector is as follows:
Given
g ( x, y ) :
S 3
g(x j , y j )
e g ( x, y)dxdy  3 
j 1
(7.1)
f i (e)   f ( x, y) Li ( x, y)dxdy
(7.2)
e
g ( x j , y j )  f ( x j , y j )Li ( x j , y j )  f ( x j , y j )ij
fi (e)  Sf ( xi , yi ) / 3
(7.3)
(7.4)
7.3
Creating the whole coefficient matrix and solving linear equations
•
•
The direct stiffness method produces all coefficient matrixes and the rhs vectors.
As explained in Chapter 5, element node numbers and global node numbers must
Table 7.2
be consistent.
Elem. 1
2
3
Global 1
4
5
7.4
Output and important points
• Don’t forget that input data have close relation to output
data.
• Element numbers, node numbers, boundary conditions,
and node coordinates are indispensable for input data
checking.
7.5 Program examples
• Program’s structure:
1. Main program: the whole subprogram call
2. Input :
input data’s reading
3. Assembling : getting the global matrix and the vector, and collecting
element stiffness matrixes and element vectors
4. ECM:
element matrix and element vector calculation
5. Solve:
solving the linear equations by the Gauss elimination
method
6. Output :
showing obtained values.
7. Function:
preparation of function f(x, y)
(MAIN)
INPUT
ASSEM
SOLVE
OUTPUT
ECM
F
Fig.7.2 Relationship of each function
7.6 Examples of program use (1/3)
• Using the given program, let’s solve several problems.
Figures 7.3 and 7.4
7.6 Examples of program use (2/3)
The domain Ω is a unit square (0<x, y<1).
The Poisson equation is given as follows:
in Ω
on Γ
 u  1
number of nodes
36
m =5
number of nodes
121
m =10
number of elements 50
number of elements 200
Fig.7.5 A mesh division example
7.6 Examples of program use (3/3)
Table 7.3
Results of Example 7.5
Exact solution
even number
odd number
gradient -2 line
Exact solution
Fig.7.6
Fig.7.7

u and u
distributions along the centerline line
Error estimates
7.7
An example program using a symmetric band matrix
• The big change in a symmetric band matrix is
subroutines SOLVE and BAND.
• Some modification is needed in ASSEM
• For half band m A , input data should be m A + 1 .
7.8 Ending
• The things described in above sections have told us how
to use and understand FEM problems using an easy
model.
• This program has been separated to several parts , good
for beginners.
Appendix B
• Source of a C language program example is given as follows:
http://www.s.kyushu-u.ac.jp/~z7kh03in/full_FEM.c