 
 
 
 
 
 
 
  
 
   
 Next: MIF 2.2 New Extension Commands
 Up: MIF 2.2
 Previous: MIF 2.2
Differences between MIF 2.2 and MIF 2.1 Formats
- The first line of a MIF 2.2 file must be ``#MIF 2.2''.
- The basename, scalar_output_format and
 vector_field_output_format options to the Oxs_TimeDriver
 and Oxs_MinDriver objects are no longer supported.  Instead,
 there is a new top-level extension command, SetOptions, where
 these options are declared.  The SetOptions block also
 supports new options for controlling output formats, mesh types, and
 filenames.
- In the MIF 2.1 format, MIF files are
 processed in a two pass mode.  During the first pass, Specify
 commands simply store the contents of the Specify blocks without
 creating any Oxs_Ext objects.  The Oxs_Ext objects
 associated with each Specify block are created in the second pass
 from the data stored in the first pass.  In the MIF 2.2 format, this is
 replaced with a one pass mode, where Oxs_Ext objects are created
 at the time that the Specify commands are parsed.  This processing
 model is more intuitive for MIF file authors, but has two main
 consequences.  The first is that in MIF 2.1 format files, Tcl procs that
 are used only inside Specify commands can be placed anywhere inside
 the MIF file (for example, commonly at the end), because they won't be
 called during the first pass.  As long as they are defined at any point
 during the first pass, they will be available for use in the second
 pass.  In contrast, in the MIF 2.2 format, Tcl procs definitions must
 generally be moved forward, before any references in Specify
 blocks.  The second consequence is that Oxs_Ext objects defined by
 Specify commands are available for use inside the MIF file.  This
 allows support for the new commands discussed next.
 
 
 
 
 
 
 
  
 
OOMMF Documentation Team
September 27, 2023