A commented sample OVF 1.0 file is provided below. An OVF file has an ASCII header and trailer, and a data block that may be either ASCII or binary. All non-data lines begin with a ‘#’ character; double ‘##’ mark the start of a comment, which continues until the end of the line. There is no line continuation character. Lines starting with a ‘#’ but containing only whitespace characters are ignored.
All non-empty non-comment lines in the file header are structured as
label+value pairs. The label tag consists of all characters after the
initial ‘#’ up to the first colon (‘:’) character. Case is ignored,
and all space and tab characters are eliminated. The value consists
of all characters after the first colon, continuing up to a ‘##
’
comment designator or the end of the line.
The first line of an OVF file should be a file type identification line, having the form
# OOMMF: rectangular mesh v1.0
or
# OOMMF: irregular mesh v1.0
where the value “rectangular mesh v1.0” or “irregular mesh v1.0” identifies the mesh type and revision. While the OVF 1.0 format was under development in earlier OOMMF releases, the revision strings 0.99 and 0.0a0 were sometimes recorded on the file type identification line. OOMMF treats all of these as synonyms for 1.0 when reading OVF files.
The remainder of the file is conceptually broken into Segment
blocks, and each Segment block is composed of a
(Segment) Header block and a Data block. Each block begins with a
“# Begin: <block type>
” line, and ends with a corresponding
“# End: <block type>
” line. The number of Segment blocks is
specified in the
# Segment count: 1
line. Currently only 1 segment is allowed. This may be changed in the future to allow for multiple vector fields per file. This is followed by
# Begin: Segment
to start the first segment.