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_tolforget_farfieldsandNear2FarFieldsin cylindrical coordinates (#3064).Experimental (undocumented) new method
complexflux()fordft_fluxobjects, similar toflux()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.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
labelfield that appears whenSimulation.plot2Dis called withlabel_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_fluxin 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
Simulationclass (#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
MaterialGridusing analytical rather than numerical-quadrature framework (#1539, #1568).Improvements to user-specified chunk layout as
BinaryPartitionobject (#1577).JAX wrapper for
Simulationobject 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_gridfunction for evaluating ε on user-specified grid with arbitrary resolution (#1522).Support for user-specified chunk layouts for manual control over load-balancing (#1528).
MaterialGriddesign_parametersis renamed toweightsandU_SUMis renamed toU_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.0
get_array_slicenow does continuous interpolation as the slice position is moved (#1456).New
contouroption for contour-plotting inplot2D(#1437).Adjoint optimization of
near2fartransformations (#1417).get_array_metadatais 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.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-diroption ofconfigurenow accepts simply the installationprefixin addition toprefix/share/libctl(#1286).Less verbose mode-solver output from MPB (#1302, #1388), and new
meep.verbosityoption 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).
MaterialGridmaterial type in Python to interpolate an array of material values as the "material" of an object, especially for topology optimization (#1242).merge_subgroup_dataPython 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
omegaparameter tofrequencyat some places in the Python API, for consistency (#1171), anddft_fieldsobject now takesfcenanddfinstead offreq_minandfreq_maxin Python.Support for SWIG 4.0 (#1159), and various other minor fixes.
- C++
Published by stevengj almost 6 years ago
pymeep - v1.13.0
Optional parameter
omegaforoutput-epsilonand similar functions, allowing the complex ε and μ at a given frequency to be outputted (#1112, following #919).near2farcomputation now supports cylindrical coordinates (#1090).Experimental support for slanted prisms (requires libctl 4.5) via
sidewall_angleparameter to prism objects (#1129).New
yee_grid=Falseoptional argument toadd_dft_fields; by passingTrueone can compute the fields on the original Yee grid (#1095).New function
meep::make_output_directory()to make a temporary directory (inTMPDIRor 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-2doption in Scheme, mirroring Pythonkz_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
kzvia thekz_2doption (#1047).New Meep
verbosityoption supersedingquietandverboseflags (#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_walltimeandstop_on_interruptin 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_averagingfeature for user-defined material functions (#771, #791).Periodic boundaries support in
near2farvianperiodsoption (#769, #789).Capture more output in Python notebooks (#785, #807).
dft-energyfeature (#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.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