Skip to main content

Conversion between units used in magnetism.

Project description

PyPI Version Supported Python Versions

convmag

Conversion between various units used in magnetism

The conversions between base units available are:

         T  <->  G         :    1e4
         T  <->  Oe        :    1e4
       A/m  <->  T         :    MU_0
       A/m  <->  G         :    1e4 * MU_0
         G  <->  Oe        :    1
       A/m  <->  Oe        :    1e4 * MU_0
  emu/cm^3  <->  T         :    1e3 * MU_0
erg/Oecm^3  <->  A/m       :    1e3
     emu/g  <->  Am^2/kg   :    1
     J/m^3  <->  GOe       :    1e8 * MU_0
     J/m^3  <->  erg/cm^3  :    1e1
  erg/cm^3  <->  GOe       :    1e7 * MU_0
      Am^2  <->  emu       :    1e3
      Am^2  <->  erg/G     :    1e3
      Am^2  <->  erg/Oe    :    1e3
       emu  <->  erg/G     :    1
       muB  <->  Am^2      :    MU_B
       muB  <->  emu       :    1e3 * MU_B
    muB/fu  <->  T         :    requires user input of lattice parameters

(the factors given above are for the forward conversion)

  • permeability of free space, MU_0 = 4 * 3.14159 * 1e-7 H/m (== Vs/Am)

  • Bohr magneton, MU_B = 9.274015e-24 Am^2 (muB is the unit string for conversions with Bohr magnetons)

The prefactors available for any base unit are: M (1e6), k (1e3), m (1e-3), µ (1e-6)

You can combine prefactors and base units to give e.g. MA/m or kJ/m^3


A word about emu

emu is not a unit but indicates the system of cgs units being used (emu == electromagnetic units)

The magnetisation data from magnetometers is very often given in emu, and in these cases emu implies the units erg/G. This is why the equivalence emu = erg/G is given above. Many authors still quote emu/g or emu/cm^3 and therefore, these conversions are listed in the table above. convmag always assumes that emu has the units erg/G.

In some cases emu may take other units, so it's always worth checking this!


Installation:

Pip

You can install the current release with pip:

    pip install convmag

Pure python, no other dependencies.

Requires Python >= 3.6 because f-strings are used


Usage options:

  1. command line: a console script is provided and should be located in the Scripts directory of your Python distribution after installation. If you have this directory in your Path (environment variable on Windows) you can start the program by typing "convmag" in the terminal. In this case only single values can be converted (one at a time).

  2. the package can be imported into python and then you can pass numpy arrays into the function convert_unit(), making sure to keep the default verbose=False. That way many values can be converted at once. The converted values are returned as a numpy array for further processing.

    >>> import numpy as np
    >>> import convmag as cm
    >>> vals_in_T = np.arange(0, 100, 20)
    >>> vals_in_T
    array([ 0, 20, 40, 60, 80])
    >>> vals_in_Oe = cm.convert_unit(vals_in_T, "T", "Oe", verbose=False)
    >>> vals_in_Oe
    array([     0., 200000., 400000., 600000., 800000.])

Converting between Bohr Magnetons per formula unit and Tesla

This conversion requires additional user input of:

  • the lattice parameters a, b, c and gamma, and

  • the number of formula units per unit cell.

Only orthogonal (cubic, tetragonal and orthorhombic) and hexagonal unit cells can be handled and therefore gamma = 90° or 120°.

As an example of the number of formula units per unit cell, Nd2Fe14B is the formula unit, which has 17 atoms, and the unit cell contains 68 atoms, so in this case there are 4 formula units per unit cell.

After calling "convmag" in the command line, the conversion from muB to T looks like this:

    Input: 2.3 muB/fu T

    ***INFO: muB per formula unit <-> T***

    Please enter lattice parameters: a b c in Angstrom
    a b c: 3.0 3.0 4.0

    Limited to orthogonal or hexagonal unit cells:
    Please enter gamma in deg. (90 or 120): 90
    Please enter the number of formula units per unit cell:
    f.u./unit cell: 2

    2.3 muB per f.u. = 1.48913 T (2 f.u./unit cell, cell volume = 3.600e-29 m^3)

Code Archive and Citation

This code is archived on Zenodo and can be cited using the following doi and associated metadata: DOI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

convmag-0.1.2.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

convmag-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file convmag-0.1.2.tar.gz.

File metadata

  • Download URL: convmag-0.1.2.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for convmag-0.1.2.tar.gz
Algorithm Hash digest
SHA256 592c1b0a8c96cc78c654926fce668bcc85d2fa39a5e311d1232c736cae2256a6
MD5 4f0bd07e0cb7718db205b5b941582bc0
BLAKE2b-256 f1cac8aed19f2eb9f20364ff07122a28bd7e167d82a83f2745d9d976b97beb70

See more details on using hashes here.

File details

Details for the file convmag-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: convmag-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for convmag-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ffb620d9c3c514438b2c19fc59c8b5a4919e051b80a3f77f0459ad7a6b598307
MD5 8776585ea335221d0afd4217e81221c0
BLAKE2b-256 99512d0188da78b763fd87f8f196b5854c6aaa4207c512f271307048e72236df

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page