<< Click to Display Table of Contents >> 3d_intrusion_reconnect |
{ 3D_INTRUSION_RECONNECT.PDE
This problem illustrates moving meshes in 3D.
A Gaussian intrusion is forced into a rectangular column.
The mesh nodes are allowed to move only in Z.
}
TITLE '3D Intrusion with mesh reconnection'
SELECT
reconnect(on) { turn on all the default mesh reconnection functions }
order=2 { Quadratic interpolation }
COORDINATES
cartesian3
VARIABLES
Phi { a temperature variable as demonstration }
Zm = MOVE(z) { surrogate variable for mesh Z-coordinates }
Wm(threshold=0.01) { mesh z-velocity }
DEFINITIONS
K = 1 { default thermal conductivity }
Vz = 0.1
length=3
km = 0.2 { Mesh velocity diffusivity }
wid = 0.2
INITIAL VALUES
Phi = 0
Wm=0
INITIAL EQUATIONS
{ initialize the temperature distribution and mesh velocity distribution }
Phi: Div(-k*grad(phi)) = 0
Wm: div(grad(Wm)) = 0
EQUATIONS
Phi: Div(k*grad(phi)) = dt(phi)
Zm: dt(Zm) = Wm
Wm: div(km*grad(Wm)) = 0
EXTRUSION
SURFACE 'Bottom' z = 0
SURFACE 'Top' z=length
BOUNDARIES
SURFACE 1
VALUE(Phi)=0
VELOCITY(Zm) = Vz*exp(-x^2/wid^2)
VALUE(Wm) = Vz*exp(-x^2/wid^2)
MESH_SPACING = 0.2*(1-0.7*exp(-x^2/wid^2))
SURFACE 2
VALUE(Phi)=1
VELOCITY(Zm)=0
VALUE(Wm)=0
REGION 1 'box'
START(1,0)
NATURAL(Phi)=0
NATURAL(Wm)=0
NOBC(Zm)
LINE TO (1,1) TO (-1,1) TO(-1,0) TO CLOSE
TIME 0 TO 10 by 0.1
PLOTS
for cycle=1
GRID(x,y,z) as "3D Mesh"
GLGRID(x,y,z) as "GL Mesh"
grid(X,Z) on y=0 as "Front Face Mesh"
CONTOUR(Wm) notags nominmax ON y=0 as "Front Face Mesh Velocity"
CONTOUR(dt(Wm)) notags nominmax ON y=0 as "Front Face Mesh Acceleration"
contour(phi) on y=0.527 as "Interior plane Phi"
contour(dt(phi)) on y=0.527 as "Interior plane dt(Phi)"
GLCONTOUR(phi)
history(deltat)
END