0% found this document useful (0 votes)
12 views8 pages

Problem 3

Uploaded by

Như Vũ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views8 pages

Problem 3

Uploaded by

Như Vũ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Problem 3:

Summarized demand:
2
d T
Given: 2
=−f ( x)
dx
With f ( x )=25℃ /m2
Boundary conditions: T ( x=0 )=40℃ , T ( x=10 )=200 ℃
Step size: h=∆ x=2
Find temperature distribution.
a) The shooting method
Theory:
Given: y ”+ p (x) y ’ +q (x) y=r ( x ) with y ( a ) =γ 1 , y ( b )=γ 2
Supply initial conditions (Initial Value Problem - IVP)
y ”(x)+ p ( x ) y ’ (x)+q ( x ) y ( x)=f ( x )
y ( a ) =γ 1 , y ' ( a )=α
Divide [a , b ¿ equally into n subintervals with step size h: x 0=a , x k =x 0 + kh ,
b−a
(k =1 ,2 , … , n−1), x n=b with h=
n
Solve IVP to get the solution at y(b)

Finding suitable slope by Boundary Value Problem (BVP):


y ”(x)+ p ( x ) y ’ (x)+q ( x ) y ( x)=f ( x ) (a< x <b)
y ( a ) =γ 1 , y ( b )=γ 2
Use BVP as a system with α is assumed initial number:
'
y =z , y ( a )=γ 1 z ' =f ( x )− p ( x ) z −q ( x ) y , z ( a )= y ' ( a )=α
IVP can be solved by using method such as Runge-Kunta, Taylor-Seried…
The final target of the shooting method is find y ( b ; α )=γ 2 so that
| y ( b ; α )− y ( b )|< ε (acceptable error)
- The solution can be written like this (Euler’s formula):
∅ (α )= y ( b ; α )− y ( b )=0
α n−α n−1
α n+1=α n − ∗ ∅ (α n )
∅ ( α n )− ∅ ( α n−1 )
(α 0 , α 1 need ¿ be assumed ¿
+ IVP1: y ”(x)+ p ( x ) y ’ (x)+q ( x ) y ( x)=f ( x )
y ( a ) =γ 1 , y ' ( a )=α 0
+ IVP2: y ”(x)+ p ( x ) y ’ (x)+q ( x ) y ( x)=f ( x )
'
y ( a ) =γ 1 , y (a)=α 1
+ Solve IVP1 and IVP2 to get y ( b ; α 0 ) and y ( b ; α 1 )
∅ (α 0 )= y ( b ; α 0 )−γ 2
∅ ( α 1 )= y ( b ; α 1 )−γ 2
α n−α n−1
+ Use α n+1=α n − ∗∅ (α n ) to find α 2
∅ ( α n )− ∅ ( α n−1 )
+ Solve IVP3: y ” ( x ) + p ( x ) y ’ ( x ) +q ( x ) y ( x )=f ( x )
y ( a ) =γ 1 , y ' ( a )=α 2
+ Check if | y ( b ; α 2 )−γ 2|< ε , if not, then refine α via
α n−α n−1
α n+1=α n − ∗∅ (α n )
∅ ( α n )− ∅ ( α n−1 )

Solution:
Choose α 0=110 , α 1=120
'
z =T = {{d} ^ {2} T} over {d {x} ^ {2}} =- f(x) =-2
T 0=T ( 0 )=40, T 1=T (2) , T 2=T (4),T 3=T (6),T 4=T (8), T 5=T ( 10 )=200
T n+1=T n +h z n=T n +2 z n
'
z n+1=z n +h z =z n +2∗(−25 )=z n−50
- With α 0=110=z 0
T 1=T 0+ 2 z 0=40+2∗110=260
z 1=z 0−50=110−50=60
T 2=T 1 +2 z 1=260+2∗60=380
z 2=z 1−50=60−50=10
T 3=T 2+2 z 2=380+2∗10=400
z 3=z 3−50=10−50=−40
T 4=T 3 +2 z3 =400+2∗(−40)=320
z 4 =z 4−50=−40−50=−90
T 5=T 4 +2 z 4=320+2∗(−90)=140
∅ ( α 0 )= y ( b ; α 0 ) − y ( b )=140−200=−60

- With α 1=120= z0
T 1=T 0+ 2 z 0=40+2∗120=280
z 1=z 0−50=120−50=70
T 2=T 1 +2 z 1=280+2∗70=420
z 2=z 1−50=70−50=2 0
T 3=T 2+2 z 2=420+2∗20=46 0
z 3=z 3−50=20−50=−3 0
T 4=T 3 +2 z3 =460+2∗(−30)=40 0
z 4 =z 4−50=−30−50=−8 0
T 5=T 4 +2 z 4=400+2∗(−80)=2 40
∅ ( α 1 )= y ( b ; α 1 )− y ( b ) =240−200=40

α 1 −α 0 120−110
α 2=α 1− ∗∅ ( α 1 )=120− ∗40=116
∅ ( α 1 ) −∅ ( α 0 ) 40−(−60 )

- With α 2=116=z 0
T 1=T 0+ 2 z 0=40+2∗116=272
z 1=z 0−50=116−50=66
T 2=T 1 +2 z 1=272+2∗66=404
z 2=z 1−50=66−50=16
T 3=T 2+2 z 2=404+2∗16=436
z 3=z 3−50=16−50=−34
T 4=T 3 +2 z3 =436+ 2∗(−34)=368
z 4 =z 4−50=−34−50=−84
T 5=T 4 +2 z 4=368+2∗(−84)=200
∅ ( α 2 )= y ( b ; α 2 )− y ( b )=200−200=0

 So the temperature distribution:


T 0=T ( 0 )=40℃
T 1=T ( 2 )=272℃
T 2=T ( 4 )=404 ℃
T 3=T ( 6 )=436 ℃
T 4=T ( 8 )=368 ℃
T 5=T ( 10 )=20 0 ℃

Code (Matlab):
%Input data.
x0=0;
xn=10;
T=40;
Tn=200;
dz=-25;
h=2;
i=int64((xn-x0)/h);
T0=T;T1=T;
%Input different random values of z0 and z1.
z00=input('input an assumed value of z0');
z01=input('input an assumed value of z1');
%Loop from a=1 to a=5 to find T0, T1, phi0 and phi1.
z0=z00; z1=z01;
for a=1:i
T0=T0+2*(z0-(a-1)*50); T1=T1+2*(z1-(a-1)*50);
%Save every value of T0 and T1 from loop.
m(1,a)=T0; n(1,a)=T1;
phi0=T0-Tn; phi1=T1-Tn;
%If phi0=0 then display every value of T0 from loop to screen.
if phi0==0
disp(m(1,a));
%If phi1=0 then display every value of T1 from loop to screen.
elseif phi1==0
disp(n(1,a));
%If phi0, phi1 <> 0 then compute initial z2 from initial z1 and z0.
else
z02=z01-(z01-z00)*phi1/(phi1-phi0);
end
end
%Loop from b=1 to b=5 to find T2 and phi2.
z2=z02;T2=T;
for b=1:i
T2=T2+2*(z2-(b-1)*50);
phi2=T2-Tn;
%Save every value of T2 from loop.
x(1,b)=T2;
end
%If phi2=0 then display every value of T2.
if phi2==0
for b=1:i
disp(x(1,b));
end
else
disp('input other z0 and z1');
end

Code output:

With z 0=110 , z 1=120 :


With z 0=10 , z 1=20:
With z 0=300 , z 1=200:
b) The finite-difference method
Theory:
The boundary problem related to linear second order differential equation:
p(x ) y ”(x)+q ( x ) y ’(x )+r ( x ) y (x )=f ( x )
a< x< b
y ( a ) =α , y ( b )= β
Divide [a , b ¿ equally into n subintervals with step size h: x 0=a , x k =x 0 + kh ,
b−a
(k =1 ,2 , … , n−1), x n=b with h=
n
At nodes x k (k =1 ,2 , … , n−1) inside interval [a , b ¿, use centered difference formula:
'
y ( x k+1 )− y ( x k−1 ) y k+1− y k−1
y ( xk) ≈ =
2h 2h
} left ({x} rsub {k} right ) ≈ {y left ({x} rsub {k+1} right ) -2y( {x} rsub {k} )+ y left ({x} rsub {k-1} right )} over {{h} ^ {2}} = {{y} rsub {k+1} -2 {y} rsub {k} +
y

Solution:
} left ({x} rsub {k} right ) = {T left (x+∆x right ) -2T(x)+ T left (x-∆x right )} over {( {∆x)} ^ {2}} =-f left (x right ) =-2¿
T
- With x=2 , ∆ x=2:
T ( x+ ∆ x )−2 T ( x)+T ( x−∆ x )
¿¿
 T ( 4 ) −2T ( 2 )+ 40=−100
 T ( 4 ) −2T ( 2 )=−14 0 (1)
- With x=4 , ∆ x=2:
T ( x+ ∆ x )−2 T ( x)+T ( x−∆ x )
¿¿
 T ( 6 )−2 T ( 4 ) + y ( 2 )=−100 (2)
- With x=6 , ∆ x=2:
T ( x+ ∆ x )−2 T ( x)+T ( x−∆ x )
¿¿
 T ( 8 )−2 T ( 6 )+ y ( 4 )=−100 (3)
- With x=8 , ∆ x=2:
T ( x+ ∆ x )−2 T ( x)+T ( x−∆ x )
¿¿
 200−2T ( 8 ) +T ( 6 )=−100
 −2 T ( 8 ) +T ( 6 )=−30 0 (4)
- From (1), (2), (3), (4), using Casio we have:
T ( 2 ) =272
T ( 4 ) =404
T ( 6 )=436
T ( 8 )=368
 So the temperature distribution:
T 0=T ( 0 )=40℃
T 1=T ( 2 )=272℃
T 2=T ( 4 )=404 ℃
T 3=T ( 6 )=436 ℃
T 4=T ( 8 )=368 ℃
T 5=T ( 10 )=20 0 ℃

Code (Matlab):
syms T2 T4 T6 T8 %List the variables.
pt1=-2*T2+T4==-140; %Equation 1 from the finite methods.
pt2=T2-2*T4+T6==-100; %Equation 2 from the finite methods.
pt3=T4-2*T6+T8==-100; %Equation 3 from the finite methods.
pt4=T6-2*T8==-300; %Equation 4 from the finite methods.

eq=[pt1,pt2,pt3,pt4];
var=[T2,T4,T6,T8];
[T2,T4,T6,T8]=solve(eq,var) %Solve and display the answer.

Code output:

 The output are:


T ( 2 ) =272
T ( 4 ) =404
T ( 6 )=436
T ( 8 )=368

You might also like