Changelog#
The format follows Keep a Changelog. Versions follow semantic versioning, the metapackage version is updated according to the largest bump of any of the dependent packages.
0.12.1 – 2026-03-10#
Changed#
0.12.0 – 2026-03-06#
Added#
mammos-dftAdded material Y2Ti4Fe18 to database. (PR56)
mammos-entityNow
Entityinstances have adescriptionattribute, containing a string with user-defined information (empty by default). (PR102)EntityCollectioninstances have adescriptionattribute, containing a string with user-defined information (empty by default). (PR103)Added i/o functionalities to preserve
descriptionattribute forEntityandEntityCollectioninstances. This results in an extra metadata line (in csv format v3) or key (in yaml format v2) for files. Furthermore, in csv format v3 ontology and unit information are no longer commented. (PR105)Added function
mammos_entity.search_labelsto search for matches in the ontology to a specific label. (PR117)New methods
EntityCollection.metadatato extract metadata for all entities in a collection (as dictionary) andEntityCollection.from_dataframeto convert apandas.DataFrame+ metadata dictionary into anEntityCollection. (PR123)Dictionary-like interface for
EntityCollection: support for element access with["name"]notation, iterating over entities in collection and member-checks within. (PR130)Added functions to create anisotropy constants
mammos_entity.K1,mammos_entity.K2. (PR141)Support for reading and writing HDF5 files. (PR147)
A new property
Entity.ontology_irithat returns the IRI of the corresponding element in the ontology. (PR161)Mammos yaml v2: description is now a top-level key; non-entity elements in a collection no longer have keys with null values (ontology_label, ontology_iri, descripiton, [unit]) in the yaml representation. (PR173)
Mammos yaml v2: support for nested entity collections. (PR174)
Mammos yaml v2: empty entity collections can not be saved to yaml (empty nested collections are allowed). (PR176)
Changed#
mammos-entityClass
EntityCollectioncan now be accessed withmammos_entity.EntityCollection. Operations are moved into themammos_entity.operationssubmodules and are no longer accessible from themammos_entitynamespace. (Internally, some private submodules were renamed:_base->_entity,_entities->_factory, and_onto->_ontology. The code forEntityCollectionhas been moved tomammos_entity._entity_collection.) (PR115)The method
to_dataframeof classEntityCollectionnow has default valueinclude_units=False. (PR116)Definition and methods of
Entitynow rely on a list of set equivalencies, calledmammos_equivalencies. For the moment, they only include equivalencies between different temperature units. (PR118)The API for writing and reading files has been changed in a backward incompatible way. Writing is now done via methods
EntityCollection.to_csv,EntityCollection.to_hdf5andEntityCollection.to_yaml. Reading with the functionsmammos_entity.from_csv,mammos_entity.from_hdf5, andmammos_entity.from_yaml. Theiosubmodule has been removed. (PR154)Saving an empty EntityCollection to csv is no longer allowed. (PR160)
All elements in an EntityCollection must have names of type str. (PR172)
Updated versions of shipped ontologies: Magnetic Materials domain Ontology (MagMO) to 0.0.4, EMMO to 1.0.3. (PR177)
mammos-spindynamicsChanged unit for spontaneous magnetization entities from
A/mtokA/m. (PR68)
Removed#
Fixed#
mammos-analysisChanged
SpontaneousMagnetizationtoMagnetizationwhere relevant. ChangedMstoMwhere relevant. (PR69)
mammos-entityConversion to dataframe failed for entity collections containing only scalar entities. (PR157)
Conversion of nested entity collection to dataframe is now prohibited. Before, the elements of the inner collection were added as dataframe rows. (PR158)
Fixed unit definition logic after update to MagMO 0.0.4. If the user provides a unit, it is accepted if it is equivalent to any of the ontology defined units. (PR169)
Creating entities with secondary labels will from now on produce entities with the
prefLabelas theirontology_label. (PR170)
mammos-mumagChanged
SpontaneousMagnetizationtoMagnetizationwhen relevant. (PR121)Fixed logic of downloading meshes from Zenodo: if HTTP return code is not 200 (everything OK), fallback on Keeper and download mesh from there. (PR103)
Fixed and better documented mesh initialization logic. First meshes are searched locally, interpreting the mesh name as its path. If they are not found, the mesh name is looked up in the Zenodo record. (PR106)
Fixed bug in code, where parameters
sizeandscalewere not actually read. (PR113)Fixed typo in documentation. (PR128)
Misc#
mammos-dftAdded source in the database of all calculations. (PR46)
mammos-entityUse of
csvPython module for i/o in csv format. (PR104)IRI is not checked for consistency when reading a file anymore. (PR187)
Changed selection process of ontology label in the initialization of an Entity. First, the given label is matched for
prefLabelin the ontology. If no match is found, the given label is matched for all alternative labels. If any of the previous steps finds more than one match, an error is raised. If no matches are found after the previous steps, an error is raised. (PR191)An internal helper function to convert an entity-like to the desired entity. (PR201)
mammos-mumagRemoved debugging messages generated in the conjugate gradient optimization during the hysteresis loop. (PR118)
0.11.2 – 2025-12-22#
Added#
mammos-analysisextract_BHmax: calculate BHmax based on M, H and demagnization_coefficient. This replacesextract_maximum_energy_product()which has the same purpose but a different user interface. (PR53)
Removed#
mammos-anylisextract_maximum_energy_product(). Useextract_BHmaxinstead. (PR53)
Misc#
mammosUpdated hard magnetic AI surrogate model notebook (PR65), after upgrade of mammos-analysis to version 0.4.0
0.11.1 – 2025-12-18#
Added#
Fixed#
0.11.0 – 2025-12-17#
Added#
Changed#
0.10.0 – 2025-12-15#
Added#
mammos-dftA new function
mammos_dft.db.get_uppasd_properties()to get inputs required for UppASD from the database. (PR41)
0.9.1 – 2025-12-12#
Fixed#
0.9.0 – 2025-12-11#
New package mammos-ai added.
Added#
0.8.2 – 2025-12-10#
Misc#
0.8.1 – 2025-12-03#
Misc#
0.8.0 – 2025-11-27#
Added#
mammos-analysisAdded celsius=True option in the plot methods for the
mammos_analysis.kuzminmodule to generate plots in degree Celsius. (PR40)
mammos-mumagAdded tesla=True option in the plot method of
mammos_mumag.hysteresis.Resultto generate the hysteresis loop in Tesla units. (PR87)
Changed#
mammos_entityImproved /examples/mammos-entity/io notebook. Use cases for working with
EntityCollectionobjects are added. (PR83)
Misc#
mammos-entityFix dependencies: remove upper limit for emmontopy and add pandas>2. (PR93)
0.7.0 – 2025-11-05#
Added#
mammos-mumagTwo new notebooks Hysteresis loop simulation and Additional functionality available with mammos_mumag documenting additional functionality of
mammos-mumag. (PR42)Create cli command
unv2flyto convert unv mesh to fly format. (PR61)Added notebook Using Tesla for information on how to set up a workflow in Tesla. (PR68)
Added possibility to install GPU support (both CUDA and ROCm) with
pipvia the extra dependencies. (PR81)
Fixed#
mammos-analysisThe function
mammos_analysis.kuzmin.kuzmin_properties()will not assume the magnetization input is inA/m. If the input is in a unit not convertible toA/m(e.g., Tesla), an error is raised. (PR31)
mammos-mumagFixed default
outdirinput in two functions inmammos_mumag.simulation. (PR69)
Changed#
mammos-mumagNow
mammos_mumag.hysteresis.run()can be used to execute simulations with multigrain materials. (PR46)Implement automatic retries to download meshes if the requests fail. The requests will try three times in total, with a backoff factor of 0.1. (PR70)
Documentation is updated. Parameters have been formatted to snake case when possible. The names
h_start,h_final,h_step,n_h_steps,m_step,m_final, andtol_h_mag_factortake the place ofhstart,hfinal,hstep,nhsteps,mstep,mfinal, andtol_hmag_factor. Whenever possible, reasonable entities have been defined. The unused variablesiter_max,tol_u, andverbosehave been removed. Warning: this PR causes failure in previously defined workflows if the variables were defined by the user. (PR71)
Misc#
mammos-mumagAdded Hysteresis loop simulation to document full functionality of
mammos_mumagwhen running a hysteresis loop simulation. Additionally, show the functionality of the package irrelevant to an average user in Additional functionality available with mammos_mumag. (PR42)
0.6.0 – 2025-08-13#
Added#
mammos-entityCSV files written with
mammos_entity.iocan now optionally contain a description. (PR52)Support for YAML as additional file format in
mammos_entity.io. (PR59, PR69, PR70)Two new functions
mammos_entity.io.entities_to_file()andmammos_entity.io.entities_from_file()to write and read entity files. The file type is inferred from the file extension. (PR57)A function
mammos_entity.operations.concat_flat()to concatenate compatible entities, quantities and array-likes into a single entity. (PR56)
mammos-mumagAdd function
mammos_mumag.hysteresis.read_result()to read the result of a hysteresis loop from a folder (without running the hysteresis calculation again). (PR48)Implement
mammos_mumag.mesh.Meshclass that can read and display information of local meshes, meshes on Zenodo and meshes given by the user. (PR53)
Changed#
mammos-analysisThe Kuz’min formula to evaluate micromagnetic properties can now accept Curie Temperature Tc and spontaneous magnetisation at zero temperature Ms_0 as optional inputs. If given, they are not optimised by fitting the magnetisation curve. (PR12)
The initial guess for the optimization of the Curie Temperature in Kuz’min formula is set to a much lower temperature (depending on the data). (PR18)
mammos-entityWhen reading files with
mammos_entity.ioIRIs are now checked in addition to ontology labels and file reading fails if there is a mismatch between IRI and ontology label. (PR68)
mammos-mumagChanged the output of the hysteresis loop in compliance with
mammos_entity.iov2. (PR54)
Deprecated#
mammos-entityThe functions
mammos.entity.io.entities_to_csvandmammos_entity.io.entities_from_csvhave been deprecated. Usemammos_entity.io.entities_to_file()andmammos_entity.io.entities_from_file()instead. (PR58)
Fixed#
mammos-entitymammos-dftUpdate attribute name of uniaxial anisotropy constant to Ku_0 from K1_0 for the returned MicromagneticProperties object during a database lookup. (PR19)
mammos-mumagFixed the default values of the
MaterialDomainclass. (PR41)
0.5.0 – 2025-07-11#
Added#
Fixed#
0.4.0 – 2025-06-27#
Changed#
mammos-entityThe
Entityclass is no longer a subclass ofmammos_units.Quantity. As a consequence it does no longer support mathematical operations. Use the attribute.quantity(or the short-hand.q) to access the underlying quantity and to perform (mathematical) operations. (PR28)The package now comes with a bundled ontology consisting of EMMO (version 1.0.0-rc3) and Magnetic Material (version 0.0.3). Internet access is no longer required. (PR33)
mammosUse Fe16N2 instead of Nd2Fe14B in hard magnet workflow. (PR17)
0.3.0 – 2025-06-11#
Added#
mammos-entityNew predefined entity
mammos_entity.JNew predefined entity
mammos_entity.Js
mammos-mumagOptional argument
plotterinplot_configurationto add a vector plot of a magnetization configuration to apyvista.Plotterprovided by the caller.
Changed#
mammos-entityReturn a
mammos_units.UnitConversionError(inherited fromastropy.units) when trying initialize an entity with incompatible units.
0.2.0 – 2025-06-06#
Added#
mammosCommand-line script
mammos-fetch-examplesto download all example notebooks.
mammos-entityEntity objects have
ontology_label_with_iriattribute.
Changed#
mammos-entityWhen trying to initialize an entity with a wrong unit the error message does now show the required unit defined in the ontology.
Fixed#
mammos-entityEntity.todid not return a new entity in the requested units and instead used the default entity units.Entity.axis_label: unit inside parentheses instead of brackets.
0.1.0 – 2025-06-05#
Added#
mammos– 0.1.0Workflows for hard magnets and sensor shape optimization.
Ensures compatible software components are installed.
mammos-analysis– 0.1.0Calculation of macroscopic properties (Mr, Hc, BHmax) from a hysteresis loop.
Fitting of the linear segment of a hysteresis loop.
Calculation of temperature-dependent micromagnetic properties from atomistic spin dynamics simulations using Kuz’min equations.
mammos-dft– 0.3.0Database lookup functionality for a selection of pre-computed materials.
mammos-entity– 0.5.0Provides entities: quantities with links to the MaMMoS ontology (based on EMMO) by combining
mammos-unitsand EMMOntoPy.Helper functions to simplify creation of commonly required magnetic entities.
mammos-mumag– 0.6.0Finite-element hysteresis loop calculations.
Requires a separate installation of esys-escript.
mammos-spindynamics– 0.2.0Database lookup functionality for a selection of pre-computed materials.
mammos-units– 0.3.1Extension of astropy.units that allows working with quantities (units with values) containing additional units relevant for magnetism.