Micromagnetics#599
Draft
MSallermann wants to merge 51 commits into
Draft
Conversation
The class does not have any real functionality yet. A corresponding input parser has been added, but the kind and units of input parameters still need to be decided.
Added Constants_Micromagnetic namespace. Also added Joule to other constants namespaces.
This will later be used to change it at runtime, especially enabling one to switch between atomistic and micromagnetic calculations. Also potentially fixed a crashing bug in the copy constructors of Spin_System: the geometry shared pointer of the Hamiltonian was not set correctly on copy.
Also added the ability to switch between Hamiltonians from the GUI.
- the API now allows switching to Hamiltonian_Heisenberg - the GUI was not updating the corresponding tab correctly, potentially leading to crashes - the CUDA backend of Hamiltonian_Micromagnetic can now be compiled
Anisotropy, exchange and DMI. The implementation of the energy calculation is tentative. Also added some logging of micromagnetic input parser.
-fixed anisotropy, exchange DMI - passing skyrmion convergence test now
- moved DDI_Method enum class to Hamiltonian.hpp - added settings for dipolar interactions to micromagnetic Hamiltonian - added some micromagnetic parameters to Hamiltonian API and made some minor improvements - made external field consistent for micromagnetic Hamiltonian
…ian (to match mu_s in atomistic case). Also added cell_volume to Geometry and changed definition of cell_size (from bounds_max - bounds_min to actual cell_size). Now these fields might also have some use in the atomistic case.
added 2 commits
July 1, 2021 12:32
- Implemented E_DDI_Direct - corrected periodic boundary conditions in Gradient_DDI_Direct - fixed set_ddi API function
- Improved implementation of Gradient_Exchange - Implemented Gradient_DMI - Added both to unit test
GPMueller
reviewed
Jul 1, 2021
GPMueller
reviewed
Jul 1, 2021
Comment on lines
+317
to
+328
| **Units:** | ||
|
|
||
| In the micromagnetic model, Spirit uses SI units: | ||
| - `m` (meter) for distances | ||
| - `J` (Joule) for energies | ||
| - `s` (second) for time | ||
|
|
||
| Therefore, | ||
| - `A [J/m]` for exchange stiffness | ||
| - `D [J/m^2]` for DMI | ||
| - `K [J/m^3]` for anisotropy | ||
| - `Ms [A/m]` for saturation magnetisation |
Member
There was a problem hiding this comment.
Maybe we should add a section like this to the Heisenberg Hamiltonian documentation. IMO it it is quite useful to have this overview in the beginning
5 tasks
GPMueller
reviewed
Sep 8, 2021
212372f to
f49c114
Compare
d39af2f to
3adf06a
Compare
3adf06a to
9093d65
Compare
- fix a small copy/paste bug and formatting in Demagnetization_Tensor.hpp - configparser formatting - specify units in comments of `mu_s` API
63fbd74 to
2edff73
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the micromagnetic Hamiltonian.
Todo: