Recent Releases of pymeep

pymeep - v1.31.0

Meep 1.31.0

8/15/2025

  • Improved performance for near-to-far transformations in cylindrical coordinates (#3047).

  • Experimental (undocumented) new parameter greencyl_tol for get_farfields and Near2FarFields in cylindrical coordinates (#3064).

  • Experimental (undocumented) new method complexflux() for dft_flux objects, similar to flux() but returning the complex Poynting flux (whose imaginary part is reactive power) (#3069).

  • Fix compatibility with python 3.12 (#3028).

- C++
Published by stevengj 7 months ago

pymeep - v1.30.1

  • Bug fix in DFT fields at a single point (zero-dimensional volume), where they were only first-order accurate and had the wrong weight (#3010).

- C++
Published by stevengj 10 months ago

pymeep - v1.30.0

3/27/2025

  • Improvements to smoothed projection function of adjoint solver (#2970).

  • Bug fix in Harminv wrapper (#2959).

  • Bug fix in vec initialization of C++ unit test (#2955).

  • Improvements to step function of Python interface (#2895).

  • Rename flags in plot2D (#2885).

  • Various improvements and additional documentation (#2792, #2862, #2874, #2878, #2883, #2894, #2949, #2950, #2951, #2965, #2978).

- C++
Published by stevengj 12 months ago

pymeep - v1.29.0

  • Experimental support for broadband planewave sources at fixed angle (#2609).

  • Support for subpixel smoothing for topology optimization (#2741).

Various improvements and minor bug fixes (#2747, #2751, #2752, #2767, #2285) and additional documentation.

- C++
Published by stevengj almost 2 years ago

pymeep - v1.28.0

  • Improved special field updates for r=0 in cylindrical coordinates (#2538).

  • Geometric objects now have a label field that appears when Simulation.plot2D is called with label_geometry=True (#2631).

  • Various improvements and minor bug fixes (#2554, #2599, #2560, #2611, #2684, #2695) and additional documentation.

- C++
Published by stevengj over 2 years ago

pymeep - 1.27.0

5/25/2023

  • Support for spectral extrapolation using Padé approximants (#2440).

  • Support for periodic design regions of adjoint solver (#2465, #2518).

  • Support for "unfiltering" a given set of design weights for adjoint optimization (#2462).

  • MPB is no longer a required dependency (#2486).

  • Bug fix for sources at $r = 0$ in cylindrical coordinates (#2459).

  • Additional unit tests and documentation (#2428, #2433, #2452, #2474) and various improvements and minor bug fixes (#2499, #2504).

- C++
Published by stevengj almost 3 years ago

pymeep - v1.26.0

Meep 1.26.0

3/9/2023

  • Improved Gaussian beam source in 2D (#2333).

  • Support for returning the number of timesteps elapsed in simulation (#2337).

  • Bug fix for fields update in cylindrical coordinates (#2382).

  • Bug fix for PMLs in cylindrical coordinates (#2383).

  • Bug fix in amplitude function of eigenmode source (#2394).

  • The doc/ directory (the manual) is no longer included in the release tarball to save space, since most people will view this online. (It is still in the git repository.)

  • Various improvements and minor bug fixes (#2321, #2349, #2371, #2380, #2390, #2413), and additional unit tests and documentation (#2314, #2360, #2364, #2365, #2387, #2395, #2402).

- C++
Published by stevengj almost 3 years ago

pymeep - v1.25.0

Meep 1.25.0

11/17/2022

  • Support for connectivity constraints in adjoint solver (#2207).

  • Support for animation in topology optimization (#2186).

  • Support for load_minus_flux in adjoint solver (#2271).

  • Support colorbars in plot2D (#2289).

  • Support for plot3D (#2305).

  • Various improvements and bug fixes (#2176, #2179, #2190, #2194, #2202, #2203, #2208, #2251, #2253, #2264, #2290), and additional unit tests and documentation.

- C++
Published by stevengj over 3 years ago

pymeep - v1.24.0

  • Support for adjoint gradients of local density of states (LDOS) (#2077).

  • Improvements to memory usage of adjoint solver (#1855).

  • Various bugfixes (#1959, #2044, #2066, #2073, #2079, #2091, #2095, #2114) and additional unit tests (#2032, #2049, #2053, #2076, #2082).

- C++
Published by stevengj over 3 years ago

pymeep - v1.23.0

4/6/2022

  • Support for termination condition function based on the field energy in the entire cell (#2021).

  • Support for mode decomposition for 2d cell with out of plane wavevector (#1968).

  • Type annotations for the Simulation class (#1919).

  • Various improvements (#1821, #1895, #2027), bug fixes (#1955, #2016), and additional documentation (#2005).

- C++
Published by stevengj almost 4 years ago

pymeep - v1.22.0

  • Support for anisotropic materials and subpixel smoothing in adjoint gradients (#1780, #1801).

  • Support for damping property in MaterialGrid (#1804).

  • Support for cylindrical coordinates in plot2D (#1873).

  • Various bugfixes (#1796, #1830, #1849, #1860), performance enhancements (#1826, #1839, #1871, #1872, #1877), and additional unit tests and documentation.

- C++
Published by stevengj about 4 years ago

pymeep - v1.21.0

  • Support for checkpointing structure and fields (#1715, #1738).

  • Support for multithreading via OpenMP (#1628).

  • Support for cache-oblivious loop tiling of the E-from-D and H-from-B field updates (#1655).

  • Support for load balancing parallel simulations using timing measurements (#1775).

  • Support for automatic DFT decimation (#1732).

  • Support for adjoint gradients in cylindrical coordinates (#1749).

  • Revamped convergence criteria for DFT fields (#1740).

  • Various bugfixes (#1593, #1769), performance enhancements (#1730, #1763), minor improvements, and additional documentation.

- C++
Published by stevengj over 4 years ago

pymeep - v1.20.0

Meep 1.20.0

8/11/2021

  • Support for decimation of the DFT time-series updates (#1684, #1720, #1722).

  • Support for optional single-precision floating point for the DFT fields arrays (#1675).

  • Support for cache-oblivious loop tiling of the step-curl field updates (#1655).

  • Performance improvements in chunk-to-chunk communication (#1656, #1721).

  • Code coverage for Python API via GitHub Actions (#1651).

  • Various bugfixes (#1692, #1704), minor improvements, and additional documentation.

- C++
Published by stevengj over 4 years ago

pymeep - 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.

- C++
Published by stevengj over 4 years ago

pymeep - 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 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.

- C++
Published by stevengj almost 5 years ago

pymeep - v1.17.1

  • Fix accidental breakage of the adjoint routines ([#1464]).

- C++
Published by stevengj about 5 years ago

pymeep - v1.17.0

  • 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).

- C++
Published by stevengj about 5 years ago

pymeep - v1.16.1

  • Bugfix in adjoint code (#1403).

- C++
Published by stevengj over 5 years ago

pymeep - v1.16.0

  • 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).

- C++
Published by stevengj over 5 years ago

pymeep - 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).

- C++
Published by stevengj over 5 years ago

pymeep - 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 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.

- C++
Published by stevengj almost 6 years ago

pymeep - v1.13.1

  • Avoid writing to source directory in remaining tests (#1132).

- C++
Published by stevengj about 6 years ago

pymeep - v1.13.0

  • 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.

- C++
Published by stevengj about 6 years ago

pymeep - v1.12.0

  • Faster 2d simulations with nonzero kz via the kz_2d option (#1047).

  • New Meep verbosity option superseding quiet and verbose flags (#994).

  • Output now only shows ≤ 10 geometric objects by default (#1002).

  • Performance improvements for split_chunks_evenly=False.

  • Fixed memory leaks (#1041, #1042).

- C++
Published by stevengj over 6 years ago

pymeep - v1.11.0

  • Experimental support for gyrotropic media including magneto-optical effects (#863).

  • Mode decomposition for oblique waveguides (#940, #945) and dispersive materials (#919).

  • Accept tuples in place of Vector3 arguments (#960).

  • Capture C++ error messages in Python notebooks (#953).

  • Automatically abort simulation if the fields blow up (#922).

  • Print additional timing statistics (#927, #952).

  • Various small bugfixes and documentation improvements.

- C++
Published by stevengj over 6 years ago

pymeep - v1.10.0

  • New Python functions for simple visualization of the simulation domain (#872).

  • Capture Meep and MPB output in Python notebooks (#891,

  • Add optional meep.quiet() parameter to the Python interface (#876).

  • Python evaluation of materials ε(ω) and μ(ω) (#862).

  • Experimental multithreading support for near2far calculation (#868) and other speedups (#869).

  • Add stop_after_walltime and stop_on_interrupt in Python (#860).

  • GDSII file introspection (#817).

  • Various small bugfixes and documentation improvements.

- C++
Published by stevengj almost 7 years ago

pymeep - v1.9.0

  • Adjoint solver to compute sensitivity of solution to material perturbations (#795).

  • Experimental do_averaging feature for user-defined material functions (#771, #791).

  • Periodic boundaries support in near2far via nperiods option (#769, #789).

  • Capture more output in Python notebooks (#785, #807).

  • dft-energy feature (#744, #747).

  • Eigenmode sources are normalized to unit power (#728).

  • Fix interpolation of DFT slice output (#787).

  • Bug fix in run-k-points (#779).

  • Eigenmode sources for negative angles (#752).

  • Various other minor bugfixes, build fixes, documentation improvements, tutorials, etcetera.

- C++
Published by stevengj almost 7 years ago

pymeep - v1.8.0

--without-scheme (#705), oblique sources (#675), user materials in conductivity (#689), load balancing (#681), visualize_chunks (#671), improved stability of lorentzian susceptibility (#666), array metadata (#655), source slice (#652), and various other improvements.

- C++
Published by stevengj about 7 years ago

pymeep - v1.7.0

Multilevel atoms (#500), GDSII regions in Python (#518), dominant planewave output in eigenmode solver (#531), dft-flux (etc.) computations in CW solver (#570), Python Ldos (#581), geometry_center in Python (#599), epsilon from numpy array (#593), medium transform function (#603).

- C++
Published by stevengj over 7 years ago

pymeep - v1.6.0

GDSII import in Python (#392), source amplitudes from HDF5 (#388), symmetry support in mode decomposition (#417), compatibility with latest Guile and Python versions (#419 and #456), integrated materials-library support (#479, #483), structure dump/load for dispersive materials (#454).

- C++
Published by stevengj over 7 years ago

pymeep - Meep 1.5

Python MPB, mode decomposition, DFT slices, prism objects, and more.

- C++
Published by stevengj almost 8 years ago

pymeep - Meep 1.4.3

Allow meep Python module to be imported without setting PYTHONPATH (#189).

- C++
Published by stevengj about 8 years ago

pymeep - Meep 1.4.2

Build fix for Python due to missing file (#184).

- C++
Published by stevengj about 8 years ago

pymeep - Meep 1.4.1

Minor packaging fixes.

- C++
Published by stevengj about 8 years ago

pymeep - Meep 1.4

Python interface and several API improvements.

- C++
Published by stevengj about 8 years ago

pymeep - v1.3.0

Meep 1.3 release. meep-1.3.tar.gz

- C++
Published by stevengj over 8 years ago