Академический Документы
Профессиональный Документы
Культура Документы
Basic formulation
Basis functions
Stiffness matrix
Poissons equation
Regular grid
Boundary conditions
Irregular grid
Numerical Examples
Scope: Understand the basic concept of the finite element
method with the simple-most equation.
Formulation
Let us start with a simple linear system of equations
Ax b
|*y
yAx yb
y n
u ( x) f ( x)
where u is a scalar field, f is a source term and in 1-D
2
2 2
x
Finite element method
Poissons equation
We now multiply this equation with an arbitrary function v(x),
(dropping the explicit space dependence)
uv fv
... and integrate this equation over the whole domain. For
reasons of simplicity we define our physical domain D in the
interval [0, 1].
uv fv
D
D
1
uvdx fvdx
0
Discretization
As we are aiming to find a numerical solution to our problem it is
clear we have to discretize the problem somehow. In FE problems
similar to FD the functional values are known at a discrete set
of points.
... regular grid ...
... irregular grid ...
Domain D
The key idea in FE analysis is to approximate all functions in
terms of basis functions , so that
N
u u~ ci i
i 1
Basis function
N
~
u u
ci i
i 1
where N is the number nodes in our physical domain and ci are real
constants.
With an appropriate choice of basis functions i, the coefficients ci
are equivalent to the actual function values at node point i. This of
course means, that i=1 at node i and 0 at all other nodes ...
Doesnt that ring a bell?
Before we look at the basis functions, let us ...
Partial Integration
... partially integrate the left-hand-side of our equation ...
1
uvdx fvdx
1
( u )vdx uv 0 vudx
1
( u )vdx vudx
Finite element method
... so that we arrive at ...
1
uvdx fvdx
... with u being the unknown. This is also true for our
approximate numerical system
1
~vdx fvdx
u~ ci i
i 1
Partial integration
1
~vdx fvdx
v j
... so any of the basis functions previously defined ...
The ingredients:
v k
u~ ci i
i 1
~vdx fvdx
c dx f dx
0
i 1
c dx f dx
i 1
... probably not to your surprise this can be written in matrix form
bi Aik g k
A b gk
T
ik i
The solution
... with the even less surprising solution
T 1
ik
bi A
gk
remember that while the bis are really the coefficients of the basis
functions these are the actual function values at node points i as well
because of our particular choice of basis functions.
This become clear further on ...
Basis functions
we are looking for functions i
with the following property
10
9
8
6
5
+ grid nodes
blue lines basis
functions i
4
3
2
1
1
i ( x)
0
for x xi
for x x j , j i
Stiffness matrix
Knowing the particular form of the basis functions we can now
calculate the elements of matrix Aij and vector gi
1
c dx f dx
i 1
bi Aik g k
1
Aik i k dx
0
g k f k dx
0
Note that i are continuous functions defined in the interval [0,1], e.g.
x xi 1
x x
i i 1
xi 1 x
i ( x)
xi 1 xi
0
for
xi 1 x xi
for
xi x xi 1
elsewhere
i ( x)
xi 1 xi
0
for
xi 1 x xi
for
xi x xi 1
elsewhere
x
~
dx 1
~
x
~
i ( x ) 1
dx
for
dx ~
x 0
for
0 ~
x dx
elsewhere
~
x x xi
dx xi xi 1
xi
dx
Finite element method
~
i ( x ) 1 / dx
for
for
dx ~
x 0
0~
x dx
elsewhere
i
1/dx
xi
dx
-1/dx
Finite element method
~
x x xi
dx xi xi 1
9
8
7
6
Aik i k dx
5
4
3
2
1
A11 11dx
x1 dx
dx
1
x1
x2
A22 2 2 dx
0
1
2
dx
Finite element method
x1 dx
x1
x2 dx
dx dx
2
x2 dx
1
dx
dx dx 2
1 1
1
dx 2
dx dx
dx
x2
dx
dx
2
dx
dx
1
dx
dx
Stiffness matrix
10
9
8
7
6
Aik i k dx
5
4
3
2
1
......and
and......
1
A12 1 2 dx
0
1
2
dx
dx
dx
x1 dx
x1 dx
dx
1
x1
x1
1 1
dx
dx dx
1
dx
A21 A12
... so that finally the stiffness matrix looks like ...
Finite element method
Stiffness matrix
10
9
8
7
6
Aik i k dx
5
4
3
2
1
Aij
1
dx
1 1
1 2 1
1
2 1
1 1
u ( x) f ( x)
... which we turned into the following formulation ...
1
c dx f dx
i 1
u~ ci i
i 1
with b.c.
u~ ci i u (0)1 u (1) N
i 2
where u(0) and u(1) are the values at the boundaries of the domain [0,1].
How is this incorporated into the algorithm?
Boundary conditions
1
u ( x) f ( x)
c dx f dx
i 1
n 1
c dx f dx u (0) dx u (1) dx
i 2
= g
boundary condition
=
boundary condition
... the system feels the boundary conditions through the (modified) source term
Finite element method
Numerical Example
u ( x) f ( x)
Domain: [0,1]; nx=100;
dx=1/(nx-1);f(x)=d(1/2)
Boundary conditions:
u(0)=u(1)=0
Matlab FD code
f(nx/2)=1/dx;
for it = 1:nit,
uold=u;
du=(csh(u,1)+csh(u,-1));
u=.5*( f*dx^2 + du );
u(1)=0;
u(nx)=0;
end
Finite element method
A=zeros(nx);
for i=2:nx-1,
for j=2:nx-1,
if i==j,
A(i,j)=2/dx;
elseif j==i+1
A(i,j)=-1/dx;
elseif j==i-1
A(i,j)=-1/dx;
else
A(i,j)=0;
end
end
end
fem(2:nx-1)=inv(A(2:nx-1,2:nx-1))*s(2:nx-1)';
fem(1)=u1;
fem(nx)=unx;
Regular grid
u ( x) f ( x)
Domain: [0,1]; nx=100;
dx=1/(nx-1);f(x)=d(1/2)
Boundary conditions:
u(0)=u(1)=0
0.25
0.2
u(x)
0.15
0.1
0.05
0.1
0.2
0.3
0.4
0.5
x
0.6
0.7
0.8
0.9
0.4
0.35
0.3
% Quelle
0.25
s=(1:nx)*0;s(nx/2)=1.;
% Randwert
links
0.2
phij }
u(x)
u1=0.15;
0.15
nabla
unx=0.05; s(nx-1)=unx/dx;
0.05
0
s(2) =u1/dx;
% Randwert links
phij0.1
}
u_1
0.1
0.2
0.3
0.4
0.5
x
0.6
0.7
0.8
0.9
Aik i k dx
7
6
5
4
3
2
1
x1 h1
x1 h1
x1
A12 1 2 dx
1 2 dx
x1
1 1
dx
h1 h1
2
+
3
+
1 1
1
2 dx
A21
h1 0
h1
Aii
Finite element method
1
1
hi 1 hi
i=1
+
h1 h2
4
+
h3
5
6 7
+ + +
h4 h5 h6
Example
Stiffness matrix A
u ( x) f ( x)
for i=2:nx-1,
for j=2:nx-1,
if i==j,
A(i,j)=1/h(i-1)+1/h(i);
elseif i==j+1
A(i,j)=-1/h(i-1);
elseif i+1==j
A(i,j)=-1/h(i);
else
A(i,j)=0;
i=1 2
3
4 5
6
+ +
+
+ +
+
h1 h2 h3 h4 h5 h6
7
+
end
end
end
0.4
0.35
0.3
0.25
u(x)
0.2
0.15
0.1
0.05
0.1
0.2
0.3
0.4
0.5
x
0.6
0.7
0.8
0.9
Summary