Software

Galactic Magnetic field reconstruction: BFIELD.py

The BFIELD module is intended to build three-dimensional vector field meant to represent the large-scale Galactic magnetic field. The basic entries are:

  • coordinates representing the Galaxy, and
  • the name of the parametric magnetic field model to build.

Through this Python module, we aim at providing a large variety of parametric models presented and used in the literature to fit the synchrotron and/or thermal dust polarized emissions as well as the Faraday rotation measure of Galactic pulsars and of extragalactic polarized objects. In Section 3 of this document, we review the parameterization of the models that shall at least be included in the BFIELD module. These parametric models of the Galactic magnetic field are:

  1. AxiSymmetric Spiral [implemented]
  2. Logarithmic Spiral Arm [implemented]
  3. BiSymmetric Spiral [implemented]
  4. Concentric Circular Ring [implemented]
  5. Bi-Toroidal / Halo [implemented]
  6. Jansson & Farrar
  7. Jaffe et al. [implemented]

The BFIELD module contains several functions that, strictly speaking, create the 3D vector fields corresponding to the above models. It also contains convenient functions for rapid evaluation and/or visualisation of the parametric models. These are intended to be user-friendly, any feedback is welcome and to be sent at pelgrims(at)lpsc(dot)in2p3(dot)fr. There are also other functions that are dedicated to the computation of physical quantities related to the magnetic field and that are required for the evaluation of the diffuse emissions. Such quantity is, for example, the norm of the magnetic field vector projected on the plane perpendicular to the line of sight or the inclination angle of that vector with respect to the line of sight.
All these functions are listed in Section 4.1 to 4.3 in this document. There, we also present schematics of the function call and brief summaries of the functions.
We strongly invite the interested reader to call the help() Python function on these functions for a detailed description of what is implemented and what are the various parameters and variables of the functions. Indeed, all the functions of the BFIELD module are heavily documented.

Download

The current version of the BFIELD module can be found in the .zip here along with the GalaxyBasics.py module.

Installation

BFIELD is a Python module which is made to be run in a Python environment such as IPython. It only makes use of NumPy and of Matplotlib for visualization conveniences. The module also depends on the GalaxyBasics.py module which, in turn called the healpy package. So, healpy is a dependency.

History

  • First version. July 24th, 2017.

Appetizers

In this html document we provide basic examples to familiarize with the visualization functionalities and some of the code syntaxes: