Releases: NanoComp/meep
v1.19.0
-
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
-
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 toweights
andU_SUM
is renamed toU_MEAN
(#1512). -
Performance improvement in chunk division (#1499).
-
Various bugfixes (#1487, #1515, #1519, #1521, #1527), additional documentation, and tests.
v1.17.1
v1.17.0
-
get_array_slice
now does continuous interpolation as the slice position is moved (#1456). -
New
contour
option for contour-plotting inplot2D
(#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
v1.16.0
-
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 ofconfigure
now accepts simply the installationprefix
in addition toprefix/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
-
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
-
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 tofrequency
at some places in the Python API,
for consistency (#1171), anddft_fields
object now takesfcen
anddf
instead
offreq_min
andfreq_max
in Python. -
Support for SWIG 4.0 (#1159), and various other minor fixes.
v1.13.1
v1.13.0
-
Optional parameter
omega
foroutput-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)
viasidewall_angle
parameter to prism objects (#1129). -
New
yee_grid=False
optional argument toadd_dft_fields
; by passingTrue
one can compute the fields on the original Yee grid (#1095). -
New function
meep::make_output_directory()
to make a temporary
directory (inTMPDIR
or similar) andmeep::delete_directory(path)
to perform recursive deletion (likerm -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 Pythonkz_2d
(#1062). -
Various bugfixes, documentation supplements, and other minor improvements.