NAME
mpb-data - transformations of HDF5 files output by MPB
SYNOPSIS
mpb-data [OPTION]... [HDF5FILE]...
DESCRIPTION
mpb-data is a utility to perform additional processing and
transformations of HDF5 files output by MPB, the MIT Photonic-Bands
program. In particular, it is designed to make the output more
amenable to visualization by reformatting it into a rectangular grid,
extending it to multiple periods, and rescaling the data.
MIT Photonic Bands (MPB) is a free program to compute the band
structures (dispersion relations) and electromagnetic modes of periodic
dielectric structures.
HDF5 is a free, portable binary format and supporting library developed
by the National Center for Supercomputing Applications at the
University of Illinois in Urbana-Champaign. A single h5 file can
contain multiple data sets; by default, mpb-data operates on all of the
MPB-produced datasets in the file, but this can be changed via the -d
option, or by using the syntax HDF5FILE:DATASET.
mpb-data writes its output datasets as additional datasets in the input
file(s), with "-new" appended to the dataset names. Alternatively, it
can write its output to a separate file, specified by the -o option.
Note also that, by default, the output datasets are identical to the
input datasets; you must use one or more of the options below to
specify a transformation (e.g. the -r/-e and -n options are very
useful).
OPTIONS
-h Display help on the command-line options and usage.
-V Print the version number and copyright info for mpb-data.
-v Verbose output.
-o file
Write output datasets to file (for the first input file only)
rather than as additional datasets in the input file(s) (the
default).
-r Output a rectangular cell with the same volume as the cell of
the input data. This option is particularly useful for
visualizing data from non-orthogonal unit cells (e.g. a
triangular lattice), as otherwise the data will appear skewed or
warped in most graphics programs. This option should almost
always be accompanied by the -n option to ensure a uniform
resolution.
-e x,y,z
As the -r option, but also make the first axis of the output
along the x,y,z direction (in Cartesian coordinates) instead of
along the first lattice vector as for -r.
-n n Output n grid points per lattice unit ("a"). This is useful not
only for interpolating to finer (or coarser) resolutions, but
also to ensure that the resolution is uniform in each direction
(to prevent the data from looking distorted when you visualize
it).
-x mx, -y my, -z mz
This tells mpb-data to output multiple periods in the
corresponding lattice directions. to use a particular slice of
a two- or three-dimensional dataset. e.g. -x 3.2 causes the
output of 3.2 periods in the first lattice direction. The
default is to output only a single period.
-m s Output s periods in each lattice direction; equivalent to: -x s
-y s -z s.
-T The output has the first two dimensions (x and y) transposed.
This is useful in conjunction with the parallel (MPI) version of
MPB, which for performance reasons outputs all arrays with the
first two dimensions transposed. -T can undo this
transposition.
-p Pixellized output. Normally, the input data is linearly
interpolated to the output grid, but the -p option causes it to
instead use the nearest grid point in the input data. This is
useful, for example, if you want to study the discretization of
the dielectric-function representation.
-d name
Use dataset name from the input files; otherwise, the first
dataset from each file is used. Alternatively, use the syntax
HDF5FILE:DATASET, which allows you to specify a different
dataset for each file. You can use the h5ls command (included
with hdf5) to find the names of datasets within a file.
BUGS
Send bug reports to S. G. Johnson, stevenj@alum.mit.edu.
AUTHORS
Written by Steven G. Johnson. Copyright (c) 1999, 2000, 2001, 2002 by
the Massachusetts Institute of Technology.
SEE ALSO
mpb(1)