The Flux Integral
Often we imagine that a surface
is inside a vector field
F
(
x,y,z
), and that the vector field is moving "through" the surface.
(commands used to produce figure above)
The Flux of the vector field through the surface is a measure of the rate of change of the volume of the flow through the surface, and it is defined by the surface integral
image:
Flux =
where n is the unit surface normal and dS is the surface area differential.
In order to better understand the concept of flux, let's look at a few examples.
To begin with, let's calculate the flux of the vector field
F
(
x,y,z
) =
through the surface
r
(
u,v
) =
,
u
in [0,1],
v
in [0,1]. The surface
in this case is the unit square in the
yz
-plane and
F
is the vector field that assigns the constant vector 3
i
to each point in 3 dimensional space.
(commands used to create the figure above)
Notice that
F
is perpendicular to the
yz
-plane and that each velocity vector
F
(
x,y,z
) =
has a speed of 3. Consequently, in a short period of time
dt
, the "points" in a small rectangular region
x
will move a distance 3
dt
in the positive
x
direction. The volume of the flow through the surface from time
t
to time
dt
is thus equivalent to the volume of the box with base
dydz
and height 3
dt.
The rate of change of this volume is simply 3
dydx.
| > | p1:=plot3d(<0,u,v>,u=0..1,v=0..1,transparency=0.5): p2:=fieldplot3d(<3,0,0>,x=-1..1,y=0.1..0.9,z=0.1..0.9,color=red,arrows=SLIM,grid=[4,4,4]): tt:=-0.3: yy:=0.4: zz:=0.3: dt:=0.1: dy:=0.2: dz:=0.1: for i from 0 to 20 do temp1:=cuboid([tt+3*i*dt/20,yy,zz],[tt+3*i*dt/20+0.3,yy+dy,zz+dz],color=blue): ttime:=tt+3*i*dt/20+0.3: ttle:=cat("Time = ",convert(ttime,'string')): boxmove[i]:=display(temp1,title=ttle): end do: anibox:=display(seq(boxmove[i],i=0..20),insequence=true): display(p1,p2,anibox,orientation=[40,70],axes=normal); |
| > |
Uniformity of the field thus implies that every small subrectangle of the square has the same property, so that the total flux--i.e., the rate of change of the total volume of the flow through the square--is 3 times the area of the square, so that Flux = 3 . This is the same result that we obtain with the flux integral.
| > | F:=VectorField(<3,0,0>,cartesian[x,y,z]): Total_Flux:=Flux(F,Surface( <0,u,v>, u=0..1,v=0..1 ) ,'inert'); Total_Flux:=value(%); |
| > |
Consider now the case of a cuboid (i.e., a box) in the vector field
F
(
x,y,z
) =
.
| > | p1:=cuboid([0,0,0],[1,1,1],transparency=0.5): p2:=fieldplot3d(<y,-x,0>,x=-1..1,y=-1..1,z=0.1..0.9,color=red,arrows=SLIM,grid=[9,9,9]): tt:=-0.3: yy:=0.4: zz:=0.3: dt:=0.1: dy:=0.2: dz:=0.1: for i from 0 to 20 do temp1:=cuboid([tt+3*i*dt/20,yy,zz],[tt+3*i*dt/20+0.3,yy+dy,zz+dz],color=blue): temp2:=cuboid([yy,-tt-3*i*dt/20,zz],[yy+dy,-tt-3*i*dt/20-0.3,zz+dz],color=blue): ttime:=tt+3*i*dt/20+0.3: ttle:=cat("Time = ",convert(ttime,'string')): boxmove[i]:=display(temp1,temp2,title=ttle): end do: anibox:=display(seq(boxmove[i],i=0..20),insequence=true): display(p1,p2,anibox,orientation=[40,70],axes=normal); |
| > |
Indeed, each small rectangle of flow into the box is exactly offset by some small flow out of the box through another face. Thus, the total net Flux through the box is Flux = 0. This is the same result that we obtain with the flux integral.
| > | F:=VectorField(<y,-x,0>,cartesian[x,y,z]): Total_Flux:=Flux( VectorField( <y,-x,0>, cartesian[x,y,z] ), Box( 0..1,0..1,0..1 )); |
| > |