<< Click to Display Table of Contents >> buoyant+time |
{ BUOYANT+TIME.PDE
This example is the time-dependent form of the steady-state example
Here we gradually ramp up the heat input to the level given in the
steady-state problem.
At early times, a single convection cell is established, but at later
times the bottom of the bowl stagnates and establishes the two-cell
flow pattern seen in the steady problem.
}
TITLE 'Buoyant Flow by Stream Function and Vorticity - no slip'
VARIABLES
temp(100)
psi(0.001)
w(1)
DEFINITIONS
Lx = 1 Ly = 0.5
Rad = 0.5*(Lx^2+Ly^2)/Ly
Gy = 980
sigma_top = 0.01 { surface heat loss coefficient }
sigma_bowl = 1 { bowl heat loss coefficient }
k = 0.0004 { thermal conductivity }
alpha = 0.001 { thermal expansion coefficient }
visc = 1
heatin = min(10,t)
t0 = 50
rho0 = 1
rho = rho0*(1 - alpha*temp)
cp = 1
u = dy(psi)
v = -dx(psi)
penalty = 5000
EQUATIONS
temp: div(k*grad(temp)) = rho0*cp*(dt(temp) + u*dx(temp) + v*dy(temp))
psi: div(grad(psi)) + w = 0
w: dt(w) + u*dx(w) + v*dy(w) = visc*div(grad(w)) - Gy*dx(rho)
BOUNDARIES
region 1
{ on the arc of the bowl, set Psi=0, apply conduction loss to T,
and apply penalty function to w to enforce no-slip condition. }
start(0,0)
natural(temp) = -sigma_bowl*temp
value(psi) = 0
natural(w)=penalty*tangential(u,v)
arc (center=0,Rad) to (Lx,Ly)
{ on the top, continue the prior BC for Psi,
but apply a heat input and loss to T.
Apply natural=0 BC (no vorticity transport) for w }
load(temp) = heatin*exp(-(10*x/Lx)^2) - sigma_top*temp
natural(w)=0
line to (0,Ly)
{ in the symmetry plane assert w=0, with a reflective BC for T }
value(w)=0
load(temp) = 0
line to close
TIME 0 to 100
MONITORS
for cycle=5 { watch what's happening }
contour(temp) as "Temperature"
contour(psi) as "Stream Function"
contour(w) as "Vorticity"
vector(curl(psi)) as "Flow Velocity" norm
PLOTS
for t = 1 by 1 to 10 by 10 to endtime
grid(x,y)
contour(temp) as "Temperature" painted
contour(psi) as "Stream Function"
contour(w) as "Vorticity" painted
vector(curl(psi)) as "Flow Velocity" norm
contour(rho) as "Density" painted
HISTORIES
history(temp) at (0.1*Lx,Ly) (0.2*Lx,Ly) (0.5*Lx,Ly) (0.8*Lx,Ly)
(0.7*Lx,0.5*Ly) (0.04*Lx,0.1*ly) as "Temperature"
history(u) at (0.1*Lx,Ly) (0.2*Lx,Ly) (0.5*Lx,Ly) (0.8*Lx,Ly)
(0.7*Lx,0.5*Ly) (0.04*Lx,0.2*Ly) as "X-velocity"
history(v) at (0.04*Lx,0.1*ly) as "Y-velocity"
END