{ RESTART_IMPORT.PDE
This example reads the TRANSFER file created by RESTART_EXPORT.PDE
and resumes execution at the exported time.
}
TITLE "Sod's Shock Tube Problem - restart"
SELECT
ngrid= 100
regrid=off
errlim=1e-4
VARIABLES
rho(1)
u(1)
P(1)
xm = move(x)
DEFINITIONS
len = 1
wid = 0.01
gamma = 1.4
{ define a damping term to kill unwanted oscillations }
eps = 0.001 ! 3e-4
{ Read in the file exported by restart_export.pde.
Use the imported mesh and problem time. }
transfermeshtime( 'restart_export_01_6.dat', rho0,u0,p0)
INITIAL VALUES
rho = rho0
u = u0
P = p0
EULERIAN EQUATIONS
{ equations are stated as appropriate to the Eulerian (lab) frame.
FlexPDE will convert to Lagrangian form for moving mesh
Since the equation is really in x only, we add dyy(.) terms with natural(.)=0
on the sidewalls to impose uniformity across the fictitious y coordinate }
rho: dt(rho) + u*dx(rho) + rho*dx(u) = dyy(rho) + eps*dxx(rho)
u: dt(u) + u*dx(u) + dx(P)/rho = dyy(u) + eps*dxx(u)
P: dt(P) + u*dx(P) + gamma*P*dx(u) = dyy(P) + eps*dxx(P)
xm: dt(xm) = u
BOUNDARIES
REGION 1
{ we must impose the same equivalence dt(xm)=u on the side boundaries
as in the body equations: }
START(0,0) natural(u)=0 dt(xm)=u line to (len,0)
value(xm)=len value(u)=0 line to (len,wid)
dt(xm)=u natural(u)=0 line to (0,wid)
value(xm)=0 value(u)=0 line to close
TIME 0 TO 0.375
MONITORS
for cycle=5
grid(x,10*y)
elevation(rho) from(0,wid/2) to (len,wid/2) range (0,1)
elevation(u) from(0,wid/2) to (len,wid/2) range (0,1)
elevation(P) from(0,wid/2) to (len,wid/2) range (0,1)
PLOTS
for t=0 by 0.02 to 0.143, 0.16 by 0.02 to 0.375
grid(x,10*y)
elevation(rho) from(0,wid/2) to (len,wid/2) range (0,1)
elevation(u) from(0,wid/2) to (len,wid/2) range (0,1)
elevation(P) from(0,wid/2) to (len,wid/2) range (0,1)
END