Some Software developed by the group¶
Tools¶
nbval VALidation of jupyter NoteBooks. Allows to treat documentation or tutorial Notebooks as system tests.
Data Analysis¶
Tools for data analysis at European XFEL (such as extra-data, extra-geom, extra-foam)
COVID data analysis¶
Micromagnetics¶
Ubermag - A Python based domain specific language to express micromagnetic problems, combined with the ability to solve those using OOMMF.
OOMMF Docker images
OOMMF in conda
OOMMF in Spack
OOMMF source in get repository
ovf2vtk - converts OOMMF’s OVF (and OMF) files into VTK files. Useful for (3d) visualisations of fields computed with OOMMF.
ngtoucd converts NetGen mesh files to the UCD format that is read by Magpar.
Oxs_UniaxialAnisotropy4 is an extension of the OOMMF package that provides a fourth order uniaxial anisotropy energy term.
Oxs_CubicAnisotropy8 is an extension of the OOMMF package that provides a sixth and eighth order cubic anisotropy term.
nmag is a micromagnetic simulation package.
ovf2mfm - converts OOMMF’s OVF (and OMF) files into VTK files that show the signal from Magnetic Force Microscopy experiments.
Virtual micromagnetics environments
Scripts to create a virtualmachine tailored to provide ready-installed (public domain) micromagnetic simulation packages.
Mifmaker - create OOMMF MIF configurations files automatically
fidimag - a finite difference micromagnetic tool with Python interface
Jupyter OOMMF - embedding OOMMF in the Jupyter Notebook
(various subprojects at https://github.com/joommf)
Multiphysics simulations¶
nsim is a multiphysics simulation library.
This is part of the Nmag distribution and source code.
dolfin5tools Tools that allow saving and reading multiple timesteps and FEniCS fields (i.e. dolfin function) to a hdf5 file only the dolfin hdf5 commands, thus working in (MPI) parallel runs
Python¶
Delny is a Python package which can be used to make a Delaunay triangulation from a set of n-dimensional points (based on qhull, libqhull).
nbval - plugin for py.test to validate Jupyter Notebooks
Re-executes a stored Jupyter notebook, and compares the computed output with the stored output. Deviations result to failed tests. Regular expressions and customised code to sanitise output before comparison can be provided.
https://github.com/computationalmodelling/nbval
https://github.com/computationalmodelling/nbval/blob/master/documentation.ipynb
plot_vtk_matplotlib - a library to produce high quality 2d vector field representations from 3d vtk files
Polygon-finite-difference-mesh-tools - given a 2d polygon, fill it with rectangles as well as possible. Useful for cell selection in finite difference simulations.
https://github.com/fangohr/polygon-finite-difference-mesh-tools
https://github.com/fangohr/polygon-finite-difference-mesh-tools/blob/master/notebooks/MeshArea.ipynb
Fenics-anisotropic-magneto-resistance - tool that computers the AMR value for a given magnetisation field and applied voltage using FEniCS}. Useful for multi-physics simulations.
https://github.com/fangohr/fenics-anisotropic-magneto-resistance
Utilities¶
Aeon is a Python package to help the routine profiling of whole functions and blocks of code within a simulation software.
Objective Caml (Ocaml)¶
A modified Python interface PyCaml [1]. This has been taken forward in https://github.com/chemoelectric/pycaml (as of 2014)
The Mersenne Twister Random Number Generator for OCaml (mt19937) [1]
nlog. Logging as with the Python logging module for OCaml [1]
https://bitbucket.org/fangohr/nmag-src/src/tip/src/nlog.ml, https://bitbucket.org/fangohr/nmag-src/src/tip/src/nlog.mli
Vortex state (superconductors)¶
vdsim - is the Vortex Dynamics SIMulation package. It can simulate the dynamics of pancake vortices in a superconducting layer, or of stiff (rigid) vortices in a film. Provides arbitrary pinning, thermal fluctations, post processing of data.
http://www.southampton.ac.uk/~fangohr/software/vdsimsoft.html