• Keine Ergebnisse gefunden

Finite Elements

N/A
N/A
Protected

Academic year: 2021

Aktie "Finite Elements"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Finite Elements

 Basic formulation

 Basis functions

 Stiffness matrix

 Poisson‘s equation

 Regular grid

 Boundary conditions

 Irregular grid

 Numerical Examples

Scope: Understand the basic concept of the finite element

method with the simple-most equation.

(2)

Formulation

Let us start with a simple linear system of equations

| * y

and observe that we can generally multiply both sides of this equation with y without changing its solution. Note that x,y and b are vectors and A is a matrix.

b Ax

y

n

yb

yAx   

We first look at Poisson’s equation

) ( )

( x f x

u

where u is a scalar field, f is a source term and in 1-D

2

 

2

(3)

Poisson‘s equation

fv uv

We now multiply this equation with an arbitrary function v(x), (dropping the explicit space dependence)

... and integrate this equation over the whole domain. For reasons of simplicity we define our physical domain D in the interval [

0, 1].

D D

fv uv

dx fv dx

uv

1

0 1

0

Das Reh springt hoch, das Reh springt weit, warum auch nicht, es hat ja Zeit.

... why are we doing this? ... be patient ...

(4)

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

c u

u ~  

(5)

Basis function

where N is the number nodes in our physical domain and c

i

are real constants.

With an appropriate choice of basis functions 

i

, the coefficients c

i

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 ...

Doesn’t that ring a bell?

Before we look at the basis functions, let us ...

i N

i

c

i

u

u  

1

~

(6)

Partial Integration

... partially integrate the left-hand-side of our equation ...

dx fv dx

uv

1

0 1

0

uvv u dx

dx v

u

1

0 1

0 1

0

) (

we assume for now that the derivatives of u at the boundaries vanish so that for our particular problem

dx u v dx

v

u

1

0 1

0

)

(

(7)

... so that we arrive at ...

... with u being the unknown. This is also true for our approximate numerical system

dx fv dx

v

u

1

0 1

0

... where ...

i N

i

c

i

u  

1

~

was our choice of approximating u using basis functions.

dx fv dx

v

u

1

0 1

0

~

(8)

Partial integration

... remember that v was an arbitrary real function ...

if this is true for an arbitrary function it is also true if

... so any of the basis functions previously defined ...

v  

j

... now let’s put everything together ...

dx fv dx

v

u

1

0 1

0

~

(9)

The discrete system

The ingredients:

v  

k N i

i

c

i

u  

1

~ dx

fv dx

v

u

1

0 1

0

~

dx f

dx

c

k k

n i

i

i

   

 

1

0 1

0 1

... leading to ...

(10)

The discrete system

dx f

dx

c

i k k

n i

i

    

1

0 1

1 0

... the coefficients c

k

are constants so that for one particular function 

k

this system looks like ...

k ik

i A g

b

... probably not to your surprise this can be written in matrix form

k i

T

ik b g

A

(11)

The solution

... with the even less surprising solution

  ik T k

i A g

b 1

remember that while the b

i

’s 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 ...

(12)

Basis functions

... otherwise we are free to choose any function ...

The simplest choice are of course linear functions:

+ grid nodes

blue lines – basis functions 

i

1 2 3 4 5 6 7 8 9 10

we are looking for functions 

i

with the following property   

 

i j x x for

x x x for

j i

i

0 ,

) 1

 (

(13)

Basis functions - gradient

To assemble the stiffness matrix we need the gradient (red) of the basis functions (blue)

1 2 3 4 5 6 7 8 9 10

(14)

Stiffness matrix

Knowing the particular form of the basis functions we can now calculate the elements of matrix A

ij

and vector g

i

dx f

dx

c

i k k

n i

i

    

1

0 1

1 0

dx A

ik

1

i

k

0

k ik

i A g

b

dx f

g k 1k

0

Note that 

i

are continuous functions defined in the interval [0,1], e.g.

 

 

 

 

elsewhere x x x x for

x

x x

x x x

x for x

x x

x

i i

i i

i

i i

i i

i

i

0 )

(

1

1 1

1 1

1

 Let us – for now – assume a

regular grid ... then

(15)

Stiffness matrix –regular grid

... where we have used ...

 

 

 

 

elsewhere x x x x for

x

x x

x x x

x for x

x x

x

i i

i i

i

i i

i i

i

i

0 )

(

1

1 1

1 1

1

 



elsewhere dx x

dx for x

x dx dx for

x

i

x

0

0 ~ 1 ~

~ 0

~ 1

~ )

 (

1

~

i i

i

x x

dx

x x

x

x

i

i

(16)

Regular grid - gradient

 

 

elsewhere dx x

for dx

x dx

for dx

i

x

0

0 ~ /

1

~ 0 /

1

~ )

 (

1

~

i i

i

x x

dx

x x

x

dx x

i

i

1/dx

(17)

Stifness matrix - elements

dx A

ik

1

i

k

0

1 2 3 4 5 6 7 8 9 10

... we have to distinguish various cases ... e.g. ...

dx dx dx dx

dx dx dx

dx A

dx dx x

x dx

x

x

1 1

1 1

0 1 2

1 1

0

1 1

11

1

1 1

1

 

 

 

dx dx dx dx

dx

dx dx

dx A

dx

dx

dx x

x x

dx x

2 1

1

0 2 0

2

2 2

2 2

1

0

2 2

22

2

2 2

2

(18)

Stiffness matrix

dx A

ik

1

i

k

0

1 2 3 4 5 6 7 8 9 10

... and ...

dx dx dx

dx dx dx dx

dx A

dx

dx x

x dx

x

x

1 1

1 1

0 2

2 1

1

0

2 1

12

1

1 1

1

 

 

 

12

21

A

A

... and ...

(19)

Stiffness matrix

dx A

ik

1

i

k

0

1 2 3 4 5 6 7 8 9 10

 

 

 

 

 

 

1 1

1 2

1 1 2

1

1 1

1 

A

ij

dx

... so far we have ignored sources and boundary conditions ...

(20)

Boundary conditions - sources

... let us start restating the problem ...

) ( )

( x f x

u

... which we turned into the following formulation ...

dx f

dx

c

i k k

n i

i

    

1

0 1

1 0

... assuming ...

i N

i

c

i

u  

1

~ with b.c.

N i

N i

i

u u

c

u ~  ( 0 )  ( 1 ) 

1 1

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?

(21)

Boundary conditions

) ( )

( x f x

u

... which we turned into the following formulation ...

dx f

dx

c

i k k

n i

i

    

1

0 1

1 0

... in pictorial form ...

dx u

dx u

dx f

dx

c

i k k k n k

n i

i

   

1

0 1

0

1 1

0 1

0 1 2

) 1 ( )

0

(    

=

boundary condition

boundary condition

source heterogeneity (f)

A

T

b = g

(22)

Numerical Example

) ( )

( x f x

u

Domain: [0,1]; nx=100;

dx=1/(nx-1);f(x)=d(1/2) Boundary conditions:

u(0)=u(1)=0

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;

Matlab FD code

% source term

s=(1:nx)*0;s(nx/2)=1.;

% boundary left u_1 int{ nabla phi_1 nabla phij } u1=0; s(1) =0;

% boundary right u_nx int{ nabla phi_nx nabla phij } unx=0; s(nx)=0;

% assemble matrix Aij 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;

Matlab FEM code

(23)

Regular grid

) ( )

( x f x

u

Domain: [0,1]; nx=100;

dx=1/(nx-1);f(x)=d(1/2) Boundary conditions:

u(0)=u(1)=0

Matlab FD code (red)

Matlab FEM code (blue)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.05 0.1 0.15 0.2 0.25

x

u(x)

FD (red) - FEM (blue)

(24)

Regular grid - non zero b.c.

) ( )

( x f x

u

Domain: [0,1]; nx=100;

dx=1/(nx-1);f(x)=d(1/2) Boundary conditions:

u(0)=0.15 u(1)=0.05

Matlab FD code (red)

Matlab FEM code (blue)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

x

u(x)

FD (red) - FEM (blue) -> Regular grid

% Quelle

s=(1:nx)*0;s(nx/2)=1.;

% Randwert links u_1 int{ nabla phi_1 nabla phij }

u1=0.15; s(2) =u1/dx;

% Randwert links u_nx int{ nabla phi_nx nabla phij }

unx=0.05; s(nx-1)=unx/dx;

(25)

Stiffness – irregular grid

1 2 3 4 5 6 7 8 9 10

dx A

ik

1

i

k

0

21 0 1

2

1 1 2

1 1

0

2 1

12

1 1

1 1

1

1

1 1

1 1

1

1

h A h dx

h dx dx h

dx A

h

h x

x h

x

x

 

 

 

ii

h h

A 1 1

i=1 2 3 4 5 6 7

+ + + + + + +

h

1

h

2

h

3

h

4

h

5

h

6

(26)

Example

) ( )

( x f x

u

Domain: [0,1]; nx=100;

dx=1/(nx-1);f(x)=d(1/2) Boundary conditions:

u(0)=u0; u(1)=u1

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;

end end end

i=1 2 3 4 5 6 7 + + + + + + + h

1

h

2

h

3

h

4

h

5

h

6

Stiffness matrix A

(27)

Irregular grid – non zero b.c.

) ( )

( x f x

u

Domain: [0,1]; nx=100;

dx=1/(nx-1);f(x)=d(1/2) Boundary conditions:

u(0)=0.15 u(1)=0.05

Matlab FD code (red)

Matlab FEM code (blue)

+ FEM grid points

00 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

x

u(x)

FD (red) - FEM (blue)

FEM on Chebyshev grid

(28)

Summary

In finite element analysis we approximate a function defined in a Domain D with a set of orthogonal basis functions with

coefficients corresponding to the functional values at some node points.

The solution for the values at the nodes for some partial differential equations can be obtained by solving a linear system of equations involving the inversion of (sometimes sparse) matrices.

Boundary conditions are inherently satisfied with this

formulation which is one of the advantages compared to finite differences.

In finite element analysis we approximate a function defined in a Domain D with a set of orthogonal basis functions with

coefficients corresponding to the functional values at some node points.

The solution for the values at the nodes for some partial differential equations can be obtained by solving a linear system of equations involving the inversion of (sometimes sparse) matrices.

Boundary conditions are inherently satisfied with this

formulation which is one of the advantages compared to finite

differences.

Referenzen

ÄHNLICHE DOKUMENTE

In order to reveal the solution structure, the partial radial distribution functions have to be determined by using isotope substitution technique yielding different diffraction

In the current work we present an idea for accelerating the convergence of the resulted sequence to the solution of the problem by choosing a suitable initial term. The efficiency of

In this problem finding more it- erations of He’s variational iteration method is very time consuming, so modification of the initial guess can provide an accurate and

One Way of Choosing the Auxiliary Parameter It is important to ensure that a solution series ob- tained using PIM, which is always as a family of solu- tion expressions in the

64a, 420 – 430 (2009); received September 4, 2008 / revised October 14, 2008 In this work, the homotopy perturbation method proposed by Ji-Huan He [1] is applied to solve both

and parabolic partial differential equations subject to temperature overspecification [26], the second kind of nonlinear integral equations [27], nonlinear equations arising in

In the thesis we developed and analyzed higher order trace finite element methods for sur- face vector partial differential equations on stationary surfaces: the surface

The construction with lifting of the direction field gives a possibility to reduce the classification of characteristic net singularities of generic linear second order mixed type