• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Heat Equation using PDE's

Joined
7/19/08
Messages
11
Points
11
Hey guys,
I'm trying to solve the below PDE using explicit finite difference method but it just never seems to converge. If i increase the timesteps and/or the spacesteps even by a little amount, the final value increases exponentially. I even tried solving it using separation of variables method but to no avail. I appreciate your tips.
Cheers.
Sankar.

∂V/∂t=(0.16+0.08Sin(t))∂²V/∂x² 0 < x <1
I.C. V(x,0)= x - x²
B.C. V(0,t)=0
B.C.V(1,t) =0
To find V (0.5,1)
 
Try using \(\delta x = 0.1\) and \(\delta t = 0.01\) for your finite difference scheme.

I get V (0.5,1) = 0.036761238 using the above values.

If you want a finer mesh you need \(\delta t < 2.08 (\delta x)^2 \) for convergence.
 
Thanks a bunch. I got exactly the same answer as you did for the given granularity. So in order to check it's convergence i 'll apply the rule you told me. Just curious to know though how did you arrive at that conclusion for ensuring convergence??
Thanks again.
Sankar.
 
When you write the finite difference equations, the coefficient of the \(V_{x,t}\) term needs to stay positive for convergence... or something like that. For your equation, the coefficient that term looks like this:
\(1-2\(0.16+0.08\sin \(t\)\)\frac{\delta t}{\(\delta x\)^2}\)

So just look at the worst case where sin(t) = 1 and you get the convergence criterion above.
 
Hi John,
It makes sense now but i've been trying to derive the inequality that you came up with to get the criterion but it just does'nt turn up like yours. Can you pls tell me how you derived that inequality??
Cheers.
Sankar.
 
For the coefficient to be positive we need:

(1-2\(0.16+0.08\sin \(t\)\)\frac{\delta t}{\(\delta x\)^2}\, >\, 0)

(2\(0.24\)\frac{\delta t}{\(\delta x\)^2}\, <\, 1)

\[\delta t\, <\, 2.08 \, \(\delta x\)^2\]
 
Hi John,
Sorry i did'nt frame the question properly. I figured out how to get the inequality. My question was how did you derive the value of the coefficient of the V x,t term i.e. how did you arrive at this :

((1-2(0.16+0.08\sin (t))\frac{\delta t}{(\delta x)^2}))

Cheers.
Sankar.
 
Use a forward difference for the time derivative and a central difference for the spatial derivative:

(\frac{V_{x,t+1}\,-\,V_{x,t}}{\delta t}=\(0.16+0.08\sin (t))\frac{V_{x+1,t},-,2V_{x,t},+,V_{x-1,t}}{(\delta x)^2})

Solve for (V_{x,t+1}=...) and Bob's your uncle.
 
Actually, in Australia Vegemite is far more popular than Marmite. But, in my opinion, both look like axle grease and taste worse...
 
Back
Top