<< Click to Display Table of Contents >> 3d_blob_velocity |
{ 3D_BLOB_VELOCITY.PDE
This problem illustrates moving meshes in 3D.
A spherical boundary shrinks and grows sinusoidally in time.
The mesh coordinates are solved by reference to a mesh velocity variable.
See 3D_BLOB_POSITION.PDE for a version that uses no mesh velocity variables.
}
TITLE 'Pulsating circle in 3D - velocity specification'
COORDINATES
cartesian3
VARIABLES
Phi { the temperature }
Xm = MOVE(x) { surrogate X }
Ym = MOVE(y) { surrogate Y }
Zm = MOVE(z) { surrogate Z }
Um(0.1) { mesh x-velocity }
Vm(0.1) { mesh y-velocity }
Wm(0.1) { mesh z-velocity }
DEFINITIONS
K = 1 { default conductivity }
R0 = 0.75 { initial blob radius }
zsphere = SPHERE ((0,0,0),R0)
z1, z2
INITIAL VALUES
Phi = (z+1)/2
EULERIAN EQUATIONS
Phi: Div(-k*grad(phi)) = 0
Xm: dt(Xm) = Um
Ym: dt(Ym) = Vm
Zm: dt(Zm) = Wm
Um: div(grad(Um)) = 0
Vm: div(grad(Vm)) = 0
Wm: div(grad(Wm)) = 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
VALUE(Um)=0 VALUE(Vm)=0 VALUE(Wm)=0
SURFACE 4
VALUE(Phi)=1 VELOCITY(Xm)=0 VELOCITY(Ym)=0 VELOCITY(Zm)=0
VALUE(Um)=0 VALUE(Vm)=0 VALUE(Wm)=0
REGION 1 'box'
z1=0 z2=0
START(-1,-1)
NATURAL(Phi)=0
VELOCITY(Xm)=0 VELOCITY(Ym)=0 VELOCITY(Zm)=0
VALUE(Um)=0 VALUE(Vm)=0 VALUE(Wm)=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) = Um VELOCITY(Ym) = Vm VELOCITY(Zm) = Wm
VALUE(Um) = -0.25*sin(t)*x/r
VALUE(Vm) = -0.25*sin(t)*y/r
VALUE(Wm) = -0.25*sin(t)*z/r
SURFACE 3
VELOCITY(Xm) = Um VELOCITY(Ym) = Vm VELOCITY(Zm) = Wm
VALUE(Um) = -0.25*sin(t)*x/r
VALUE(Vm) = -0.25*sin(t)*y/r
VALUE(Wm) = -0.25*sin(t)*z/r
START 'ring' (R0,0)
ARC(CENTER=0,0) ANGLE=360 TO CLOSE
TIME 0 TO 2*pi
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
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