C++ main module for emicrom Package
1.0
|
Core Package for E-MicroM solve E-MicroM problem whose geometry is mesh as a 3D regular grid not necessarly cubic which can be periodic in some dimensions. More...
Core Package for E-MicroM solve E-MicroM problem whose geometry is mesh as a 3D regular grid not necessarly cubic which can be periodic in some dimensions.
A E-MicromM problem consists in finding the value of magnetization at equilibrium of a system described in the EMM_LandauLifschitzSystem class:
find the field M such that where H is an excitation magnetic field.
This system is solved in the inherited classes from EMM_LandauLifschitzSystem see Relaxations Package for E-MicroM.
There are 2 kinds of solver :
Each implementation for solving the Landau-Lifschitz system needs to compute new time step of the interface method EMM_Stepper::computeNewTimeStep()
The total magnetic excitation term H is the sum of the magnetic excitation fields (see Operators Package for E-MicroM ) composed by :
The geometry of the domain is modelized by a regular 3D mesh parallelepiped : EMM_Grid3D
The matter(s) of the geometry is described in the general EMM_Matter class specialized with
The distributions of the matters and the anisotropy directions (if different of matters) in the domain are described in EMM_AnisotropyDirectionsField class.
the Hysteresis Package for E-MicroM manages the simulation of hysteresis cycles.
The main class called the EMM_Run::run() method.
To see the options, call:
When options is provided, it is possible to
The classes list is as follow:
A Landau lifshitz system contained operators:
The magnetization field M and the magnetic excitation H are real field EMM_Field implemented in generic package EMMG_RealField based on a compat array EMM_RealArray
The data of the problem is modelized by
The EMM_VTK class is used to generate result VTK files used in PARAVIEW software
EMM_ClassFactory is the main class which generate classes.
The runner classes are
The core package organization of this package is as follow: