Numerical Method

advertisement
Numerical Methods
Due to the increasing complexities encountered in the development
of modern technology, analytical solutions usually are not available.
For these problems, numerical solutions obtained using high-speed
computer are very useful, especially when the geometry of the object
of interest is irregular, or the boundary conditions are nonlinear. In
numerical analysis, two different approaches are commonly used:
the finite difference and the finite element methods. In heat transfer
problems, the finite difference method is used more often and will be
discussed here. The finite difference method involves:
 Establish nodal networks
 Derive finite difference approximations for the governing
equation at both interior and exterior nodal points
 Develop a system of simultaneous algebraic nodal equations
 Solve the system of equations using numerical schemes
The Nodal Networks
• The basic idea is to subdivide the area of interest into sub-regions with the
distance between adjacent nodes given by Dx and Dy as shown.
• If the distance between points is small enough, the differential equation can be
approximated locally by a set of finite difference equations.
• Each node now represents a small region where the nodal temperature is a
measure of the average temperature of the region.
Dx
m,n+1
m-1,n
m,n
m+1, n
Dy
m,n-1
x=mDx, y=nDy
m+½,n
m-½,n
intermediate points
Finite Difference Approximation
Heat Diffusion Equation: 2T 
q 1 T

,
k  t
k
where  =
is the thermal diffusivity
 C PV

No generation and steady state: q=0 and
 0,  2T  0
t
First, approximated the first order differentiation
at intermediate points (m+1/2,n) & (m-1/2,n)
T
DT

x ( m 1/ 2,n ) Dx
T
DT

x ( m 1/ 2,n ) Dx
( m 1/ 2,n )
Tm 1,n  Tm ,n

Dx
( m 1/ 2,n )
Tm ,n  Tm 1,n

Dx
Finite Difference Approximation (cont.)
Next, approximate the second order differentiation at m,n
 2T
x 2
 2T
x 2

m ,n
m ,n
T / x m 1/ 2,n  T / x m 1/ 2,n
Dx
Tm 1,n  Tm 1,n  2Tm ,n

( Dx ) 2
Similarly, the approximation can be applied to
the other dimension y
 2T
y 2
m ,n
Tm ,n 1  Tm ,n 1  2Tm ,n

( Dy ) 2
Finite Difference Approximation (cont.)
Tm 1,n  Tm 1,n  2Tm ,n Tm ,n 1  Tm ,n 1  2Tm ,n
  2T  2T 

 x 2  y 2  
2
2
(
D
x
)
(
D
y
)

 m ,n
To model the steady state, no generation heat equation: 2T  0
This approximation can be simplified by specify Dx=Dy
and the nodal equation can be obtained as
Tm 1,n  Tm 1,n  Tm ,n 1  Tm ,n 1  4Tm ,n  0
This equation approximates the nodal temperature distribution based on
the heat equation. This approximation is improved when the distance
between the adjacent nodal points is decreased:
DT T
DT T
Since lim( Dx  0)

,lim( Dy  0)

Dx x
Dy y
A System of Algebraic Equations
• The nodal equations derived previously are valid for all interior points
satisfying the steady state, no generation heat equation. For each node,
there is one such equation.
For example: for nodal point m = 3, n = 4, the equation is
T2,4 + T4,4 + T3,3 + T3,5 - 4T3,4 =0
T3,4=(1/4)(T2,4 + T4,4 + T3,3 + T3,5)
• Nodal relation table for exterior nodes (boundary conditions) can be
found in standard heat transfer textbooks. (ex. F.P. Incropera & D.P.
DeWitt, “Introduction to Heat Transfer”.)
• Derive one equation for each nodal point (including both interior and
exterior points) in the system of interest.
• The result is a system of N algebraic equations for a total of N nodal
points as shown in the next slide.
Matrix Form
The system of equations:
a11T1  a12T2   a1N TN  C1
a21T1  a22T2 
 a2 N TN  C2
a N 1T1  a N 2T2 
 a NN TN  CN
Thus we have reduced the solution of the PDE to the solution of
A system of (N) algebraic equations for the all (N) the nodal points.
Using matrix notation the system can be expressed as : [A][T]=[C]
 a11 a12
a
a22
21

where A=


aN 1 aN 2
a1N 
 T1 
 C1 
T 
C 
a2 N 
 , T   2  ,C   2 

 
 

 
 
aNN 
TN 
C N 
Numerical Solution Methods
The goal is to solve: [A][T]=[C]. There are a number of ways to do this,
roughly classified into direct or iterative methods:
DIRECT METHODS
Matrix Inversion: Recall, from linear algebra: [A]-1[A][T]=[A]-1[C],
[T]=[A]-1[C], where [A]-1 is the inverse of [A] and [T] is the solution
vector.
• Matrix inversion for small matrices relatively easy on computers & programmable
calculators.
• Numerically cumbersome & computationally inefficient if the order of the matrix is high
(>10)
Other Direct Methods: Gauss elimination method and other matrix
solvers are usually available in many numerical solution packages.
E.g. “Numerical Recipes” by Cambridge University Press or their web source at
www.nr.com, MATLAB and MathCAD
Numerical Solution Methods (Cont’d)
ITERATIVE METHODS
For high order matrices, iterative methods are usually more efficient.
• The famous and commonly used ones are:
Jacobi & Gauss-Seidel iteration methods discussed next.
Iterative Methods
General algebraic equation for nodal point:
i 1
a T
j 1
ij
j
 aiiTi 
N
aT
j i 1
ij
j
 Ci ,
(Example : a31T1  a32T2  a33T3 
 a1N TN  C1 , i  3)
Replace (k) by (k-1)
Rewrite the equation of the form:
for the Jacobi iteration
i 1
N
aij ( k )
aij ( k 1)
Ci
(k )
Ti    T j   T j
aii j 1 aii
j i 1 aii
• (k) - specify the level of the iteration, (k-1) means the present level and (k)
represents the new level.
• An initial guess (k=0) is needed to start the iteration.
• By substituting iterated values at (k-1) into the equation, the new values at
iteration (k) can be estimated
• The iteration will be stopped when maxTi(k)-Ti(k-1), where  specifies a
predetermined value of acceptable error
Example
Solve the following system of equations using (a) the Jacobi methods,
(b) the Gauss Seidel iteration method.
 4 2 1   X  11
 1 2 0  Y    3 

   
 2 1 4  Z  16
4 X  2Y  Z  11,
 X  2Y  0 * Z  3,
2 X  Y  4 Z  16
Reorganize into new form:
11 1
1
- Y- Z
4 2
4
3 1
Y = + X+0*Z
2 2
1
1
Z = 4- X- Y
2
4
X=
(a) Jacobi method: use initial guess X0=Y0=Z0=1,
stop when maxXk-Xk-1,Yk-Yk-1,Zk-Zk-1  0.1
First iteration:
X1= (11/4) - (1/2)Y0 - (1/4)Z0 = 2
Y1= (3/2) + (1/2)X0 = 2
Z1= 4 - (1/2) X0 - (1/4)Y0 = 13/4
Example (cont.)
Second iteration: use the iterated values X1=2, Y1=2, Z1=13/4
X2 = (11/4) - (1/2)Y1 - (1/4)Z1 = 15/16
Y2 = (3/2) + (1/2)X1 = 5/2
Z2 = 4 - (1/2) X1 - (1/4)Y1 = 5/2
Converging Process:
13   15 5 5   7 63 93 

[1,1,1],  2,2,  ,  , ,  ,  , ,  ,
4  16 2 2   8 32 32 

 519 517 767 
 512 , 256 , 256  . Stop the iteration when
max X 5  X 4 , Y 5  Y 4 , Z 5  Z 4  0.1
Final solution [1.014, 2.02, 2.996]
Exact solution [1, 2, 3]
 133 31 393 
128 , 16 , 128 
Example (cont.)
(b) Gauss-Seidel iteration: Substitute the iterated values into the iterative
process immediately after they are computed.
Use initial guess X 0  Y 0  Z 0  1
1
1
3 1
1
11 1
X   Y  Z, Y   X , Z  4  X  Y
4
2
2 2
4
4 2
1
11 1
Immediate substitution
First iteration: X1 =  (Y 0 )  ( Z 0 )  2
4
4 2
5
3 1
3 1
Y 1   X 1   (2) 
2
2 2
2 2
1  5  19
1
1
1
Z 1  4  X 1  Y 1  4  (2)    
42 8
2
4
2
 5 19   29 125 783   1033 4095 24541 
,
,
,
,
Converging process: [1,1,1], 2, ,  ,  ,

 2 8   32 64 256  1024 2048 8192 
The iterated solution [1.009, 1.9995, 2.996] and it converges faster
Download