3d_blob_position

<< Click to Display Table of Contents >>

Navigation:  Sample Problems > Usage > Moving_Mesh >

3d_blob_position

Previous pageReturn to chapter overviewNext page

 
{ 3D_BLOB_POSITION.PDE

 

 This problem illustrates moving meshes in 3D.

 A spherical boundary shrinks and grows sinusoidally in time.

 The mesh coordinates are solved directly, without a mesh velocity variable.

 

 See 3D_BLOB_VELOCITY.PDE for a version that uses mesh velocity variables.

 

}

TITLE 'Pulsating circle in 3D - position specification'

 

COORDINATES

 cartesian3

 

VARIABLES

 Phi   { the temperature }

 Xm = MOVE(x) { surrogate X }

 Ym = MOVE(y) { surrogate Y }

 Zm = MOVE(z) { surrogate Z }

 

DEFINITIONS

 K = 1   { default conductivity }

 R0 = 0.75   { initial blob radius }

 

 zsphere = SPHERE ((0,0,0),R0)

 z1, z2

 Um = dt(Xm)

 Vm = dt(Ym)

 Wm = dt(Zm)

 

INITIAL VALUES

 Phi = (z+1)/2

 

EULERIAN EQUATIONS

 Phi:  Div(-k*grad(phi)) = 0

 Xm:  div(grad(Xm)) = 0

 Ym:  div(grad(Ym)) = 0

 Zm:  div(grad(Zm)) = 0

 

EXTRUSION

SURFACE 'Bottom'          z = -1

SURFACE 'Sphere Bottom'   z=z1

SURFACE 'Sphere Top'      z=z2

SURFACE 'Top'             z=1

 

BOUNDARIES

SURFACE 1

  VALUE(Phi)=0 VELOCITY(Xm)=0 VELOCITY(Ym)=0 VELOCITY(Zm)=0

SURFACE 4

  VALUE(Phi)=1 VELOCITY(Xm)=0 VELOCITY(Ym)=0 VELOCITY(Zm)=0

 

REGION 1 'box'

 z1=0   z2=0

START(-1,-1)

  NATURAL(Phi)=0 VELOCITY(Xm)=0 VELOCITY(Ym)=0 VELOCITY(Zm)=0

LINE TO (1,-1) TO (1,1) TO (-1,1) TO CLOSE

 

LIMITED REGION 2 'blob' { the embedded blob }

 z1 = -zsphere

 z2 = zsphere

layer 2 k = 0.001

SURFACE 2

  VELOCITY(Xm) = -0.25*sin(t)*x/r

  VELOCITY(Ym) = -0.25*sin(t)*y/r

  VELOCITY(Zm) = -0.25*sin(t)*z/r

SURFACE 3

  VELOCITY(Xm) = -0.25*sin(t)*x/r

  VELOCITY(Ym) = -0.25*sin(t)*y/r

  VELOCITY(Zm) = -0.25*sin(t)*z/r

START 'ring' (R0,0)

ARC(CENTER=0,0) ANGLE=360 TO CLOSE

 

TIME 0 TO 2*pi by pi/20

 

MONITORS

FOR cycle=1

  GRID(x,y,z) ON 'blob' ON LAYER 2

  CONTOUR(phi) ON y=0

PLOTS

FOR T = 0 BY pi/20 TO 2*pi

  GRID(x,y,z) ON 'blob' ON LAYER 2 FRAME(-R0,-R0,-R0, 2*R0,2*R0,2*R0)

  CONTOUR(Phi)  notags nominmax ON y=0

  VECTOR(-k*grad(Phi)) ON y=0

  CONTOUR(magnitude(Um,Vm,Wm)) ON y=0

  VECTOR(Um,Wm) ON y=0 FIXED RANGE(0,0.25)

  ELEVATION(Phi) FROM (0,0,-1) TO (0,0,1)

  ELEVATION(magnitude(Um,Vm,Wm)) FROM (0,0,-1) TO (0,0,1)

 

END