Skip to content

whshangl/finmag

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinMag: finite-element micromagnetic simulation tool

Marc-Antonio Bisotti1, Marijan Beg1,2, Weiwei Wang1, Maximilian Albert1, Dmitri Chernyshenko1, David Cortés-Ortuño1, Ryan A. Pepper1, Mark Vousden1, Rebecca Carey1, Hagen Fuchs3, Anders Johansen1, Gabriel Balaban1, Leoni Breth1, Thomas Kluyver1,2, and Hans Fangohr1,2,4

1 Faculty of Engineering and the Environment, University of Southampton, Southampton SO17 1BJ, United Kingdom
2 European XFEL GmbH, Holzkoppel 4, 22869 Schenefeld, Germany
3 Helmholtz-Zentrum Dresden-Rossendorf, Bautzner Landstraße 400, 01328 Dresden, Germany
4 Max Planck Institute for the Structure and Dynamics of Matter, Luruper Chaussee 149, 22761 Hamburg, Germany

Description Badge
Tests workflow
docker-image
Binder Binder
License License
DockerHub DockerHub
DOI DOI

About

  • Finmag was intended to be a thin (and mostly) Python layer on top of FEniCS to enable Python-scripted multi-physics micromagnetic simulations. Accordingly, the name FINmag originates from the dolFIN interface to FEniCS. Some compiled code moved into the project.

  • The code has been developed from 2011 to 2018 by Hans Fangohr's group at the University of Southampton (UK) and European XFEL GmbH (Germany).

  • The GitHub page of the project with the most recent version is https://github.com/fangohr/finmag.

  • This is a working prototype which is not polished, with some (in large parts outdated) attempts at documentation. There is also some outdated code in the repository.

  • We do not consider the codebase, documentation, and other content of sufficient quality to encourage uptake in the community. (Experts are welcome!) This is primarily a resource problem.

  • Does not execute efficiently in parallel (time integration is serial).

  • There is no support available.

  • Contributions and pull requests to both the code and documentation are welcome, but no promise can be made that these will be reviewed and/or integrated.

  • The code has been used for a number of scientific studies and publications (see the Publications section).

  • The repository may well be of historical value and probably captures some of the typical research software engineering challenges. (We should write up a summary of our gathered experiences.)

  • There has not been dedicated funding to support the software development.

Installation / Using the tool via Docker

There is a dedicated organisation on DockerHub named finmag. We provide pre-built images in the finmag/finmag repository. More information about Docker, as well as on how to install it on your system, can be found here.

Getting the image

The easiest way to get the most recent image is by pulling it from the DockerHub finmag/finmag repository

$ docker pull finmag/finmag:latest

Alternatively, you can navigate to install/docker/latest and run make pull. You can also build it on your own machine by navigating to install/docker/latest, and running

$ make build

Testing

After you pulled/built the finmag/finmag image, you can test it with

$ docker run -ti -w="/finmag" --rm finmag/finmag bash -c "py.test -v"

or by running make test in install/docker/latest directory.

Running the container

To run your Finmag code inside Docker, please navigate to the directory where your my-finmag-script.py file is (cd path/to/your/file) and run

$ docker run -ti -v $(pwd):/io --rm finmag/finmag bash -c "python my-finmag-script.py"

If you want to run code interactively inside the container, then you can start with

$ docker run -ti -v $(pwd):/io --rm finmag/finmag

Finmag dependencies container

Docker image which contains all of the dependencies necessary to run finmag is hosted on DockerHub as finmag/finmag:dependencies. Similar to previous sections, if you navigate to install/docker/dependencies, you can run make pull, make run, etc.

Installing on host

More detailed comments on the installation of finmag on a host machine are in install/README.md.

Binder

If you want to try using Finmag in the cloud you can do it on Binder. This does not require you to have anything installed and no files will be created on your machine. You only need a web browser.

Documentation

The documentation in the form of Jupyter notebooks is available in doc/ipython_notebooks_src directory. Large parts of documentation are currently outdated.

How to cite

If you use Finmag in your research, please cite it as

  • Marc-Antonio Bisotti, Marijan Beg, Weiwei Wang, Maximilian Albert, Dmitri Chernyshenko, David Cortés-Ortuño, Ryan A. Pepper, Mark Vousden, Rebecca Carey, Hagen Fuchs, Anders Johansen, Gabriel Balaban, Leoni Breth, Thomas Kluyver, and Hans Fangohr. FinMag: finite-element micromagnetic simulation tool (Version 0.1). Zenodo. DOI: http://doi.org/10.5281/zenodo.1216011

License

Finmag is licensed under the BSD 3-Clause "New" or "Revised" License. For details, please refer to the LICENSE file. However, portions of the source code (e.g. src/util/numpy.h) are subject to the Boost Software License.

Support

We do not provide support for Finmag. However, you are welcome to raise an issue in the GitHub fangohr/finmag repository, but no promise can be made that the issue will be addressed.

Publications

Finmag was used to run micromagnetic simulations in the following publications (in reversed chronological order):

  • M. Beg, R. A. Pepper, D. Cortés-Ortuño, B. Atie, M. A. Bisotti, G. Downing, T. Kluyver, O. Hovorka, H. Fangohr. Stable and manipulable Bloch point. Scientific Reports 9, 7959 (2019). (arXiv:1808.10772)

  • R. A. Pepper, M. Beg, D. Cortés-Ortuño, T. Kluyver, M.-A. Bisotti, R. Carey, M. Vousden, M. Albert, W. Wang, O. Hovorka, and H. Fangohr. Skyrmion states in thin confined polygonal nanostructures. Journal of Applied Physics 9, 093903 (2018). (arXiv:1801.03275)

  • D. Cortés-Ortuño, W. Wang, M. Beg, R. A. Pepper, M.-A. Bisotti, R. Carey, M. Vousden, T. Kluyver, O. Hovorka, and H. Fangohr. Thermal stability and topological protection of skyrmions in nanotracks. Scientific Reports 7, 4061 (2017). (arXiv:1611.07079)

  • M. Beg, M. Albert, M.-A. Bisotti, D. Cortés-Ortuño, W. Wang, R. Carey, M. Vousden, O. Hovorka, C. Ciccarelli, C. S. Spencer, C. H. Marrows, and H. Fangohr. Dynamics of skyrmionic states in confined helimagnetic nanostructures. Physical Review B 95, 014433 (2017). (arXiv:1604.08347)

  • A. Baker, M. Beg, G. Ashton, M. Albert, D. Chernyshenko, W. Wang, S. Zhang, M.-A. Bisotti, M. Franchin, C. Lian Hu, R. L. Stamps, T. Hesjedal, and H. Fangohr. Proposal of a micromagnetic standard problem for ferromagnetic resonance simulations. Journal of Magnetism and Magnetic Materials 421, 428-439 (2017). (arXiv:1603.05419)

  • P. J. Metaxas, M. Albert, S. Lequeux, V. Cros, J. Grollier, P. Bortolotti, A. Anane, and H. Fangohr. Resonant translational, breathing, and twisting modes of transverse magnetic domain walls pinned at notches. Phys. Rev. B 93, 054414 (2016).

  • J. P. Fried, H. Fangohr, M. Kostylev, and P. J. Metaxas. Exchange-mediated, nonlinear, out-of-plane magnetic field dependence of the ferromagnetic vortex gyrotropic mode frequency driven by core deformation. Phys. Rev. B 94, 224407 (2016).

  • R. Carey, M. Beg, M. Albert, M.-A. Bisotti, D. Cortés-Ortuño, M. Vousden, W. Wang, O. Hovorka, and H. Fangohr. Hysteresis of nanocylinders with Dzyaloshinskii-Moriya interaction. Applied Physics Letters 109, 122401 (2016). (arXiv:1606.05181)

  • M. Sushruth, J. Ding, J. Duczynski, R. C. Woodward, R. A. Begley, H. Fangohr, R. O. Fuller, A. O. Adeyeye, M. Kostylev, and P. J. Metaxas. Resonance-Based Detection of Magnetic Nanoparticles and Microbeads Using Nanopatterned Ferromagnets. Phys. Rev. Applied 6, 044005 (2016).

  • M. Albert, M. Beg, D. Chernyshenko, M.-A. Bisotti, R. L. Carey, H. Fangohr, and P. J. Metaxas. Frequency-based nanoparticle sensing over large field ranges using the ferromagnetic resonances of a magnetic nanodisc. Nanotechnology 27, 455502 (2016). (arXiv:1604.07277)

  • M. Vousden, M. Albert, M. Beg, M.-A. Bisotti, R. Carey, D. Chernyshenko, D. Cortés-Ortuño, W. Wang, O. Hovorka, C. H. Marrows, and H. Fangohr. Skyrmions in thin films with easy-plane magnetocrystalline anisotropy. Applied Physics Letters 108, 132406 (2016). (arXiv:1602.02064)

  • J. P. Fried and P. J. Metaxas. Localized magnetic fields enhance the field sensitivity of the gyrotropic resonance frequency of a magnetic vortex. Phys. Rev. B 93, 064422 (2016).

  • M. Beg, R. Carey, W. Wang, D. Cortés-Ortuño, M. Vousden, M.-A. Bisotti, M. Albert, D. Chernyshenko, O. Hovorka, R. L. Stamps, and H. Fangohr. Ground state search, hysteretic behaviour, and reversal mechanism of skyrmionic textures in confined helimagnetic nanostructures. Scientific Reports 5, 17137 (2015). (arXiv:1312.7665)

  • P. J. Metaxas, M. Sushruth, R. A. Begley, J. Ding, R. C. Woodward, I. S. Maksymov, M. Albert, W. Wang, H. Fangohr, A. O. Adeyeye, and M. Kostylev. Sensing magnetic nanoparticles using nano-confined ferromagnetic resonances in a magnonic crystal. Appl. Phys. Lett. 106, 232406 (2015).

  • W. Wang, M. Albert, M. Beg, M.-A. Bisotti, D. Chernyshenko, D. Cortés-Ortuño, I. Hawke, and H. Fangohr. Magnon driven domain wall motion with Dzyaloshinskii-Moriya interaction. Physical Review Letters 114, 087203 (2015). (arXiv:1406.5997)

  • W. Wang, M. Beg, B. Zhang, W. Kuch, and H. Fangohr. Driving magnetic skyrmions with microwave fields. Physical Review B (Rapid Communications) 92, 020403 (2015). (arXiv:1505.00445)

  • W. Wang, M. Dvornik, M.-A. Bisotti, D. Chernyshenko, M. Beg, M. Albert, A. Vansteenkiste, B. V. Waeyenberge, A. N. Kuchko, V. V. Kruglyak, and H. Fangohr. Phenomenological description of the nonlocal magnetization relaxation in magnonics, spintronics, and domain-wall dynamics. Physical Review B 92, 054430 (2015). (arXiv:1508.01478)

  • B. Zhang, W. Wang, M. Beg, H. Fangohr, and W. Kuch. Microwave-induced dynamic switching of magnetic skyrmion cores in nanodots. Applied Physics Letters 106, 102401 (2015). (arXiv:1503.02869)

Acknowledgements

See also

  • Fidimag: finite-difference micromagnetic simulation tool

Packages

No packages published

Languages

  • Jupyter Notebook 47.6%
  • Python 42.7%
  • C++ 4.2%
  • C 3.6%
  • Shell 0.9%
  • Makefile 0.5%
  • Other 0.5%