|
1 |
| -FIDIMAG |
2 |
| -======= |
| 1 | +# Fidimag |
| 2 | + |
3 | 3 |
|
4 | 4 | [](https://mybinder.org/v2/gh/computationalmodelling/fidimag/master)
|
5 | 5 | [](https://travis-ci.org/computationalmodelling/fidimag)
|
6 | 6 | [](http://fidimag.readthedocs.org/en/latest/?badge=latest)
|
7 | 7 | [](https://codecov.io/gh/computationalmodelling/fidimag)
|
8 | 8 | [](https://doi.org/10.5281/zenodo.167858)
|
9 |
| - |
10 |
| -FIDIMAG - a FInite DIfference microMAGnetic simulation environment |
11 |
| - |
12 |
| -Fidimag solves finite-difference micromagnetic problems and |
13 |
| -supports atomistic simulations, using Python interface. |
14 |
| - |
15 |
| -The webpage of the project is http://computationalmodelling.github.io/fidimag/ |
16 |
| - |
17 |
| -The GitHub page of the project is https://github.com/computationalmodelling/fidimag |
18 |
| - |
19 |
| -The documentation is available at http://fidimag.readthedocs.io/en/latest/?badge=latest. Within the documentation are details on how to install Fidimag, and some example simulations are provided. |
20 |
| - |
21 |
| -Various options of installation are described in the documentation, mostly by compiling from source. If you decide to install from source, you will need to add the path to this file is in to your $PYTHONPATH. Check the [documentation](http://fidimag.readthedocs.org) for more |
22 |
| -detailed installation help. The Virtual Micromagnetics project at http://virtualmicromagnetics.org provides virtual machines and Docker containers in which Fidimag can be executed. |
23 |
| - |
| 9 | +[](http://computationalmodelling.github.io/fidimag/) |
| 10 | + |
| 11 | +<img src="http://computationalmodelling.github.io/fidimag/figs/skyrmion.jpg" alt="Fidimag Image" width="400" align="right"> |
| 12 | + |
| 13 | +Fidimag solves finite-difference micromagnetic problems and supports atomistic simulations, using Python interface. The interface to both types of simulation is similar. |
| 14 | + |
| 15 | +### Features |
| 16 | +* Offers LLG and LLG with spin torque terms (Zhang-Li and Sloncewski) |
| 17 | +* Calculations using the Nudged-Elastic-Band method to compute energy barriers. |
| 18 | +* Exchange, Zeeman, Demagnetising, Uniaxial Anisotropy energy classes. |
| 19 | +* Parallelised using OpenMP. |
| 20 | +* Easily extensible to add new features. |
| 21 | +* Cubic and Hexagonal Meshes in atomistic simulations. |
| 22 | +* Open-source under the 2-clause BSD Licence. |
| 23 | + |
| 24 | +### Example |
| 25 | +Here we show how to relax a nanodisk system from an initial state. We have many more examples in the [documentation](http://fidimag.readthedocs.io/en/latest/?badge=latest)! |
| 26 | + |
| 27 | +```python |
| 28 | +import fidimag |
| 29 | +from fidimag.common import CuboidMesh |
| 30 | +from fidimag.micro import Sim, UniformExchange, Demag, DMI, UniaxialAnisotropy |
| 31 | +mesh = CuboidMesh(nx=60, ny=60, nz=1, dx=2.0, dy=2.0, dz=2.0, unit_length=1e-9) |
| 32 | + |
| 33 | +def Ms_init(position): |
| 34 | + """ |
| 35 | + Set where the system has magnetic material |
| 36 | + Form a nanodisk shape |
| 37 | + """ |
| 38 | + Ms = 8.6e5 |
| 39 | + x, y, z = position |
| 40 | + if (x - 60)**2 + (y - 60)**2 < 60**2: |
| 41 | + return Ms |
| 42 | + else: |
| 43 | + return 0 |
| 44 | + |
| 45 | +def m_init(position): |
| 46 | + """ |
| 47 | + Approximate skyrmion profile |
| 48 | + """ |
| 49 | + x, y, z = position |
| 50 | + if (x - 60)**2 + (y - 60)**2 < 40**2: |
| 51 | + return (0, 0, 1) |
| 52 | + else: |
| 53 | + return (0, 0, -1) |
| 54 | + |
| 55 | +sim = Sim(mesh, name='target_skyrmion') |
| 56 | +sim.set_Ms(Ms_init) |
| 57 | +sim.set_m(m_init) |
| 58 | +sim.add(Demag()) |
| 59 | +sim.add(UniformExchange(A=1e-11)) |
| 60 | +sim.add(DMI(D=3e-3)) |
| 61 | +sim.add(UniaxialAnisotropy(Ku=4e5, axis=(0, 0, 1))) |
| 62 | +sim.relax() |
| 63 | +sim.save_vtk() |
| 64 | +``` |
| 65 | +The results can be straightforwardly visualised from the outputted VTK files using programs such as Paraview: |
| 66 | +<p align="center"> |
| 67 | +<img src="http://computationalmodelling.github.io/fidimag/figs/target.png" alt="Target Skyrmion State" width="250"> |
| 68 | +</p> |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | +### Attributions |
24 | 74 | The code is developed by Weiwei Wang, Marc-Antonio Bisotti, David Cortes, Thomas Kluyver, Mark Vousden, Ryan Pepper, Oliver Laslett, Rebecca Carey, and Hans Fangohr at the University of Southampton.
|
25 | 75 |
|
26 | 76 | This is an early experimental version; contributions and pull requests to both the code and documentation are welcome.
|
| 77 | +If you use Fidimag, please cite as: |
| 78 | + |
| 79 | +David Cortés-Ortuño, Weiwei Wang, Ryan Pepper, Marc-Antonio Bisotti, Thomas Kluyver, Mark Vousden, & Hans Fangohr. (2016). Fidimag v2.0 [Data set]. Zenodo. http://doi.org/10.5281/zenodo.167858A bib file is provided in the repository. |
27 | 80 |
|
28 |
| -# How to cite Fidimag |
| 81 | +### Publications |
29 | 82 |
|
30 |
| -David Cortés-Ortuño, Weiwei Wang, Ryan Pepper, Marc-Antonio Bisotti, Thomas Kluyver, Mark Vousden, & Hans Fangohr. (2016). Fidimag v2.0 [Data set]. Zenodo. http://doi.org/10.5281/zenodo.167858 |
| 83 | +The following publications, in reverse chronological order, have used Fidimag: |
31 | 84 |
|
32 |
| -BibTeX: |
| 85 | +[1] [Thermal stability and topological protection of skyrmions in nanotracks](https://www.nature.com/articles/s41598-017-03391-8), D. Cortés-Ortuño, W. Wang, M. Beg, R.A. Pepper, M-A. Bisotti, R. Carey, M. Vousden, T. Kluyver, O. Hovorka & H. Fangohr, Scientific Reports 7, 4060 (2017) |
33 | 86 |
|
34 |
| -<pre> |
35 |
| -@misc{htt​ps://doi.org/10.5281/zenodo.167858, |
36 |
| - doi = {10.5281/zenodo.167858}, |
37 |
| - url = {ht​tps://doi.org/10.5281/zenodo.167858}, |
38 |
| - author = {David Cort{\'e}s-Ortu{\~n}o and Weiwei Wang and Ryan Pepper and Marc-Antonio Bisotti and |
39 |
| - Thomas Kluyver and Mark Vousden and Hans Fangohr}, |
40 |
| - publisher = {Zenodo}, |
41 |
| - title = {Fidimag V2.0}, |
42 |
| - year = {2016} |
43 |
| -} |
44 |
| -</pre> |
| 87 | +[2] [Current-induced instability of domain walls in cylindrical nanowires](http://iopscience.iop.org/article/10.1088/1361-648X/aa9698/meta), W. Wang, Z. Zhang, R.A. Pepper, C. Mu, Y. Zhou & Hans Fangohr, Journal of Physics: Condensed Matter, 30, 1 (2017) |
45 | 88 |
|
46 |
| -# Acknowledgements |
| 89 | +[3] [Magnonic analog of relativistic Zitterbewegung in an antiferromagnetic spin chain](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.96.024430), W. Wang, C. Gu, Y. Zhou & H. Fangohr, Phys. Rev. B 96 (2017) |
47 | 90 |
|
48 |
| -We acknowledge financial support from |
| 91 | +[4] [Magnon-Driven Domain-Wall Motion with the Dzyaloshinskii-Moriya Interaction](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.114.087203) W. Wang, M. Albert, M. Beg, M-A. Bisotti, D. Chernyshenko, D. Cortés-Ortuño, I. Hawke & H. Fangohr, Phys. Rev. Lett. 114, 087203 (2015) |
49 | 92 |
|
50 |
| -- EPSRC’s Centre for Doctoral Training in Next Generation |
51 |
| - Computational Modelling, (EP/L015382/1) |
52 |
| - |
53 |
| -- EPSRC’s Doctoral Training Centre in Complex System Simulation |
54 |
| - (EP/G03690X/1) |
| 93 | +### Acknowledgements |
| 94 | +We acknowledge financial support from EPSRC’s Centre for Doctoral Training in Next Generation Computational Modelling (EP/L015382/1) and EPSRC’s Doctoral Training Centre in Complex System Simulation (EP/G03690X/1) |
0 commit comments