The Flux Integral

Often we imagine that a surface Sigma   is inside a vector field F ( x,y,z ), and that the vector field is moving "through" the surface.  

[Maple Plot]

(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 = int(int(F.n,S = Sigma .. %?),S)

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 ) = `<,>`(3,0,0)  through the surface r ( u,v ) = `<,>`(0,u,v) ,   u in [0,1], v  in [0,1].  The surface Sigma  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.  

[Maple Plot]

(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 ) = `<,>`(3,0,0)  has a speed of 3.  Consequently, in a short period of time dt , the "points" in a small rectangular region [y, y+dy]  x [z, z+dz]  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 ) = `<,>`(-y,x,0) .  

>    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 ));

>