 
 
 
 
 
 
 
 
 
 
 
   
 Next: Making Bitmaps from Vector
 Up: Command Line Utilities
 Previous: Making Data Tables from
Vector Field File Format Conversion:
          avf2ovf
The avf2ovf program converts vector field files from any of the
recognized formats
(OVF, VIO) into the OVF format.
Launching
The avf2ovf launch command is:
tclsh oommf.tcl avf2ovf [standard options] \
   [-clip xmin ymin zmin xmax ymax zmax] [-flip flipstr] \
   [-format <text|b4|b8>] [-grid <rect|irreg>] [-info] [-keepbb] \
   [-mag] [-ovfversion version] [-pertran xoff yoff zoff] [-q] \
   [-resample xstep ystep zstep order] [-rpertran rxoff ryoff rzoff] \
   [-subsample period] [infile [outfile]]
where
- -clip xmin ymin zmin xmax ymax zmax
- The 6 arguments specify the vertices of a bounding clip box.  Only mesh
  points inside the clip box are brought over into the output file.  Any
  of the arguments may be set to ``-'' to use the corresponding value
  from the input file, i.e., to not clip along that box face.
- -flip flipstr
- Provides an axis coordinate transformation.  Flipstr has the form
  A:B:C, where A, B, C is a permutation of x, y, z, with an
  optional minus sign on each entry.  The first component A denotes the
  axis to which x is mapped, B where y is mapped, and C where z
  is mapped.  The default is the identity map, x:y:z.  To rotate
  90o about the z-axis, use ``-flip y:-x:z'', which sends x
  to the + y axis, y to the -x axis, and leaves z unchanged.
- -format <text|b4|b8>
- Specify output data format.  The default is ASCII text; b4 selects
  4-byte binary, b8 selects 8-byte binary.  (The OVF format has an
  ASCII text header in all cases.)
- -grid <rect|irreg>
- Specify output grid structure.  The default is rect,
  which will output a regular rectangular grid if the input is recognized
  as a regular rectangular grid.  The option ``-grid irreg'' forces
  irregular mesh style output.
- -info
- Instead of converting the file, print information about the file, such
  as size, range, and descriptive text from the file header.
- -keepbb
- If the -clip option is used, then normally the spatial extent,
  i.e., the boundary, of the output is clipped to the specified clip
  box.  If -keepbb (keep bounding box) is given, then the spatial
  extent of the output file is taken directly from the input file.
  Clipping is still applied to the data vectors; -keepbb affects
  only the action of the clip box on the boundary.
- -mag
- Write out a scalar valued field instead of a vector value field, where
  the scalar values are the magnitude | v(r)| of the vector values at
  each point r.
- -ovfversion version
- Specify the output OVF version, either 1 (default) or 2.
- -pertran xoff yoff zoff
- Translates field with respect to location coordiates, by amount
  
(xoff, yoff, zoff), in a periodic
  fashion.  For example, if
  
(xoff, yoff, zoff) is 
(50e-9, 0, 0),
  then a vector v at position
  
(rx, ry, rz)
  in the original file is positioned instead at
  
(rx + 50e-9, ry, rz)
  in the output file.  If the spatial extent of the
  x coordinate in the input file runs from 
xmin to
  
xmax, and if
  
rx + 50e-9 is larger than 
xmax, then v
  will be placed at
  
rx + 50e-9 - xmax + xmin
  instead.  Translations are rounded to the
  nearest full step; aside from any clipping, the output file has the
  exact same spatial extent and sample locations as the original file.
  If both translation and clipping are requested, then the clipping is
  applied after the translation.
- -q
- Quiet operation -- don't print informational messages.
- -resample xstep ystep zstep <0|1|3>
- Resample grid using specified step sizes.  Each step size must exactly
  divide the grid extent in the corresponding direction, after any
  clipping.  (That is, the export mesh consists of full cells only.)
  The last argument specifies the polynomial interpolation order: 0 for
  nearest value, 1 for trilinear interpolation, or 3 for fitting with
  tricubic Catmull-Rom splines.  This control is only available for
  input files having a rectangular grid structure.  Default is no
  resampling.
- -rpertran rxoff ryoff rzoff
- Similar to -pertran, except the offsets
  
(rxoff, ryoff, rzoff) are
  interpreted as offsets in the range [0, 1] taken relative to the
  spatial extents of the x, y, and z coordinates.  For example, if
  
xmax - xmin = 500e-9, then an
  
rxoff value of 0.1 is equivalent
  to an 
xoff value of 50e-9.
- -subsample period
- Reduce point density in output by subsampling input with specified
  period along x, y, and z axes.  For example, if period is 2,
  then the output will have only 1/8th as many points as the input.
  This control is only available for input files having a rectangular
  grid structure.  Default value is 1, i.e., no subsampling.
- infile
- Name of input file to process.  Must be one of the recognized
  formats, OVF 0.0, OVF 1.0, OVF 2.0, or VIO.  If no file is
  specified, reads from stdin.
- outfile
- Name of output file.  If no file is specified, writes to stdout.
The -clip option is useful when one needs to do analysis on a
small piece of a large simulation.  The -info option is helpful
here to discover the extents of the original mesh.  The -clip
option can also be used with -resample to enlarge the mesh.
The -flip option can be used to align different simulations
to the same orientation.  It can also be used to change a file into its
mirror image; for example, ``-flip -x:y:z'' reflects the mesh through
the yz-plane.
If multiple operations are specified, then the operation order is
clip, resample, subsample, flip, and translate.
The -format text and -grid irreg options are handy for
preparing files for import into non-OOMMF applications, since all
non-data lines are readily identified by a leading ``#,'' and
each data line is a 6-tuple consisting of the node location and vector
value.  Pay attention, however, to the scaling of the vector value as
specified by ``# valueunit'' and ``# valuemultiplier''
header lines.
For output format details, see the OVF file
description.
Known Bugs
If the input file contains an explicit boundary polygon (cf. the
boundary entry in the Segment Header
block subsection of the OVF file
description) then the
output file will also contain an explicit boundary polygon.  If clipping
is active, then the output boundary polygon is formed by moving the
vertices from the input boundary polygon as necessary to bring them into
the clipping region.  This is arguably not correct, in particular for
boundary edges that don't run parallel to a coordinate axis.
 
 
 
 
 
 
 
 
 
 
 
OOMMF Documentation Team
May 11, 2021