As part of the alpha development of the OOMMF 1.2 Oxs program, the MIF file format has been upgraded from the MIF 2.0 format used in the OOMMF 1.2a1 and 1.2a2 to MIF 2.1 in the OOMMF 1.2a3 release. The overall structure of the MIF 2.1 format is still a Tcl script with a collection of Specify blocks, but additional commands have been added, some Oxs_Ext objects have been removed, and the Specify block internal structure for others has been reworked. The most significant changes are detailed below.
The command line program mifconvert will convert many MIF 2.0 files to the MIF 2.1 equivalent. However, the MIF 2.x format is quite rich, and complicated 2.0 files may not be properly converted. In all events, the reader should refer to the MIF 2.1 and "Standard Oxs_Ext Child Classes" documentation in the OOMMF User's Guide for additional details.
----------------------------------------------- OLD MIF 2.0 OLD MIF 2.0 OLD MIF 2.0 OLD ----------------------------------------------- Specify Oxs_SectionAtlas:WorldAtlas { top { Oxs_RectangularSection { xrange {0 500e-9} yrange {0 250e-9} zrange {3e-9 9e-9} } } bottom { Oxs_RectangularSection { xrange {0 500e-9} yrange {0 250e-9} zrange {0 3e-9} } } world { Oxs_RectangularSection { xrange {0 500e-9} yrange {0 250e-9} zrange {0 9e-9} } } } ----------------------------------------------- OLD MIF 2.0 OLD MIF 2.0 OLD MIF 2.0 OLD -----------------------------------------------In the new MIF 2.1 format this would be rendered as:
----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW ----------------------------------------------- Specify Oxs_MultiAtlas:WorldAtlas { atlas { Oxs_BoxAtlas:top { xrange {0 500e-9} yrange {0 250e-9} zrange {3e-9 9e-9} } } atlas { Oxs_BoxAtlas:bottom { xrange {0 500e-9} yrange {0 250e-9} zrange {0 3e-9} } } } ----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW -----------------------------------------------If only one rectangular region needs to be delineated, then a single top-level Oxs_BoxAtlas can fulfill the requirement.
----------------------------------------------- OLD MIF 2.0 OLD MIF 2.0 OLD MIF 2.0 OLD ----------------------------------------------- Specify Oxs_Exchange6Ngbr { default_A 30e-12 atlas :atlas A { { top top 13e-12 } { top bottom 20e-12 } } } ----------------------------------------------- OLD MIF 2.0 OLD MIF 2.0 OLD MIF 2.0 OLD -----------------------------------------------becomes
----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW ----------------------------------------------- Specify Oxs_Exchange6Ngbr { default_A 30e-12 atlas :atlas A { top top 13e-12 top bottom 20e-12 } } ----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW -----------------------------------------------
----------------------------------------------- OLD MIF 2.0 OLD MIF 2.0 OLD MIF 2.0 OLD ----------------------------------------------- Specify Oxs_AtlasScalarFieldInit:foo { atlas :atlas default_value 7 values { { top 6.1 } { bottom 4.2 } } } Specify Oxs_AtlasVectorFieldInit:bar { atlas :atlas default_value { 1 0 0 } values { { top 0.1 0.2 0.3 } { bottom 1.1 2.2 3.3 } } } ----------------------------------------------- OLD MIF 2.0 OLD MIF 2.0 OLD MIF 2.0 OLD -----------------------------------------------is now
----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW ----------------------------------------------- Specify Oxs_AtlasScalarField:foo { atlas :atlas default_value 7 values { top 6.1 bottom 4.2 } } Specify Oxs_AtlasVectorField:bar { atlas :atlas default_value { 1 0 0 } values { top { 0.1 0.2 0.3 } bottom { 1.1 2.2 3.3 } } } ----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW -----------------------------------------------
----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW ----------------------------------------------- Specify Oxs_UniaxialAnisotropy { K1 { Oxs_UniformScalarField { value 530e3 } } axis { Oxs_UniformVectorField { vector { 0 0 1 } } } } ----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW -----------------------------------------------is equivalent to
----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW ----------------------------------------------- Specify Oxs_UniaxialAnisotropy { K1 530e3 axis { 0 0 1 } } ----------------------------------------------- NEW MIF 2.1 NEW MIF 2.1 NEW MIF 2.1 NEW -----------------------------------------------However, if you use the implicit specification for the Oxs_UniformVectorField class, then the "norm" option is not available.
MIF Changes: OOMMF 1.2a0 to 1.2a1
Back to OOMMF 1.2 software page or
The National Institute of Standards and Technology (NIST) is an agency of the U.S. Commerce Department.
Privacy policy / security notice / accessibility statement /
Disclaimer /
Freedom of Information Act (FOIA) /
No Fear Act Policy /
ExpectMore.gov (performance of federal programs) /
NIST Information Quality Standards /
Environmental Policy Statement
Date created: August 30, 2002 | Last updated: April 27, 2011 Contact: Webmaster