C++ main module for emicrom Package
1.0
|
ODE Package for E-MicroM contains classes to solve the Landau Lifshitz Systems by ODE integrations as Runge Kutta... More...
ODE Package for E-MicroM contains classes to solve the Landau Lifshitz Systems by ODE integrations as Runge Kutta...
All systems inherit classes from EMM_LandauLifschitzODE which implement the resolution of EMM_LandauLifschitzSystem . All the ODE implemented methods need to compute a new time step by calculating on error on solving . The class EMM_ODETimeStep manages the time step computing. The different implemented integration methods are :
The main method to integrate the Landau-Lifschitz system is EMM_LandauLifschitzODE::solveODE() :
From an initial magnetization field M, an initial time step (where T is the target time and I is the number of steppers) and initial energy it computes:
The computing of the new fields at time EMM_LandauLifschitzODE::computeFieldsAtTime() depends on the evolution scheme:
The computing of the new time step is done by EMM_ODETimeStep::computeNewTimeStep() :
The magnetization field at t+dt is stored within the EMM_ODETimeStep class : EMM_ODETimeStep::getMagnetizationFieldAtTime().
The EMM_ODEClassFactory class manages the creation of the class of the package
The method EMM_ODETest class manages the tests of the package.