Generalizations of the Fundamental Theorem of Calculus (Part II)

Using Divergence theorem to find London attraction potential between point particle and a finite cylinder.

The dipole -- dipole interaction force goes like 1 r 6 . The London interaction that gives the force between two bodies due to the superposition of all pointwise dipole interactions . To find such forces , it is necessary to integrate over the volumes of both bodies -- an integral over six dimensions . There are a few cases -- such as two spheres , a sphere and a semi - infinite solid , etc . -- - where closed form solutions can be obtained . However , in general , it is necessary to perform a numerical integration . If the integral over both volumes could be converted to integrals over both surfaces , then the numerical integration is considerably more efficient . Such conversions , can be obtained though application of the divergence theorem . Here is an example for the interaction between a single ( point ) and a finite volume ( a cylinder ) . To proceed , a vector integrand must be found for which the divergence is the desired pointwise interaction .

Find F such that div F is - 1 ( r - x ) 6    where r = (ξ,η,ζ) is a position in the cylinder and x =(x,y,z) is a general position in space (A fairly general method to do this and similar problems can be found in Argento C; Jagota A; Carter WC ``Surface formulation for molecular interactions of macroscopic bodies'' J.Mech. Physics Solids 1997,  pp 1161-1183 .

The following is a ``guess'' at the vector potential; it will be verified as the correct one by checking its divergence.

In[1]:=

FVecLondon = 1 3 ( ( ξ - x ) 2 + ( η - y ) 2 + ( ζ - z ) 2 ) 3 { ξ - x , η - y , ζ - z }

Out[1]=

{ - x + ξ 3 ( ( - z + ζ ) 2 + ( - y + η ) 2 + ( - x + ξ ) 2 ) 3 , - y + η 3 ( ( - z + ζ ) 2 + ( - y + η ) 2 + ( - x + ξ ) 2 ) 3 , - z + ζ 3 ( ( - z + ζ ) 2 + ( - y + η ) 2 + ( - x + ξ ) 2 ) 3 }

In[2]:=

<< Calculus`VectorAnalysis`

The following verifies that the correct vector potential is obtained

In[3]:=

FullSimplify [ Div [ FVecLondon , Cartesian [ ξ , η , ζ ] ] ]

Out[3]=

- 1 ( ( z - ζ ) 2 + ( y - η ) 2 + ( x - ξ ) 2 ) 3

Therefore,   Cylinder Volume 1 ( r - x ) 6 dV = Cylinder Surfaces FVecLondon d A =   Cylinder Surface FVecLondon d A + Cylinder Ends FVecLondon d A is the total interaction between a point an a cylinder.

Cylindrical coordinates: (ξ,η,ζ) = (r Cos[t], r Sin[t], ζ):
One cylindrical surface  r= R = const. t ∈ (0, 2π), ζ ∈ (- L 2 , L 2 )
Two caps r ∈ (0,R) t ∈ (0, 2π), ζ=± L 2

Cylinder Surface normals and differential quantities

The following is a parametric representation of a cylinder surface that is coaxial with the z-axis (the cylinder ends will be included later)

In[4]:=

CylSurf = { R Cos [ t ] , R Sin [ t ] , ζ }

Out[4]=

{ R Cos [ t ] , R Sin [ t ] , ζ }

The infinitessimal surface vectors R u and R v for the cylinder surface are obtained by differentiation; they will be used to find the surface patch d A .

In[5]:=

CylSurfRt = D[CylSurf, t]

CylSurfRz    = D[CylSurf, ζ]

Out[5]=

{ - R Sin [ t ] , R Cos [ t ] , 0 }

General :: spell1 : Possible spelling error: new symbol name \" CylSurfRz \" is similar to existing symbol \" CylSurfRt \". More… "Possible spelling error: new symbol name \\\"\\!\\(CylSurfRz\\)\\\" is similar to existing symbol \\\"\\!\\(CylSurfRt\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)"

Out[6]=

{ 0 , 0 , 1 }

The surface normal given by R u × R v for the cylinder surface, there for the following (multiplied by dθ dz) is the infinitessimal oriented surface patch d A .

In[7]:=

NormalVecCylSurf = Cross [ CylSurfRt , CylSurfRz ]

Out[7]=

{ R Cos [ t ] , R Sin [ t ] , 0 }

The integrand to be evaluated over the cylinder surface is the vector potential, dotted into

In[8]:=

CylinderIntegrandθζ = FullSimplify [ ( FVecLondon /. { ξ R Cos [ t ] , η R Sin [ t ] } ) . NormalVecCylSurf ]

Out[8]=

R ( R - x Cos [ t ] - y Sin [ t ] ) 3 ( R 2 + x 2 + y 2 + ( z - ζ ) 2 - 2 R ( x Cos [ t ] + y Sin [ t ] ) ) 3

Closed form for integral is un-findable, use a numeric integration--this will be written in two forms
1) A general function of x,y,z of the point particle and the cylinder radius and length.
2) Because of the polar symmetry, the integral should  be a function of only r = x 2 + y 2

We can use the same function name twice, but with a different number of arguments.  But, first we will try to do at least one of the two integrations symbolically.  If we can do this, it will reduce the original numerical integration from three dimensions down to 1---which is a nice bargain if we can find it.

Try and see if we can do one of the two integrals.  First, let's try theta:

In[9]:=

Integrate [ CylinderIntegrandθζ , t , Assumptions -> R > 0 && ζ Reals && x Reals && y Reals && z Reals ]

Out[9]=

1 3 R Integrate [ R - x Cos [ t ] - y Sin [ t ] ( R 2 + x 2 + y 2 + ( z - ζ ) 2 - 2 R ( x Cos [ t ] + y Sin [ t ] ) ) 3 , t , Assumptions R > 0 && ζ Reals && x Reals && y Reals && z Reals ]

The integral over theta gives no symbolic form...Try and see if we can do one of the two integrals.  So, let's try ζ:

In[10]:=

CylinderIntegrandθIndζ = Integrate [ CylinderIntegrandθζ , ζ , Assumptions -> R > 0 && L > 0 && x Reals && y Reals && z Reals && t Reals ]

Out[10]=

1 3 R ( R - x Cos [ t ] - y Sin [ t ] ) ( - 3 ArcTan [ z - ζ R 2 + x 2 + y 2 - 2 R x Cos [ t ] - 2 R y Sin [ t ] ] 8 ( R 2 + x 2 + y 2 - 2 R x Cos [ t ] - 2 R y Sin [ t ] ) 5 / 2 - 3 ( z - ζ ) 8 ( R 2 + x 2 + y 2 - 2 R x Cos [ t ] - 2 R y Sin [ t ] ) 2 ( R 2 + x 2 + y 2 + ( z - ζ ) 2 - 2 R x Cos [ t ] - 2 R y Sin [ t ] ) + z - ζ 4 ( R 2 + x 2 + y 2 + ( z - ζ ) 2 - 2 R x Cos [ t ] - 2 R y Sin [ t ] ) 2 ( - R 2 - x 2 - y 2 + 2 R x Cos [ t ] + 2 R y Sin [ t ] ) )

Here we will use a trickof using Evaluate[] in a function definition to save time--a small diversion here will demonstrate why this is efficient

In[17]:=

CylinderIntegrandθ [ x_ , y_ , z_ , CylRad_ , CylLen_ ] := Evaluate [ Simplify [ ( CylinderIntegrandθIndζ /. { ζ -> CylLen / 2 , R -> CylRad } ) - ( CylinderIntegrandθIndζ /. { ζ -> - CylLen / 2 , R -> CylRad } ) , Assumptions -> CylRad > 0 && CylLen > 0 && x Reals && y Reals && z Reals && t Reals ] ]

In[18]:=

CylinderContribution [ x_ , y_ , z_ , CylRad_ , CylLen_ ] := NIntegrate [ Evaluate [ CylinderIntegrandθ [ x , y , z , CylRad , CylLen ] , { t , 0 , 2 π } ] ]

Because of the polar symmetry , this contribution should only be a function of the distance ( x 2 + y 2 ) , so we can write a new function ( with the same name ) with fewer arguments

In[19]:=

CylinderContribution [ dist_ , z_ , CylRad_ , CylLen_ ] := NIntegrate [ Evaluate [ CylinderIntegrandθ [ dist , 0 , z , CylRad , CylLen ] , { t , 0 , 2 π } ] ]

Checking the numerical integration for the first form of the function

In[20]:=

CylinderContribution [ 2 , 2 , 1 / 2 , 1 , 1 ]

Out[20]=

- 0.011617409378892947

Checking the numerical integration for the second form of the function

In[21]:=

CylinderContribution [ 2 Sqrt [ 2 ] , 1 / 2 , 1 , 1 ]

Out[21]=

- 0.01161740937889297

Top Cap Surface normals and differential quantities, parallel method to cylinder surface

In[22]:=

TopSurf = { r Cos [ t ] , r Sin [ t ] , L 2 }

Out[22]=

{ r Cos [ t ] , r Sin [ t ] , L 2 }

In[23]:=

TopSurfRt = D[TopSurf, t]

TopSurfRr    = D[TopSurf, r]

Out[23]=

{ - r Sin [ t ] , r Cos [ t ] , 0 }

General :: spell1 : Possible spelling error: new symbol name \" TopSurfRr \" is similar to existing symbol \" TopSurfRt \". More… "Possible spelling error: new symbol name \\\"\\!\\(TopSurfRr\\)\\\" is similar to existing symbol \\\"\\!\\(TopSurfRt\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)"

Out[24]=

{ Cos [ t ] , Sin [ t ] , 0 }

The oriented surface patch d A for the top surface is the following ( multiplied by dr )

In[25]:=

NormalVecTopSurf = FullSimplify [ Cross [ TopSurfRr , TopSurfRt ] ]

Out[25]=

{ 0 , 0 , r }

In[26]:=

TopIntegrandθr = FullSimplify [ ( FVecLondon /. { ξ r Cos [ t ] , η r Sin [ t ] , ζ L / 2 } ) . NormalVecTopSurf ]

Out[26]=

r ( L - 2 z ) 6 ( 1 4 ( L - 2 z ) 2 + ( x - r Cos [ t ] ) 2 + ( y - r Sin [ t ] ) 2 ) 3

Because we will need to numerically integrate over r and over t, we might try the same trick as above and see if one of these integrals can be expressed in closed form.

Integrating over θ doesn't provide a closed form (this next step takes a while to evaluate...)

In[27]:=

Integrate [ TopIntegrandζr , { t , 0 , 2 π } , Assumptions r 0 && L > 0 && x Reals && y Reals && z Reals ]

General :: spell1 : Possible spelling error: new symbol name \" TopIntegrandζr \" is similar to existing symbol \" TopIntegrandθr \". More… "Possible spelling error: new symbol name \\\"\\!\\(TopIntegrand\[Zeta]r\\)\\\" is similar to existing symbol \\\"\\!\\(TopIntegrand\[Theta]r\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)"

Integrate [ r ( L - 2 z ) 6 ( 1 4 ( L - 2 z ) 2 + ( x - r Cos [ t ] ) 2 + ( y - r Sin [ t ] ) 2 ) 3 , { t , 0 , 2 π } , Assumptions { r > 0 , L > 0 , x Reals , y Reals , z Reals } ]

Out[27]=

2 π TopIntegrandζr

Integrating over r does work

In[28]:=

TopIntegrandθIndr = Integrate [ TopIntegrandθr , r , Assumptions t 0 && L > 0 && x Reals && y Reals && z Reals ]

Out[28]=

1 6 ( L - 2 z ) ( - 12 ArcTan [ 2 ( - r + x Cos [ t ] + y Sin [ t ] ) L 2 + 2 x 2 + 2 y 2 - 4 L z + 4 z 2 - 2 x 2 Cos [ 2 t ] + 2 y 2 Cos [ 2 t ] - 4 x y Sin [ 2 t ] ] ( x Cos [ t ] + y Sin [ t ] ) ( L 2 + 2 x 2 + 2 y 2 - 4 L z + 4 z 2 - 2 x 2 Cos [ 2 t ] + 2 y 2 Cos [ 2 t ] - 4 x y Sin [ 2 t ] ) 5 / 2 + 12 ( - x 2 - y 2 + 2 r x Cos [ t ] - x 2 Cos [ 2 t ] + y 2 Cos [ 2 t ] + 2 r y Sin [ t ] - 2 x y Sin [ 2 t ] ) ( L 2 + 4 r 2 + 4 x 2 + 4 y 2 - 4 L z + 4 z 2 - 8 r x Cos [ t ] - 8 r y Sin [ t ] ) ( L 2 + 2 x 2 + 2 y 2 - 4 L z + 4 z 2 - 2 x 2 Cos [ 2 t ] + 2 y 2 Cos [ 2 t ] - 4 x y Sin [ 2 t ] ) 2 - 4 ( - L 2 - 4 x 2 - 4 y 2 + 4 L z - 4 z 2 + 4 r x Cos [ t ] + 4 r y Sin [ t ] ) ( L 2 + 4 r 2 + 4 x 2 + 4 y 2 - 4 L z + 4 z 2 - 8 r x Cos [ t ] - 8 r y Sin [ t ] ) 2 ( - L 2 - 2 x 2 - 2 y 2 + 4 L z - 4 z 2 + 2 x 2 Cos [ 2 t ] - 2 y 2 Cos [ 2 t ] + 4 x y Sin [ 2 t ] ) )

In[29]:=

TopIntegrandθ [ x_ , y_ , z_ , CylRad_ , CylLen_ ] := Evaluate [ Simplify [ ( TopIntegrandθIndr /. { r -> CylRad , L -> CylLen } ) - ( TopIntegrandθIndr /. { r -> 0 , L -> CylLen } ) ] ]

General :: spell1 : Possible spelling error: new symbol name \" TopIntegrandθ \" is similar to existing symbol \" TopIntegrandθr \". More… "Possible spelling error: new symbol name \\\"\\!\\(TopIntegrand\[Theta]\\)\\\" is similar to existing symbol \\\"\\!\\(TopIntegrand\[Theta]r\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)"

In[30]:=

TopContribution [ xpos_ , ypos_ , zpos_ , CylRad_ , CylLen_ ] := NIntegrate [ Evaluate [ TopIntegrandθ [ xpos , ypos , zpos , CylRad , CylLen ] , { t , 0 , 2 π } ] ]

In[31]:=

TopContribution [ dist_ , zpos_ , CylRad_ , CylLen_ ] := NIntegrate [ Evaluate [ TopIntegrandθ [ dist , 0 , zpos , CylRad , CylLen ] , { t , 0 , 2 π } ] ]

In[32]:=

TopContribution [ Sqrt [ 2 ] , Sqrt [ 2 ] , 1 / 3 , 1 , 2 ]

Out[32]=

0.019746507925389237

In[33]:=

TopContribution [ 2 , 1 / 3 , 1 , 2 ]

Out[33]=

0.0197465079253876

Bottom Cap Surface normals and differential quantities

In[34]:=

BotSurf = { r Cos [ t ] , r Sin [ t ] , - L 2 }

Out[34]=

{ r Cos [ t ] , r Sin [ t ] , - L 2 }

In[35]:=

BotSurfRt = D[BotSurf, t]

BotSurfRr    = D[BotSurf, r]

Out[35]=

{ - r Sin [ t ] , r Cos [ t ] , 0 }

General :: spell1 : Possible spelling error: new symbol name \" BotSurfRr \" is similar to existing symbol \" BotSurfRt \". More… "Possible spelling error: new symbol name \\\"\\!\\(BotSurfRr\\)\\\" is similar to existing symbol \\\"\\!\\(BotSurfRt\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)"

Out[36]=

{ Cos [ t ] , Sin [ t ] , 0 }

The oriented surface patch d A for the bottom surface is the following ( multiplied by dr )

In[37]:=

NormalVecBotSurf = FullSimplify [ Cross [ BotSurfRt , BotSurfRr ] ]

Out[37]=

{ 0 , 0 , - r }

In[38]:=

BotIntegrandθr = FullSimplify [ ( FVecLondon /. { ξ r Cos [ t ] , η r Sin [ t ] , ζ - L / 2 } ) . NormalVecBotSurf ]

Out[38]=

32 r ( L + 2 z ) 3 ( 4 ( r 2 + x 2 + y 2 ) + ( L + 2 z ) 2 - 8 r ( x Cos [ t ] + y Sin [ t ] ) ) 3

In[39]:=

BotIntegrandθIndr = Integrate [ BotIntegrandθr , r , Assumptions t 0 && L > 0 && x Reals && y Reals && z Reals ]

Out[39]=

32 3 ( L + 2 z ) ( - ( 3 ArcTan [ 2 ( - r + x Cos [ t ] + y Sin [ t ] ) L 2 + 2 x 2 + 2 y 2 + 4 L z + 4 z 2 - 2 x 2 Cos [ 2 t ] + 2 y 2 Cos [ 2 t ] - 4 x y Sin [ 2 t ] ] ( x Cos [ t ] + y Sin [ t ] ) ) / ( 16 L 2 + 2 x 2 + 2 y 2 + 4 L z + 4 z 2 - 2 x 2 Cos [ 2 t ] + 2 y 2 Cos [ 2 t ] - 4 x y Sin [ 2 t ] ( - L 2 - 2 x 2 - 2 y 2 - 4 L z - 4 z 2 + 2 x 2 Cos [ 2 t ] - 2 y 2 Cos [ 2 t ] + 4 x y Sin [ 2 t ] ) 2 ) + 3 ( - x 2 - y 2 + 2 r x Cos [ t ] - x 2 Cos [ 2 t ] + y 2 Cos [ 2 t ] + 2 r y Sin [ t ] - 2 x y Sin [ 2 t ] ) 16 ( L 2 + 4 r 2 + 4 x 2 + 4 y 2 + 4 L z + 4 z 2 - 8 r x Cos [ t ] - 8 r y Sin [ t ] ) ( - L 2 - 2 x 2 - 2 y 2 - 4 L z - 4 z 2 + 2 x 2 Cos [ 2 t ] - 2 y 2 Cos [ 2 t ] + 4 x y Sin [ 2 t ] ) 2 + L 2 + 4 x 2 + 4 y 2 + 4 L z + 4 z 2 - 4 r x Cos [ t ] - 4 r y Sin [ t ] 16 ( L 2 + 4 r 2 + 4 x 2 + 4 y 2 + 4 L z + 4 z 2 - 8 r x Cos [ t ] - 8 r y Sin [ t ] ) 2 ( - L 2 - 2 x 2 - 2 y 2 - 4 L z - 4 z 2 + 2 x 2 Cos [ 2 t ] - 2 y 2 Cos [ 2 t ] + 4 x y Sin [ 2 t ] ) )

In[40]:=

BotIntegrandθ [ x_ , y_ , z_ , CylRad_ , CylLen_ ] := Evaluate [ Simplify [ ( BotIntegrandθIndr /. { r -> CylRad , L -> CylLen } ) - ( BotIntegrandθIndr /. { r -> 0 , L -> CylLen } ) ] ]

General :: spell1 : Possible spelling error: new symbol name \" BotIntegrandθ \" is similar to existing symbol \" BotIntegrandθr \". More… "Possible spelling error: new symbol name \\\"\\!\\(BotIntegrand\[Theta]\\)\\\" is similar to existing symbol \\\"\\!\\(BotIntegrand\[Theta]r\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, ButtonData:>\\\"General::spell1\\\"]\\)"

In[41]:=

BotContribution [ xpos_ , ypos_ , zpos_ , CylRad_ , CylLen_ ] := NIntegrate [ Evaluate [ BotIntegrandθ [ xpos , ypos , zpos , CylRad , CylLen ] , { t , 0 , 2 π } ] ]

In[42]:=

BotContribution [ dist_ , zpos_ , CylRad_ , CylLen_ ] := NIntegrate [ Evaluate [ BotIntegrandθ [ dist , 0 , zpos , CylRad , CylLen ] , { t , 0 , 2 π } ] ]

In[43]:=

BotContribution [ Sqrt [ 2 ] , Sqrt [ 2 ] , 1 / 3 , 1 , 2 ]

Out[43]=

0.011074868917683132

In[44]:=

BotContribution [ 2 , 1 / 3 , 1 , 2 ]

Out[44]=

0.011074868917684923

Adding up all the surface integral contributions

In[45]:=

LondonCylinderPotential [ dist_ , zpos_ , CylRad_ , CylLen_ ] := CylinderContribution [ dist , zpos , CylRad , CylLen ] + TopContribution [ dist , zpos , CylRad , CylLen ] + BotContribution [ dist , zpos , CylRad , CylLen ]

In[46]:=

LondonCylinderPotential [ 2 , .5 , 1 , 3 ]

Out[46]=

- 0.252331039462739

In[47]:=

LondonCylinderPotential [ .25 , .5 , 1 , 3 ]

Out[47]=

3.4393174758259777

In[48]:=

(* Plot [ LondonCylinderPotential [ dist , zpos , 1 , 2 ] , { dist , 1.1 , 3 } , { zpos , 0 , 3 } ] *)

In[49]:=

<< Graphics`Graphics`

Visualize result as a function of radial distance at different altitudes

In[60]:=

LondonPlot = Plot [ { LondonCylinderPotential [ dist , 0 , 1 , 4 / 3 ] , LondonCylinderPotential [ dist , 2 / 3 , 1 , 4 / 3 ] , LondonCylinderPotential [ dist , 4 / 3 , 1 , 4 / 3 ] , LondonCylinderPotential [ dist , 2 , 1 , 4 / 3 ] } , { dist , 0.01 , 3 } , PlotStyle { { Thickness [ 0.02 ] , RGBColor [ 1 , 0 , 0 ] } , { Thickness [ 0.015 ] , RGBColor [ 0 , 0.5 , 0 ] } , { Thickness [ 0.01 ] , RGBColor [ 0 , 0 , 1 ] } , { Thickness [ 0.005 ] , RGBColor [ 1 , 0 , 1 ] } } ]

[Graphics:HTMLFiles/Lecture-16_7.gif]

Out[60]=

Graphics

The plot above shows the London potential vs. radial distance for four different z values, z = 0, z = 2/3, z = 4/3, and z= 2. The cylinder height is 4/3 and its radius is 1; for values of z that intersect the cylinder, the potential diverges as dist -> 1.

In[61]:=

Show [ LondonPlot , PlotRange { - 5 , 3 } ]

[Graphics:HTMLFiles/Lecture-16_8.gif]

Out[61]=

Graphics

The plot above shows the London potential vs radial distance for the same z values as in the previous plot, but for a much smaller range of potential values (-1, 0), to show the z dependence of the potential more clearly.

Visualize potential at fixed altitudes above cylinder

In[52]:=

TopOfCylinder = Plot [ { LondonCylinderPotential [ dist , 1.1 , 1 , 1 ] , LondonCylinderPotential [ dist , 1.2 , 1 , 1 ] , LondonCylinderPotential [ dist , 1.3 , 1 , 1 ] , LondonCylinderPotential [ dist , 1.4 , 1 , 1 ] } , { dist , 0 , 3 } , PlotStyle { { Thickness [ 0.02 ] , RGBColor [ 1 , 0 , 0 ] } , { Thickness [ 0.015 ] , RGBColor [ 0 , 0.5 , 0 ] } , { Thickness [ 0.01 ] , RGBColor [ 0 , 0 , 1 ] } , { Thickness [ 0.005 ] , RGBColor [ 1 , 0 , 1 ] } } ]

[Graphics:HTMLFiles/Lecture-16_9.gif]

Out[52]=

Graphics

The plot above shows the London potential vs. radial distance for z values equal to and larger than the cylinder height. The cylinder height is 1 and its radius is 1;.the potential is plotted for z = 1.1, z = 1.2, z = 1.3, and z= 1.4.  All these z values are beyond the end of the cylinder, and the potentials do not diverge at dist = 1. Note that unlike the previous plots, this one extends from dist = 0 to 3.

The contour plot below would take an enormously long time to compute if we had not employed all of the ``integral tricks''

In[57]:=

ContourPlot [ LondonCylinderPotential [ dist , height , 1 , 0.25 ] , { dist , 0.001 , 2 } , { height , 0.001 , 2 } , Contours -> 25 , ColorFunction -> ( Hue [ 0.6 # ] & ) ]

[Graphics:HTMLFiles/Lecture-16_10.gif]

Out[57]=

ContourGraphics


Created by Mathematica  (October 31, 2005) Valid XHTML 1.1!