Thursday, July 31, 2014

Math Notes: Cylindrical r Coordinate Value to Trace a Spherical r Dependent on z


OK, so that was quite the title.  I haven't done one of these in a while, but classes are about to start again and i figured I may as well get started deriving things again.  Plus, I had to do it for the can crusher magnet simulation code[1] for the experiment[3].  Here's what's really going on.  I have a Sage function that will give me the magnetic field in the z direction produced by a coil of wire that sits at z = 0 and a has a radius of 'rcoil'.  I'd like to know the magnetic field produced by the loop of wire along a circular path that is perpendicular to the plane of the current carrying coil.  A circular path perpendicular to the plane of a coil kind of begs for spherical coordinates, but the routine I have takes a z coordinate and a radius coordinate in the cylindrical coordinate system.  In the picture above, the circular path is shown, and the coil of wire is at the diameter of the circle and perpendicular to the page.  Note:  For those reading on G+, the equations aren't going to come out correctly, what with the lack of Latex support and all... apologies, but you can get the full version at, and garner the vast majority of it from the figure below.

At each height z above the coil the magnetic field will be the same all the way around the coil for a given spherical radius.  We can exploit this radial symmetry and only calculate the value of the magnetic field once instead of at each point around the circle.  Then, we can simply make a plot of the magnetic field vs z with the understanding that the radius of the sphere is constant and specified.  Here's the transform to get the value of the magnetic field dependent on our position on the z axis, given the radisu of the sphere we're interested in and the z coordinate, (of course... don't you just love saying that?).  The only trick is to figure out what cylindrical value of radius to plug in for each value of z to keep all our points on the spherical circle.
For any point on the sphere, notice that the cylindrical r value can be written as

$r = r_{coil}*cos\theta$,

where $r_{coil}$ is the constant radius of the coil which is also the constant radius of the sphere that we're interested in.  Next, we note that at each point along the spherical path

$\theta = asin\left(\dfrac{z}{r_coil}\right)$


Plugging this into the first expression, we get

$r = r_coil cos\left(asin\left(\dfrac{z}{r_{coil}}\right)\right)$

There's one last little modification.  Arcsin's of other functions always creep me out just a little, so fortunately, there's a trig identity we can use to get rid of this one.  The identity[2] is

$cos\left(arcsin\left(x\right)\right) = \sqrt{1-x^2}$

By plugging this in, we get the final expression

$r = r_{coil} \sqrt{1-\left(\dfrac{z}{r_{coil}}\right)^2}$

Now, for each value of z, I just call the magnetic field routine, passing it the radius of the coil, the value of z, and the expression for r above that depends only on the radius of the coil and z!  The sage code looks like so:

Bzradius(rcoil, z, curren) = dbcoilbz(rcoil, z, rcoil*(1-(z/rcoil)^2)^0.5, curren)


This gives me nice little graphs like the following.



References:
1.  github Can Crusher simulation project
https://github.com/hcarter333/cancrusher

2.  Trig identities
https://en.wikipedia.org/wiki/Trigonometry_idenities#Compositions_of_trig_and_inverse_trig_functions

3.  The hray experiment
http://copaseticflow.blogspot.com/2014/07/simulations-everywhere-simulations-lab.html

No comments: