3d_intrusion_reconnect

<< Click to Display Table of Contents >>

Navigation:  Sample Problems > Usage > Moving_Mesh >

3d_intrusion_reconnect

Previous pageReturn to chapter overviewNext page

{ 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