This is the command mpb-split that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
mpb-split - compute eigenmodes with MPB using multiple processes
SYNOPSIS
mpb-split NUM-SPLIT [DEFINITION]... [CTLFILE]...
DESCRIPTION
mpb-split is a parallelizing front-end to MIT Photonic Bands (MPB). For a computation
with several k points, it splits the list of k points over multiple processes. Of course,
this will only benefit you on a system where different processes will run on different
processors, such as an SMP or a cluster with automatic process migration (e.g. MOSIX).
mpb-split is actually a trivial shell script, though, so you can easily modify it if you
need to use a special command to launch processes on other processors/machines.
MIT Photonic Bands (MPB) is a free program to compute the band structures (dispersion
relations) and electromagnetic modes of periodic dielectric structures, and is applicable
both to photonic crystals (photonic band-gap materials) and a wide range of other optical
problems.
More information on MPB, including a detailed manual, can be found online at the MPB home
page: http://ab-initio.mit.edu/mpb/
A typical invocation of mpb-split looks like:
mpb-split num-split foo.ctl >& foo.out
This causes mpb-split to process the control file foo.ctl, divide the k points into num-
split equal chunks, run each list in a separate process with MPB, and redirect the output
(in order) to foo.out. (One typically redirects output to a file, as the output is
verbose and contains a number of comma-delimited datasets that one can extract by
grepping.)
Overall, the behavior and arguments are the same as for mpb except that the first argument
must be the integer num-split.
What mpb-split technically does is to set the MPB variable k-split-num to num-split and k-
split-index to the index (starting with 0) of the chunk for each process. If you want, you
can use these variables to divide the problem in some other way and then reset them to 1
and 0, respectively.
Use mpb-split online using onworks.net services