C++ main module for emicrom Package  1.0
Core Package for E-MicroM

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 $ \displaystyle M(t) = M(t_0) + \int_{t_0}^t f(M(t),H(t)). dt $ 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:

emicrom_main.exe --help

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:

emicrom_core.jpg