CosmicStudioSoftware / OMMBV

Orthogonal Multipole Magnetic Basis Vectors - Complete orthogonal vector basis with accurate field-line mapping of electric fields and ion drifts within multipole magnetic fields
BSD 3-Clause "New" or "Revised" License
9 stars 7 forks source link

Closing Remaining Tasks on Multipole Generalization #35

Closed rstoneback closed 4 years ago

rstoneback commented 4 years ago

This pull closes out the work started a few pulls back.

1 - Implements scaling of ion drifts and electric fields using E and D basis vectors. Heritage scaling method retained for ease of comparison/transition

2 - Updated method defaults based upon testing

3 - Expanded testing on D, E vectors

4 - Moved unit tests from one giant file to a number of smaller files

5 - Incorporated IGRF13

6 - Validated meridional direction is along maximum apex height gradient via unit test plot

rstoneback commented 4 years ago

This pull contains code that sorts out the issues listed above

rstoneback commented 4 years ago

meridional_apex_verification

Red dot is located using the meridional unit vector and should be, if method is correct, located at the peak of the blue curve. The calculated meridional vector is rotated to the left and 'right' around the magnetic field by adding a small bit of zonal direction and normalizing. For each point the apex height is calculated. Gives us a chance to directly evaluate the variation in apex height in a small window around the meridional direction. All scales, until dominated by noise, produce the same result. The red dot is located where the blue curve peaks.

rstoneback commented 4 years ago

D vector uncertainty is not impacted, observably, by changing up the accuracy of the field line expansion calculation. That's because the uncertainties associated with my calculations, as demonstrated in other plots, are below the reported D vector uncertainty. The lack of significant changes to the D vectors when 2 of 3 parameters are varied suggests the uncertainty arises from the third parameter, or IGRF.

rstoneback commented 4 years ago

@bharding512 FYI I believe code development is done. I've checked everything I can think of. There may be a minor pull or two for packaging reasons, but otherwise, this is it.