Skip to content

Releases: NanoComp/meep

v1.19.0

07 Jul 01:10
Compare
Choose a tag to compare
  • Support for optional single-precision floating point for fields arrays (#1544).

  • Optional subpixel smoothing for MaterialGrid using analytical rather than numerical-quadrature framework (#1539, #1568).

  • Improvements to user-specified chunk layout as BinaryPartition object (#1577).

  • JAX wrapper for Simulation object and adjoint solver (#1569).

  • Continuous integration (CI) via GitHub Actions (#1599, #1608, #1618, #1623).

  • Remove MPI synchronization barrier at each timestep from connection of chunks (#1635).

  • Various bugfixes (#1546, #1574, #1588, #1591, #1592, #1598, #1599, #1601, #1603, #1606, #1634, #1652), additional documentation, and tests.

v1.18.0

26 Mar 17:07
Compare
Choose a tag to compare
  • New get_epsilon_grid function for evaluating ε on user-specified grid with arbitrary resolution (#1522).

  • Support for user-specified chunk layouts for manual control over load-balancing (#1528).

  • MaterialGrid design_parameters is renamed to weights and U_SUM is renamed to U_MEAN (#1512).

  • Performance improvement in chunk division (#1499).

  • Various bugfixes (#1487, #1515, #1519, #1521, #1527), additional documentation, and tests.

v1.17.1

08 Jan 19:54
Compare
Choose a tag to compare
  • Fix accidental breakage of the adjoint routines ([#1464]).

v1.17.0

04 Jan 20:33
Compare
Choose a tag to compare
  • get_array_slice now does continuous interpolation as the slice position is moved (#1456).

  • New contour option for contour-plotting in plot2D (#1437).

  • Adjoint optimization of near2far transformations (#1417).

  • get_array_metadata is now consistent between array slices and DFT slices (#1456), no longer leaks memory (#1447), and returns numpy arrays rather than tuples (#1458).

  • Bugfixes in adjoint-optimization filters (#1427).

v1.16.1

21 Oct 02:16
Compare
Choose a tag to compare
  • Bugfix in adjoint code (#1403).

v1.16.0

07 Oct 01:49
Compare
Choose a tag to compare
  • Gaussian beam source feature (#1303 and #1310).

  • New API for specifying planewave diffraction orders for eigenmode sources
    and coefficients (#1316).

  • More accurate gradients in adjoint code (#1285).

  • Simpler Python API for outputting ε or μ at a given frequency (#1374).

  • --with-libctl-dir option of configure now accepts simply the installation prefix in addition to prefix/share/libctl (#1286).

  • Less verbose mode-solver output from MPB (#1302, #1388), and new
    meep.verbosity option in Python (#1349).

  • Bug fix for single-point DFT monitor (#1333).

v1.15.0

09 Jul 01:23
Compare
Choose a tag to compare
  • Minimum-lengthscale filters for adjoint optimization (#1205).

  • Python API documentation in docstrings (#1240).

  • MaterialGrid material type in Python to interpolate an array of material
    values as the "material" of an object, especially for topology optimization (#1242).

  • merge_subgroup_data Python function for coordinating parallel
    computations (#1192).

  • Eigenmode sources now ensure that the source has the same
    frequency as the mode (#1218).

  • Performance improvements to eigenmode sources (#1233, #1244, #1257).

v1.14.0

18 Apr 02:30
ed7d8d3
Compare
Choose a tag to compare
  • New adjoint solver for density-based topology optimization, including
    filtering, automatic differentiation, and other frequencies (#1167).

  • DFT functions now allow you to pass an arbitrary array of frequencies, instead
    of being limited to equally spaced frequencies (#1154 and #1156).

  • Experimental shift-and-invert frequency-domain eigensolver (#1158).

  • Renamed omega parameter to frequency at some places in the Python API,
    for consistency (#1171), and dft_fields object now takes fcen and df instead
    of freq_min and freq_max in Python.

  • Support for SWIG 4.0 (#1159), and various other minor fixes.

v1.13.1

25 Feb 18:23
Compare
Choose a tag to compare
  • Avoid writing to source directory in remaining tests (#1132).

v1.13.0

19 Feb 19:02
Compare
Choose a tag to compare
  • Optional parameter omega for output-epsilon and similar functions,
    allowing the complex ε and μ at a given frequency to be outputted (#1112, following #919).

  • near2far computation now supports cylindrical coordinates (#1090).

  • Experimental support for slanted prisms (requires libctl 4.5)
    via sidewall_angle parameter to prism objects (#1129).

  • New yee_grid=False optional argument to add_dft_fields; by passing True
    one can compute the fields on the original Yee grid (#1095).

  • New function meep::make_output_directory() to make a temporary
    directory (in TMPDIR or similar) and meep::delete_directory(path)
    to perform recursive deletion (like rm -rf). These are now
    used in tests to avoid writing to the source directory (#1121, #1122 and #1126).

  • Jupyter notebooks now show a graphical progress bar during simulations (#1078).

  • kz-2d option in Scheme, mirroring Python kz_2d (#1062).

  • Various bugfixes, documentation supplements, and other minor improvements.