Skip to main content

Functionality for handling magnetometry data of permanent magnets.

Project description

magmeas

Python module enabling the import and handling of VSM-data acquired on a Quantum Design PPMS/DynaCool/Versalab measurement system.

Description Badge
Tests Test package
Releases PyPI version
License License
DOI DOI

Installation

Just install from PyPI:

pip install magmeas

Usage

Input file formatting

For conveniently importing automatically, make sure that the necessary sample properties are given in the .DAT file. The formatting is as follows:

INFO,m,SAMPLE_MASS
INFO,(a, b, c),SAMPLE_SIZE

With m being the sample mass in mg, a and b being the sample dimensions perpendicular to the magnetization axis and c being the sample dimension parallel to the magnetization axis. So far only cuboid samples are supported and the density is assumed to be m / (a * b * c)

Python

There are four distinct classes that conveniently handle specific types of measurement data:

  • VSM: general for all types of VSM measurements
  • MH: for all M(H) measurements, still quite unspecific
  • MH_major: for major hysteresis loop measurements
  • MT: for M(T) measurements

Here is what each of them do at initialisation or automatically with a method:

VSM MH MH_major MT
import measurement data from Quantum Design .DAT file
export measurement data to csv/yml/hdf5
plotting
calculate properties ✅ $H_c$, $M_r$, $BH_{max}$, $H_k$, S, $M_s$ (optional) ✅ $T_c$
export properties to csv/yml/hdf5

Experimental support for Recoil-loop- and FORC-measurements is also provided in their respective classes. All classes inherit from the EntityCollection class in mammos-entity, using its io functionality. In doing so, they can conveniently be added to a new EntityCollection with magmeas.to_batch, benefitting from the nested structure in these objects even for data export. Plotting of the above highlighted classes is very flexible. Common keyword arguments used in matplotlibs functions can be used. VSM-derived objects can either be plotted to pre-existing matplotlib figures and axes, or they dynamically generate new ones and return them for subsequent formatting.

Documentation is mainly available in the form of detailed docstrings. Just use dir(magmeas) and help(magmeas.VSM) or similar to get more information.

Requires Python >= 3.11 due to dependencies

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

magmeas-0.5.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

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

magmeas-0.5.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file magmeas-0.5.0.tar.gz.

File metadata

  • Download URL: magmeas-0.5.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for magmeas-0.5.0.tar.gz
Algorithm Hash digest
SHA256 686979ad814bc23e275249fb2d940d5d27e52ca9890f66e3d1b566df23fec71f
MD5 ace117f25eec6aa8a2caca64ee227f1f
BLAKE2b-256 a96f188d262775b99e0b06b7d58b37b00919c7607d2b75feb4086dea2a69b525

See more details on using hashes here.

File details

Details for the file magmeas-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: magmeas-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for magmeas-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 acaec13e37727fdcd21c56a2e8c089eb4f7f911ee7542a830f0568925c72f500
MD5 7408a1b7981e170a15eaba377ce3bd59
BLAKE2b-256 4c026f389b932f7ad2d70fa0aeb377ab13157912a4cce8c66ddd69413042ae08

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