fangohr / finmag

Finmag source
Other
12 stars 9 forks source link

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

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

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):

Acknowledgements

See also