<< Click to Display Table of Contents >> 3d_blob_position |
{ 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