0% found this document useful (0 votes)
219 views15 pages

Parabolic Pde

This document discusses using Matlab's pdepe command to solve parabolic partial differential equations (PDEs). It presents the general form of a parabolic PDE that pdepe can solve, including terms for heat capacity, conductivity, sources/sinks, boundary conditions, and initial conditions. An example is given of a 1D heat conduction problem and the Matlab code is shown to define the PDE, boundary/initial conditions, and call pdepe to solve it. The document also describes altering the code to model convection at one boundary instead of insulation.

Uploaded by

kevinmuri
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
219 views15 pages

Parabolic Pde

This document discusses using Matlab's pdepe command to solve parabolic partial differential equations (PDEs). It presents the general form of a parabolic PDE that pdepe can solve, including terms for heat capacity, conductivity, sources/sinks, boundary conditions, and initial conditions. An example is given of a 1D heat conduction problem and the Matlab code is shown to define the PDE, boundary/initial conditions, and call pdepe to solve it. The document also describes altering the code to model convection at one boundary instead of insulation.

Uploaded by

kevinmuri
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Parabolic PDEs in Matlab

Jake Blanchard
University of Wisconsin - Madison
Introduction
Parabolic partial differential equations are
encountered in many scientific
applications
Think of these as a time-dependent
problem in one spatial dimension
Matlabs pdepe command can solve these
Model Problem
0 ) , (
' '
0 ) 0 , (
0
2
2
=
=
c
c

=
c
c
=
c
c
=
t L T
q
x
T
k
x T
x
T
k
x
T
c
x
p

x
L
T=0
q
pdepe Solves the Following
( ) ( )
( ) ( ) 0 , , , , , ,
,
, , , , , , , , ,
0 0
=
|
.
|

\
|
c
c
+
=
|
.
|

\
|
c
c
+
|
|
.
|

\
|
|
.
|

\
|
c
c
c
c
=
c
c
|
.
|

\
|
c
c

x
u
u t x f t x q u t x p
x u t x u
x
u
u t x s
x
u
u t x f x
x
x
t
u
x
u
u t x c
m m
Boundary Conditions one at
each boundary
Initial Conditions
m=0 for Cartesian, 1 for
cylindrical, 2 for spherical
pdepe Solves the Following
0
, , , , , , , , ,
2
2
=
c
c
=
=
c
c
=
c
c
|
.
|

\
|
c
c
+
|
|
.
|

\
|
|
.
|

\
|
c
c
c
c
=
c
c
|
.
|

\
|
c
c

s
x
T
k f
c c
x
T
k
t
T
c
x
u
u t x s
x
u
u t x f x
x
x
t
u
x
u
u t x c
p
p
m m

Differential Equations
function [c,f,s] = pdex1pde(x,t,u,DuDx)
global rho cp k
c = rho*cp;
f = k*DuDx;
s = 0;
Initial Conditions
function u0 = pdex1ic(x)
u0 = 0;
pdepe Solves the Following
( ) ( ) 0 , , , , , , =
|
.
|

\
|
c
c
+
x
u
u t x f t x q u t x p
0 ) , (
0 ' '
' '
0
0
=
c
c
=
=
c
c
+
=
c
c

=
=
t L T
x
T
k f
remember
x
T
k q
or
q
x
T
k
x
x
0 =
= =
=
q
ur T p
L x
1
' '
0
=
=
=
q
q p
x
Boundary Conditions
function [pl,ql,pr,qr] = pdex1bc(xl,ul,xr,ur,t)
global q
pl = q;
ql = 1;
pr = ur;
qr = 0;
At right edge, ur=0
At left edge, q+k*dT/dx=0
Calling the solver
tend=10
m = 0;
x = linspace(0,L,200);
t = linspace(0,tend,50);
sol =
pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
200 spatial mesh points
50 time steps from t=0 to tend
Postprocessing
Temperature = sol(:,:,1);
figure, plot(x,Temperature(end,:))
figure, plot(t,Temperature(:,1))
Full Code
function parabolic
global rho cp k
global q
L=0.1 %m
k=200 %W/m-K
rho=10000 %kg/m^3
cp=500 %J/kg-K
q=1e6 %W/m^2
tend=10 %seconds
m = 0;
x = linspace(0,L,200);
t = linspace(0,tend,50);
sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
Temperature = sol(:,:,1);
figure, plot(x,Temperature(end,:))
function [c,f,s] = pdex1pde(x,t,u,DuDx)
global rho cp k
c = rho*cp;
f = k*DuDx;
s = 0;
function u0 = pdex1ic(x)
u0 = 0;
function [pl,ql,pr,qr] =
pdex1bc(xl,ul,xr,ur,t)
global q
pl = q;
ql = 1;
pr = ur;
qr = 0;
A Second Problem
Suppose we want convection at x=L
That is
( )
0 = +
=
dx
dT
k hT hT
or
T T h
dx
dT
k
bulk
bulk
( ) ( ) 0 , , , , , , =
|
.
|

\
|
c
c
+
x
u
u t x f t x q u t x p
( )
1 =
= =
=
q
T ur h T p
L x
bulk
Altered Code
function u0 = pdex1ic(x)
global q hcoef Tbulk
u0 = Tbulk;
function [pl,ql,pr,qr] = pdex1bc(xl,ul,xr,ur,t)
global q hcoef Tbulk
pl = q;
ql = 1;
pr = hcoef*(ur-Tbulk);
qr = 1;
Download Scripts
http://blanchard.ep.wisc.edu/

You might also like