http://ab-initio.mit.edu/wiki/index.php?title=MPB_release_notes&action=history&feed=atomMPB release notes - Revision history2024-03-28T12:27:52ZRevision history for this page on the wikiMediaWiki 1.7.3http://ab-initio.mit.edu/wiki/index.php?title=MPB_release_notes&diff=4733&oldid=prevStevenj at 02:22, 3 April 20142014-04-03T02:22:08Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 02:22, 3 April 2014</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 12:</strong></td>
<td colspan="2" align="left"><strong>Line 12:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">* Support FFTW version 3.x (in addition to FFTW 2.x). Version 3.3 or later is required for MPI parallelism.</td><td> </td><td style="background: #eee; font-size: smaller;">* Support FFTW version 3.x (in addition to FFTW 2.x). Version 3.3 or later is required for MPI parallelism.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">* Support for OpenMP parallelism.</td><td> </td><td style="background: #eee; font-size: smaller;">* Support for OpenMP parallelism.</td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">* Use more accurate subpixel averaging algorithm for interfaces between anisotropic <span style="color: red; font-weight: bold;">material </span>(see [http://math.mit.edu/~stevenj/papers/papers_abstracts.html#KottkeFa08 Kottke et al, PRE 77, 036611, 2008]).</td><td>+</td><td style="background: #cfc; font-size: smaller;">* Use more accurate subpixel averaging algorithm for interfaces between anisotropic <span style="color: red; font-weight: bold;">materials </span>(see [http://math.mit.edu/~stevenj/papers/papers_abstracts.html#KottkeFa08 Kottke et al, PRE 77, 036611, 2008]).</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">* Use more accurate geometry routines in recent libctl versions (improves and speeds subpixel averaging).</td><td> </td><td style="background: #eee; font-size: smaller;">* Use more accurate geometry routines in recent libctl versions (improves and speeds subpixel averaging).</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">* Support using a different '''k''' origin in <code>find-k</code>.</td><td> </td><td style="background: #eee; font-size: smaller;">* Support using a different '''k''' origin in <code>find-k</code>.</td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=MPB_release_notes&diff=4732&oldid=prevStevenj at 02:21, 3 April 20142014-04-03T02:21:58Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 02:21, 3 April 2014</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 2:</strong></td>
<td colspan="2" align="left"><strong>Line 2:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Here, we describe what has changed between releases of the [[MIT Photonic Bands]] package. You can also refer to the <code>NEWS</code> file in the MPB package (or the <code>ChangeLog</code> file for a more detailed listing).</td><td> </td><td style="background: #eee; font-size: smaller;">Here, we describe what has changed between releases of the [[MIT Photonic Bands]] package. You can also refer to the <code>NEWS</code> file in the MPB package (or the <code>ChangeLog</code> file for a more detailed listing).</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">{{TOCright}}</td><td> </td><td style="background: #eee; font-size: smaller;">{{TOCright}}</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">== MPB 1.5 ==</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"><small>April 2, 2014</small></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* MPB now also installs a library, for use from within Meep 1.2 or later.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Support Guile 2.x.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Support FFTW version 3.x (in addition to FFTW 2.x). Version 3.3 or later is required for MPI parallelism.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Support for OpenMP parallelism.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Use more accurate subpixel averaging algorithm for interfaces between anisotropic material (see [http://math.mit.edu/~stevenj/papers/papers_abstracts.html#KottkeFa08 Kottke et al, PRE 77, 036611, 2008]).</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Use more accurate geometry routines in recent libctl versions (improves and speeds subpixel averaging).</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Support using a different '''k''' origin in <code>find-k</code>.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Added <code>epsilon-func</code> wrapper for <code>material-func</code> (similar to Meep).</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Added <code>compute-1-group-velocity</code> to compute group velocity of a single band.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Added <code>kinterpolate-uniform</code> function, to interpolate with roughly uniform spacing in reciprocal space.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Added <code>optimize-grid-size!</code> function to round the grid size to a size that can be handled more efficiently. (Only affects resolution, not lattice vectors.)</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Allow user to set <code>filename-prefix</code> to false to disable its use.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Added <code>mpb-data -P <angle></code> option to change the phase angle of the output.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Added <code>compute-field-divergence</code> and routines to get and output the bound charge density: <code>get-charge-density</code> and <code>output-charge-density</code>.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* <code>resolution</code> is now an arbitrary real number, not just an integer, although of course MPB eventually computes an integer grid size.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Support HDF5 1.8.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Fix recurring ''non positive-definite matrix in potrf'' errors that were arising due to roundoff errors preventing matrix inversion.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Fix <code>output-at-kpoint</code> to avoid sensitivity to roundoff errors.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Bug fix in parallel HDF5 support: HDF5 compiled for parallel I/O (MPI) now works.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Bug fix in <code>field-map!</code>, thanks to Karen Lee for the bug report.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Bug fix for <code>first-brillouin-zone-k</code>, thanks to Mischa Megens.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Bug fix: <code>get-field</code> and <code>compute-field-integral</code> now use fields with the same phase as the outputted fields. Thanks to Jim West for the bug report.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">* Miscellaneous bug fixes.</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">== MPB 1.4.2 ==</td><td> </td><td style="background: #eee; font-size: smaller;">== MPB 1.4.2 ==</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=MPB_release_notes&diff=1973&oldid=prevStevenj at 01:41, 16 October 20052005-10-16T01:41:15Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 01:41, 16 October 2005</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 1:</strong></td>
<td colspan="2" align="left"><strong>Line 1:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">{{MPB}}</td><td> </td><td style="background: #eee; font-size: smaller;">{{MPB}}</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Here, we describe what has changed between releases of the [[MIT Photonic Bands]] package. You can also refer to the <code>NEWS</code> file in the MPB package (or the <code>ChangeLog</code> file for a more detailed listing).</td><td> </td><td style="background: #eee; font-size: smaller;">Here, we describe what has changed between releases of the [[MIT Photonic Bands]] package. You can also refer to the <code>NEWS</code> file in the MPB package (or the <code>ChangeLog</code> file for a more detailed listing).</td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"><span style="color: red; font-weight: bold;">{{TOCright}}</span></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">== MPB 1.4.2 ==</td><td> </td><td style="background: #eee; font-size: smaller;">== MPB 1.4.2 ==</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=MPB_release_notes&diff=170&oldid=prevStevenj at 01:39, 16 October 20052005-10-16T01:39:42Z<p></p>
<p><b>New page</b></p><div>{{MPB}}<br />
Here, we describe what has changed between releases of the [[MIT Photonic Bands]] package. You can also refer to the <code>NEWS</code> file in the MPB package (or the <code>ChangeLog</code> file for a more detailed listing).<br />
<br />
== MPB 1.4.2 ==<br />
<br />
<small>March 3, 2003</small><br />
<br />
* Interactive prompt is now "<code>mpb&gt;</code>" not "<code>guile&gt;</code>". <br />
* Output "<code>freqs:</code>" line lists headings as "<code>k1, k2, k3</code>" instead of "<code>kx, ky, kz</code>" since they are in reciprocal-lattice, not cartesian, coordinates. Thanks to Theis Peter Hanson for the suggestion. <br />
* Bug fix in <code>find-k</code> for non-orthogonal lattices; thanks to Suxia (Susan) Yang for tracking down this bug. <br />
* Fixed SunOS problem where k vectors along <code>no-size</code> dimensions failed; thanks to Benjamin Cowan for the bug report. <br />
* Fixed <code>find-k</code> to work for <code>band-min</code> &gt; 1; thanks to M. Povinelli for the bug report. <br />
* Fixed <code>find-k</code> to work for thunk band functions (which take no arguments and are called only once instead of per-band). <br />
<br />
== MPB 1.4.1 ==<br />
<br />
<small>September 16, 2002</small><br />
<br />
* Fixed <code>NaN</code> in field normalization when basis determinant was negative. Thanks to Rumen Iliew for the bug report. <br />
* Fixed compatibility problems with versions of Guile prior to 1.4. Thanks to Cazimir G. Bostan for bug reports. <br />
* Don't resize lattice basis for <code>grid-size</code> == 1 unless <code>no-size</code> was explicitly specified; thanks to Tairan Wang for the suggestion. <br />
<br />
== MPB 1.4 ==<br />
<br />
<small>September 12, 2002</small><br />
<br />
* New <code>find-k</code> routine to find k as a function of frequency, instead of vice-versa. <br />
* The Great Field Renormalization: all fields are now normalized to have unit *integral* of their energy density (instead of unit sum over the grid points), which is much more useful e.g. for perturbation theory. (See field normalization section of manual.) <br />
* You can now save fields in Scheme variables to perform computations combining different fields. Example routines, e.g. to output the Poynting vector, are included. <br />
* Functions to export (and import) the raw eigenvectors (planewave amplitudes), as well as to compute dot products of eigenvectors from different k-points (e.g. for detecting band crossings). <br />
* <code>allow-negative-epsilon</code> function to enable negative-dielectric support. <br />
* Added <code>examples/dos.scm</code> to compute density of states via simple Gaussian histogram, suggested by Xavier Gonze and Doug Allan. <br />
* Bug fix: allow real offdiagonal epsilon elements without requiring <code>--with-hermitian-eps</code>. Thanks to Doug Allan for the bug report. <br />
* Eliminated floating-point error on Alpha for homogeneous structure. Thanks to F. Lopez-Tejeira for the bug report. <br />
* Added man page for <code>mpb-split</code>. <br />
* Minor installation fixes. <br />
<br />
== MPB 1.3 ==<br />
<br />
<small>March 10, 2002</small><br />
<br />
* You can now specify the grid size via the <code>resolution</code> input variable, instead of via <code>grid-size</code>. In this case, you make e.g. a 2d simulation by creating a lattice with size <code>no-size</code> in one dimension. The old syntax is still supported, but the new style is encouraged (all examples have been updated to the new style). <br />
* New functions to retrieve fields, dielectric functions, etcetera at any point, interpolated from the grid if necessary; see the <code>get-*-point</code> functions in the reference section. <br />
* New <code>compute-field-integral</code> function, analogous to <code>compute-energy-integral</code><nowiki>; thanks to Marin Soljacic for the suggestion. </nowiki><br />
* Support Scheme complex numbers where appropriate (e.g. in <code>epsilon-offdiag</code> or in the new field integration functions). <br />
* Got rid of <code>NaN</code> when computing the (undefined) group velocity for zero-frequency states at the Gamma point; arbitrarily return zero here instead. Thanks to Dmitry N. Chigrin for reporting floating-point exceptions on Alphas. <br />
* Fixed compilation failure for Fortran compilers that use all upper case; thanks to Steve Lantz of Cornell. <br />
* Added "Fun with Fortran" section to installation manual describing common Fortran pitfalls; thanks to Steve Lantz for the suggestion. <br />
* Improved BLAS/LAPACK detection; new <code>--with-blas</code> and <code>--with-lapack</code> options to specify these libraries manually. <br />
* Shortened <code>--with-hermitian-epsilon</code> configure option to <code>--with-hermitian-eps</code>. <br />
* The data-analysis tutorial is now consistent with h5topng 1.7. <br />
* Use new API from libctl 2.0. <br />
<br />
== MPB 1.2.2 ==<br />
<br />
<small>December 7, 2001</small><br />
<br />
* Fixed bug that caused erroneous/failed convergence when <code>EVEN-Y</code>/<code>ODD-Y</code> constraints were used in three dimensions. Thanks to Rumen Iliew for the bug report. <br />
* Added convenience functions <code>run-yeven</code>, <code>run-yodd</code>, <code>run-yeven-zeven</code>, ... <br />
<br />
== MPB 1.2.1 ==<br />
<br />
<small>November 20, 2001</small><br />
<br />
* Fixed serious crashing bug in 1.2; thanks to Karl Koch for the bug report. <br />
<br />
== MPB 1.2 ==<br />
<br />
<small>November 15, 2001</small><br />
<br />
* Added new y-parity computation and constraints. See the new <code>run-parity</code> function, which allows you to simultaneously specify the parity through the y=0 and z=0 planes, for symmetric structures. See also the <code>display-yparities</code> function. <br />
* z parity is no longer computed by default; see the new <code>display-yparities</code> and <code>display-zparities</code> functions to pass to <code>(run)</code>. <br />
* Return more-accurate average epsilon, fill factor, and scalar epsilon values (eigenfrequencies are not affected). Thanks to Mischa Megens for bugging me. <br />
* Now outputs D and H in consistent units (previously, D and E were multiplied by a factor of -frequency). Thanks to Michelle Povinelli for worrying. <br />
* <code>epsilon.h5</code> file now includes extra datasets for all components of the effective dielectric tensor. (This feature is not yet supported if you <code>configure --with-inv-symmetry --with-hermitian-epsilon</code>.) <br />
* <code>run-polarization</code> is replaced by <code>run-parity</code>, and <code>run-even</code>/<code>run-odd</code> are deprecated in favor of <code>run-zeven</code>/<code>run-zodd</code>. <code>run-te</code>/<code>run-tm</code> are now equivalent to <code>run-zeven</code>/<code>run-zodd</code> when invoked for 3d systems. <br />
* Noted new <code>basis-size</code> property of <code>geometry-lattice</code>, from libctl 1.5. This makes it easier to use conventional units in the fcc lattice. <br />
* Group-velocity computation no longer silently invalidates fields that have been loaded with <code>get-dfield</code>, etcetera. Thanks to Marin Soljacic for the bug report. <br />
* The configure script now checks that <code>guile</code> is in the <code>$PATH</code>. Thanks to Bing Li and Giridhar Malalahalli for their bug reports. <br />
* Rotated the W and K points of the diamond-lattice example so that they are oriented similarly to those in the [http://shop.barnesandnoble.com/booksearch/isbnInquiry.asp?isbn=0691037442 ''Photonic Crystals''] book by Joannopoulos ''et al.'' (eigenfrequencies are not affected). Thanks to Robert Sheldon for pointing out that this was confusing. <br />
* Added <code>honey-rods.ctl</code> example file: a 2d honeycomb lattice of rods. <br />
* Added <code>line-defect.ctl</code> example file: a line-defect waveguide in a 2d triangular lattice of dielectric rods, formed by a missing row of rods. <br />
<br />
== MPB 1.1.1 ==<br />
<br />
<small>July 4, 2001</small><br />
<br />
* Fixed bug in H-field output that caused subtly incorrect H-field files (only) for 3d problems when NOT using <code>mpbi</code>. <br />
* Fixed bug that caused <code>mpbi</code> to output incorrect results for 1d problems (e.g. outputted dielectric functions with zeros). <br />
* Changed default eigensolver tolerance from 1e-4 to 1e-7. <br />
* Added <code>retrieve-gap</code> convenience function to return the gap between two specified bands. <br />
* Fixed typo that prevented compilation of MPI (parallel) version. <br />
* C compiler flags <code>-O3</code> are no longer used by default, since they don't work with some compilers; most of the performance depends upon the BLAS and FFTW anyway. (Users wishing greater optimization can set the <code>CFLAGS</code> environment variable.) Thanks to Giridhar Malalahalli for the bug report. <br />
<br />
== MPB 1.1 ==<br />
<br />
<small>May 6, 2001</small><br />
<br />
* Added <code>compute-energy-integral</code> function to make it easier to compute arbitrary field-energy integrals for perturbation theory; thanks to Marin Soljacic for the suggestion. <br />
* Fixed bug in <code>output-field</code> routines for the case of a nonzero k<sub><small>z</small></sub> component, that caused the fields to be multiplied by an exp(ikx) phase with a k in the wrong direction. Thanks to Jesper Riishede for the bug report. <br />
<br />
== MPB 1.0 ==<br />
<br />
<small>February 23, 2001</small><br />
<br />
* At long last, support for distributed-memory parallel machines with MPI. The computation time (and memory usage) can often improve nearly linearly with the number of processors. Thanks to [http://www.clarendonphotonics.com Clarendon Photonics] for funding this work. <br />
* Also added <code>mpb-split</code> script to parallelize in a simpler way, without MPI, on e.g. SMP machines, by dividing up the list of k-points among a number of serial mpb processes. <br />
* Fixed bug in <code>mpbi</code> where artifacts could be introduced in 3d field and dielectric-function output files. (This only affected the output files, not the frequency eigenvalues, etcetera.) Thanks to Michelle Povinelli for the bug report. <br />
* Added new <code>material-function</code> material type, so that you can now specify that the dielectric tensor be an arbitrary function of position. Thanks to Peter Bermel for needing this. <br />
* If MPB is configured with the flag <code>--with-hermitian-epsilon</code>, then complex-hermitian dielectric tensors (corresponding to magnetic materials, which break time-reversal symmetry) are supported. Thanks to Shanhui Fan for pestering me about this. <br />
* Eliminated <code>output-copies</code> input variable; if you want to visualize multiple unit cells, you should use <code>mpb-data</code>. <br />
* Added new "<code>nothing</code>" material that punches a hole through other objects to the background. (This is distinct from <code>default-material</code> when <code>epsilon-input-file</code> is used, or for <code>compute-energy-in-objects</code>.) <br />
* Fixed inability of MPB 0.13 to run under an old version (1.2) of Guile. <br />
* Now gives an error if k-point or dielectric tensor is incompatible with run-te/run-tm, or if the dielectric tensor is not positive-definite. <br />
* Default to vendor <code>cc</code> instead of <code>gcc</code>, so that C and Fortran compilers are in sync. (We default to the vendor <code>f77</code> because it was probably used to compile LAPACK/BLAS, and Fortran libraries are picky.) <br />
* The manual now cites our recent publication on the methods behind MPB. <br />
* Bug fix in <code>compute-energy-in-object-list</code> for non-orthogonal lattices. <br />
* Bug fix in <code>combine-band-functions</code> and other functions of band functions, which did not handle functions of no arguments ("thunks") correctly (crashing with an error message). Thanks to Michelle Povinelli for the bug report. <br />
* Fixed a floating-point sensitivity bug in <code>mpb-data</code> that could cause a crash on the Alpha; thanks to Dominique Caron for the bug report and debugging information. <br />
<br />
== MPB 0.13 ==<br />
<br />
<small>January 7, 2001</small><br />
<br />
* Can now take advantage of [http://ab-initio.mit.edu/mpb/doc/user-ref.html#inv-symmetry inversion symmetry] in the geometry, gaining at least a factor of two in speed and a factor of two in memory. To use this, you [http://ab-initio.mit.edu/mpb/doc/installation.html#mpb configure MPB] with <code>--with-inv-symmetry</code><nowiki>; the resulting executable is installed as "</nowiki><code>mpbi</code>" and only supports inversion symmetry, so you will usually want to install the ordinary MPB as well. <br />
* Added new <code>eigensolver-block-size</code> input variable, so that MPB can optionally solve for only a few bands at a time instead of all at once, reducing memory requirements and often increasing speed. <br />
* Improved handling of the singular (zero-frequency) solutions at the Gamma (k=0) point. This k point should no longer converge slowly (or cause additional problems in the targeted eigensolver). <br />
* Manual updates: please see new [http://ab-initio.mit.edu/mpb/doc/license.html#referencing referencing suggestions]<nowiki>; expanded table of contents; we now use more conventional units in </nowiki>[http://ab-initio.mit.edu/mpb/doc/analysis-tutorial.html#diamond diamond]/fcc example. <br />
* You can now pass a "thunk" (function of no arguments) to <code>run</code>, and it will be evaluated once per k-point (instead of once per band per k-point as for ordinary band functions). <br />
* <code>compute-field-energy</code> function now also returns the fraction of the energy in the various field components. Thanks to Karl Koch for the suggestion. <br />
* The <code>filename-prefix</code> variable is now read each time an output function is called, instead of once per <code>(run)</code>, so it can be changed frequently if desired. Thanks to Karl Koch for the suggestion. <br />
* Added <code>first-brillouin-zone</code> function to transform an arbitrary k-point into an equivalent point in the first Brillouin zone. Thanks to Payam Rabiei for the suggestion. <br />
* In <code>mpb-data</code>, the center of the output cell is now always identical to the origin of the coordinate system. Thanks to Michelle Povinelli for pointing out this deficiency. <br />
* Used improved spherical-quadrature formula in computing the effective dielectric tensor in 3d; this should increase accuracy somewhat at lower grid resolutions. Thanks to Doug Allan for helpful discussions. <br />
<br />
== MPB 0.12 ==<br />
<br />
<small>July 9, 2000</small><br />
<br />
* Added <code>fix-*field-phase</code> functions to allow a deterministic phase in the output fields, thanks to a suggestion by Doug Allan. <br />
* Added group-velocity calculation functions (<code>display-group-velocities</code>, etcetera). <br />
* Added <code>-e ''x,y,z''</code> option to <code>mpb-data</code> so that you can now specify an orientation of the output cell (e.g. to make the first axis the 111 direction of an fcc crystal). <br />
* Added <code>(index n)</code> substitute for <code>epsilon</code> property of dielectrics, equivalent to <code>(epsilon (* n n))</code>. <br />
* Documented new libgeom features: <code>cone</code> geometric object, coordinate conversion functions (<code>reciprocal-&gt;lattice</code>, <code>lattice-&gt;cartesian</code>, etc.), and vector/matrix rotation. <br />
* <code>compute-field-energy</code> now returns the total, unnormalized energy in the corresponding field; combined with <code>compute-energy-in-objects</code>, this makes it easy to do some perturbation theory and related calculations. <br />
* Eigensolver improvements. Periodic reorthogonalization and renormalization to combat some numerical problems. New line-minimization code, included with permission from [ftp://info.mcs.anl.gov/pub/MINPACK-2/ MINPACK-2] by [http://www-unix.mcs.anl.gov/~more/ Jorge J. Mor&eacute;]. <br />
* Fixed breaking of 90-degree rotational symmetry-breaking by the mesh in 2d; thanks to Jim West and Doug Allan of Corning for the bug report. (In general, some symmetry-breaking by the discretization seems hard to avoid, however.) <br />
* Fixed bug in field output routines that could cause crashes for grid sizes not a multiple of 4. <br />
* Bug fix in dielectric function construction for 2d systems: we now use the xy plane at z=0 as documented, instead of z=-0.5. <br />
<br />
== MPB 0.11 ==<br />
<br />
<small>February 12, 2000</small><br />
<br />
* <code>configure</code> script can now detect and link [http://www.netlib.org/atlas/ ATLAS] 3.0 accelerated BLAS. <br />
* Added <code>band-range-data</code> output variable. <br />
* Running <code>mpb-data</code> multiple times on the same file now replaces the results of the previous run, instead of appending <code>-new2</code>, <code>-new3</code>, etcetera. <br />
* Fixed bug in <code>run-even</code>/<code>run-odd</code> that could seriously slow or even prevent eigensolver convergence. Thanks to Payam Rabiei for the bug report. <br />
* Fixed compilation <code>--without-hdf5</code>, or when HDF5 is not found. Thanks to Rajesh Rengarajan for the bug report. <br />
<br />
== MPB 0.10 ==<br />
<br />
<small>January 28, 2000</small><br />
<br />
* Added <code>mpb-data</code> utility for post-processing data (e.g. for unskewing non-orthogonal lattices). See the new data-analysis tutorial or <code>man mpb-data</code> for more information. <br />
* Added new data-analysis tutorial to the manual, describing how to analyze and visualize the results of two sample calculations. <br />
* Added support for a new material type, <code>dielectric-anisotropic</code>, so that you can specify arbitrary real/symmetric dielectric tensors. <br />
* Added new <code>output-at-kpoint</code> function to make it easier to output fields only at a single k-point in a band-structure calculation. <br />
* When outputting fields, output all field components (x, y, z, and real and imaginary parts) to a single HDF5 file. Also include info on the lattice and k-point vectors to facilitate post-processing. <br />
* Added new subsection to the installation manual describing some generic installation path issues on Unix that were confusing people. <br />
* Use <code>CPPFLAGS</code> environment variable instead of the less-standard <code>INCLUDES</code> to pass <code>-I</code> flags to the configure script (for header files in non-standard locations). <br />
* Added <code>diamond.ctl</code> example file for a 3d diamond (fcc) lattice of spheres. <br />
* Added (brief) mpb <code>man</code> page. <br />
* Fixed z-parity output and <code>run-even</code>/<code>odd</code> functions for 2d grids. <br />
* Fixed bug in <code>output-dpwr-in-objects</code>. Thanks to Mihai Ibanescu for the bug report. <br />
* Compilation fixes. We need to set <code>SHELL</code> in the <code>Makefile</code> for <code>make</code> on some systems. Also added rule to insure <code>ctl-io.h</code> is created before <code>main.c</code> is compiled. Thanks to Christoph Becher for the bug reports. <br />
<br />
== MPB 0.9.1 ==<br />
<br />
<small>January 7, 2000</small><br />
<br />
* Fixed eigensolver bug where special handling of Gamma (k=0) point could screw up convergence for subsequent k-points, causing incorrect results. <br />
* Fixed behavior of <code>filename-prefix</code> input variable; thanks to Karl Koch for the bug report <br />
<br />
== MPB 0.9 ==<br />
<br />
<small>January 2, 2000</small><br />
<br />
* Added <code>run-even</code> and <code>run-odd</code> functions, so you can now compute only even/odd states (with respect to a z=0 mirror plane) in systems with sufficient symmetry. See also the new <code>z-parity</code> output variable. <br />
* Added <code>epsilon-input-file</code> variable, so that you can now read an arbitrary dielectric function from a file. <br />
* Field file names now include the polarization (e.g. "<code>.tm</code>"). <br />
* Some optimizations in the eigensolver. <br />
* Some documentation improvements; thanks to Edmond Chow for his comments. <br />
* <code>configure</code> should work even when there is no Fortran compiler on your system (assuming your BLAS, etc., libraries work without Fortran libs). Thanks to Antti Renko for the bug report. <br />
* Fixed problems detecting BLAS and LAPACK shared libraries in <code>configure</code>. Thanks to Karri Varris for the bug report. <br />
* Fixed trailing spaces in <code>sed</code> command, which were breaking <code>make install</code> on some systems. Thanks to Ron Chase for the bug report. <br />
<br />
== MPB 0.8.1 ==<br />
<br />
<small>November 22, 1999</small><br />
<br />
* Added <code>output-hfield-x</code>, <code>output-dfield-y</code>, etcetera, functions for outputting only specific field components. <br />
* Sped up HDF5 field output routines. <br />
* Added <code>output-copies</code> variable to set the number of periods output by the band output functions. <br />
<br />
== MPB 0.8 ==<br />
<br />
<small>November 19, 1999</small><br />
<br />
* Initial public release. <br />
<br />
[[Category:MPB]]</div>Stevenj