Skip to content

Classes refactoring

Compare
Choose a tag to compare
@davidcortesortuno davidcortesortuno released this 21 Nov 16:27
· 678 commits to master since this release

This new 2.0 release comes with a major refactoring of the old Sim and llg classes. Now Sim is properly used as a class to keep most of the simulation and material parameters. The integrators no longer derive from the llg class but from a new driver class. In the common folder we moved to different _base classes, common methods for both atomistic and micromagnetic simulations, avoiding code repetition. Most of the methods have also been documented. Regarding the driver classes, it now stores all of the LLG related parameters (alpha, gama, etc).

This version also integrates the new NEBM code that uses Geodesic distances.

There are still things that need to be improved:

  • Functions like saving VTKs should be in a separated library rather than in the driver class
  • Better and updated documentation for the new classes and Fidimag structure
  • A plan to easily allow new integrators to be added to the code
  • Revision/test of the stochastic methods
  • Merge integrators into a common class since the main difference between the atomistic and micromagnetic codes comes from the field classes