Repository navigation
v2.13.0.dev1
Pre-release
Pre-release
What's Changed
Added
- Added
EMEModeSolverMonitor.direction,EMESimulationData.port_modes_backwardand directional basis conversion for EME cells with distinct forward and backward modes. - For EME results with
port_modes_backward,smatrix_in_basisrequires paired forward/backward bases per changed port, whilefield_in_basisalso accepts a basis matching the excitation direction; these conversions requiretidy3d-extrasand an EME license. CurrentBCnow drives charge contacts by total terminal current and solves their potentials, with support for multiple current-driven contacts, ohmic and Schottky contacts, and one sweptDCCurrentSource.currenton the accelerated charge solver.- Current-driven contacts support small-signal analysis as open circuits, except isolated zero-current contacts, which must be the only current-driven contact and warn that their potential depends on the initial state.
- An ohmic
CurrentBCmay share a placement withSurfaceRecombinationBCor reach a heterojunction, but cannot do both; a nonzero current on a contact with no path to another contact is rejected. - Current-sweep results are indexed by the solved potential of the swept contact.
- Added loss current density
Jx_loss/Jy_loss/Jz_lossonFieldStructureDataandcolocate_loss_current_density(...)to place the components on common coordinates. - Added
ProtectedDopingReffor hosted charge simulations with surrogate-only local previews and encrypted doping profiles carried in HDF5; optical simulations and mode calculations ignore these references. - Hosted charge runs with
ProtectedDopingRefrequire the accelerated solver and at least two voltage points, allow only whole-domainSteadyCapacitanceMonitorrecording, and omit solver logs and residual/CFL traces. - Added
SimulationData.specific_absorption_rate(...)andspecific_absorption_rate_from_densities(...)for point SAR in W/kg using aFieldStructureMonitorand material mass densities. - SAR calculations require mass densities for absorbing media, supplied by their heat media or explicitly in kg/um^3; 2D materials, lumped elements and automatic PEC frames contribute zero.
- Added
ProtectedOpticalMediumReffor hosted FDTD andModeSimulationwith surrogate-only local previews and encrypted HDF5 payloads; JSON/YAML contain placeholders, and local solving, adjoint workflows and result renormalization are unsupported. - Added
SurfaceFieldStructureMonitorandSurfaceFieldStructureDatafor surface fields and electromagnetic surface-loss density on PEC and lossy-metal structures, including symmetry and overlap with 2D materials, lumped elements and automatic PEC frames. - Added
SimulationData.per_structure_loss(...)for surface and volumetric electromagnetic losses by structure in 3D; supply the corresponding monitors at matching frequencies, with unsampled losses reported as NaN. - Added
ModeStructureMonitor,ModeStructureDataandModeSimulationData.field_structure(...),optical_generation(...)andper_component_optical_generation(...)for structure-resolved mode optical generation; the monitor requirescolocate=Falseand all three electric-field components. - Added experimental meshing for 3D heat, charge and conduction simulations through
mesher="experimental"on unstructured grid specifications;AutoUnstructuredGridis unsupported. - The
TriangleMeshconstructorsfrom_stl,from_trimesh,from_triangles,from_vertices_faces,from_height_gridandfrom_height_functiontakeremove_degenerate_facesto remove near-zero-area triangles before building the mesh. - Added automatic differentiation for
GeometryArraybase-geometry parameters, instance offsets and invertible instance transforms, and for geometry parameters and invertible affine matrices inTransformed. - Added autograd support for
PolySlab.bulges, and forverticesandslab_boundsof arc-containingPolySlabs, whensidewall_angle=0anddilation=0. - Added
LombardiSurfaceDependencethroughCaugheyThomasMobility.surface_dependenceandMasettiMobility.surface_dependencefor accelerated charge simulations; these models now serialize the field, so new files do not load in older clients. - Added
TransferredElectronFieldDependence, a high-field mobility model with the negative differential mobility of direct-gap III-V semiconductors, driven by the electric field or the quasi-Fermi gradient and selectable throughfield_dependencealongsideCanaliFieldDependence(accelerated charge solver only). - Added autograd gradients for supported
ThinLensBeamparameters andThinLensOverlapMonitoramplitudes in fixed homogeneous, isotropic, lossless plane media. - Added
AlloyMobility, the low-field mobility of a III-V alloy harmonically interpolated between twoCaugheyThomasMobilityend members by mole fraction, with an optional alloy-scattering term (accelerated charge solver only). - Added temperature-dependent thermal conductivity and heat capacity on
SolidMedium, including anisotropic conductivity andInversePolynomialConductivity.from_resistivity(...)for thermal-resistivity fits. - Temperature-dependent thermal properties support heat simulations with conduction heat sources and accelerated self-heating charge simulations; models are clamped to
temperature_range, and heat capacity has no effect in steady charge analyses. SteadyGenerationRecombinationDatanow reports activeshockley_reed_hall,auger,radiative,band_to_band_tunnelinganddistributed_generationrates alongsideimpact_ionization, summing tonet_recombination.- Added quasi-Fermi-gradient-driven velocity saturation through
CanaliFieldDependence.driving_forceandreference_densityon the accelerated charge solver; the default remains"electric_field", and quasi-Fermi-driven DC solves may take up to twice as long. CanaliFieldDependencenow serializesdriving_force, so files written by this version do not load in older clients.- Added
HeterojunctionSurfaceShockleyReedHallRecombinationandHeterojunctionCaptureSidefor interface-trap recombination at a heterojunction, with per-side capture velocities. - Added
LVSRunnerandLVSResultsto the KLayout plugin for running KLayout's layout versus schematic (LVS) checks and loading their results. - Added
Simulation.check_ports_reach_pml()to identify mode ports whose connected structures do not span the absorbing layer, accounting for extrusion and grouped or unioned geometries. - Set
config.validation.check_ports_reach_pml=Truefor pre-upload mode-port warnings in full validation; warnings are disabled by default and skipped in fast mode, while the helper remains callable in any validation mode. - Added second-order subpixel-smoothed projection through
smoothed_projection(..., order=2)andprojection="ssp2"in autograd and inverse-design filter-and-project helpers. - Filter-and-project helpers also accept
projection="ssp1"and periodic SSP derivatives withpadding="wrap"; the design plugin requires 2D grids with equal physical cell spacing. - Added
AnisotropicPermittivityfor charge media on the accelerated solver, with principal values and rotation orfrom_components(...)tensor construction and plotting of global-frame components. - For strongly anisotropic charge permittivity,
linear_solver="direct"is recommended; conduction simulations still require scalar permittivity. - The accelerated charge solver warns when the
MasettiMobilityformula is not positive at some nodes for the local temperature and doping, where it sets the mobility to zero. - Added
FieldStructureTimeMonitorandFieldStructureTimeDatafor time-domain fields, static-conductivity loss current and power density, and instantaneous per-structure loss throughSimulationData.per_structure_loss(...). - Time-domain loss reports NaN with a warning for lossy dispersive or nonlinear media and for surface-impedance metals without surface-loss recording; fully anisotropic and time-modulated media are unsupported.
- Added
record_in_pml=Falseto field, medium, permittivity, flux and field-projection monitors to exclude PML/absorber layers from recordings and integration surfaces; the default isTrue, and the option is unavailable inEMESimulationandModeSimulation. - On the accelerated charge solver, a self-heating charge simulation now accepts
AnisotropicConductivity,RadiationBC, aConvectionBCwith a positiveemissivity,ThermalContactResistanceexcept between two semiconductors or on a conductor, andSolidMedium.velocityexcept on a semiconductor. - Added company shared workspace selection through
config.workspace.defaultand helpers to move or duplicate tasks, list workspaces and members, and inspect activity; private remains the default workspace. SimulationacceptsLumpedVoltageSource, the ideal voltage source FlexRF provides, and before upload rejects one that cannot set its voltage where the grid places it.- Added
bh_strategy,velocity_clampandinit_velocitytotidy3d.plugins.design.MethodParticleSwarm, exposing the pyswarms boundary handling, velocity clamp and initial swarm velocities. - Added
ChargeToleranceSpec.linear_rel_tol, the factor by which the iterative linear solver reduces the residual of the linear system at each nonlinear iteration of a charge simulation (default1e-2). - Log remote simulation cache hits when
verbose=Trueand correctly report their zero cost. SurfaceFieldTimeMonitornow acceptssampling_dtandnum_samplesto set its recording cadence in physical time or as a sample count, likeFieldTimeMonitorandFluxTimeMonitor.- With the accelerated charge solver,
SelberherrImpactIonization(formulation="GradQuasiFermi")now also runs with self-heating and prescribed-temperature analyses (SteadyChargeDCAnalysis,SSACAnalysis), evaluating the quasi-Fermi levels at the local lattice temperature. - Added incomplete dopant ionization through
SemiconductorMedium.donor_ionizationandacceptor_ionization, withPearsonBardeenIonization,AltermattSchenkIonization,MultiSiteIonizationandSteadyDopingMonitoron the accelerated charge solver. - Incomplete-ionization capacitance includes carriers bound to dopants, and
SlotboomBandGapNarrowingpreserves its fitted equilibrium minority-carrier density; media without an ionization model are unchanged. - Added
DeviceCharacteristics.ac_photocurrent_voltage,ac_admittance_voltageandac_capacitance_voltagefor accelerated charge small-signal analyses, reporting the response at theSSACVoltageSourcecontact versus bias and frequency. - With
DistributedGeneration,ac_photocurrent_voltagereports short-circuit photocurrent per unit generation-modulation depth for photodetector responsivity and transit-limited bandwidth calculations. - Added Pockels and DC Kerr electro-optic perturbations through
ElectroOpticPerturbationandPerturbationAnisotropicMedium, usingperturbed_mediums_copy(electric_field=...); only diagonal impermeability changes in simulation coordinates are applied.
Changed
- When passing
field_dependenceas a dictionary to a mobility model, include"type": "CanaliFieldDependence"or"type": "TransferredElectronFieldDependence"; passing model objects and loading saved simulations are unaffected. - When passing
SurfaceRecombinationBC.modelas a dictionary, include"type": "SurfaceShockleyReedHallRecombination"or"type": "HeterojunctionSurfaceShockleyReedHallRecombination"; passing model objects and loading saved simulations are unaffected. - On EME results without backward port modes,
smatrix_in_basisandfield_in_basisnow reject a single backward basis; local EME requires forward mode data and rejects cells with non-diagonalFullyAnisotropicMedium, which should be run on the server. SemiconductorMediummaterials whoseN_c,N_v,E_gandelectron_affinityagree within a 1e-12 relative tolerance, including ones that differ only inattrsor in the form of an equal effective DOS, now meet as a same-material junction, which acceptsSurfaceShockleyReedHallRecombinationand has no thermionic emission.- A self-heating
SteadyChargeDCAnalysisorSSACAnalysisno longer requires aTemperatureMonitor, and warns when noTemperatureBCorConvectionBCremoves the heat or a semiconductor has noheatmedium. - Sped up autograd tracer detection for models containing large numeric data arrays.
- Updated EME FlexCredit, runtime, memory and storage estimates for anisotropic cells requiring distinct forward and backward modes, including frequency interpolation.
CurrentBC.sourcenow specifies total terminal current in amperes, or amperes per micron of device depth in 2D, and symmetry applies to the whole-device current rather than a manually reduced current.- An isothermal or prescribed-temperature charge analysis now warns about heat boundary conditions and heat sources, which it never applied.
- Sped up loading individual monitors from large result files.
- Rejected
symmetryalong the zero-size axis of a 2DHeatChargeSimulation, which the solvers could not mesh. - A charge simulation now rejects a semiconductor whose electron and hole mobility models are of different types, which the solver refused only after submission.
- On the accelerated charge solver, a missing
electron_affinitythat decides the band offset between two semiconductors now warns. - A
SemiconductorMedium.Rthat lists a mechanism twice, exceptDistributedGeneration, now warns that only one entry is used. - Multifrequency diffraction objectives in periodic simulations can now share adjoint runs when their in-plane wavevectors match.
- Reduced Tidy3D import time, including in the web GUI.
- Sped up autograd gradient computation and reduced its peak memory for
CustomMediumgradients. - Sped up structure plots (
plot,plot_eps, and heat/charge property plots) for scenes with many structures or largeGeometryGroups. HeatChargeSimulationwarns when all its contact entries name one metal structure with one source, since the charge simulation then has a single terminal.FieldStructureMonitornow supports overlap with 2D materials, lumped elements and automatic PEC frames; lumped elements and PEC frames usestructure_index=-2.- A self-heating charge simulation now warns that the heat medium of a
ChargeConductorMediumis not used, since conductors take no part in its heat solve. Medium2D.volumetric_equivalentnow returnsMediumfor constant-conductivity components, reducing time-stepping cost for lumped resistors, parallel RC networks and conductive 2D sheets without unnecessary pole-residue terms.- With the accelerated charge solver,
HeatChargeSimulationnow warns when twoSemiconductorMediummedia that may meet have the sameN_c,N_v,E_gandelectron_affinitybut a differentdelta_E_g, a difference that acts as a voltage source where they meet. - Baseband source times now derive their characteristic frequency and
frequency_range()from their fastest 10%-to-90% transition, so automatic grids without awavelengthresolve the transitions and mode sources solve at that frequency; the new optionalfreq0sets the frequency explicitly and is needed for steeply angled plane waves. - Sped up
PolySlab.insidefor polygon slabs with a slanted sidewall (sidewall_angle != 0). - Avoided loading web dependencies when importing
tidy3d.plugins.dispersion.
Fixed
- Fixed EME mode matching, backward propagation and port-mode normalization for non-diagonal
FullyAnisotropicMediumand anisotropic bends withbend_medium_frame="global", keeping lossy port modes consistent with the S-matrix basis. - Fixed overestimated gradients with respect to uniform medium parameters for structures crossing a periodic or Bloch boundary.
- On the accelerated charge solver, a doping box that ends on a contact or on a boundary of a semiconductor now dopes the nodes on that boundary, which rounding of the box bounds could leave undoped and turn an ohmic contact into a barrier.
- Fixed the electric field and current density of 2D charge simulations with
use_accelerated_solver=Truein the xz or yz plane, which dropped their z component. HeatChargeSimulationaccepts a swept or SSAC-driven metal named by severalboundary_specentries with the same source on the accelerated charge solver.- Corrected the sign of
DeviceCharacteristics.steady_dc_electron_capacitanceto matchSteadyCapacitanceData.electron_capacitance, making both electron and hole capacitances positive in reverse bias. Scene.plot_epsandScene.eps_boundsnow plot static permittivity for charge-onlyMultiPhysicsMedium.- Corrected complex-output gradients in the PyTorch wrapper.
- Fixed conversions between lossless
CustomMediumandCustomPoleResiduemodels when conductivity is absent. - Included custom-pulse delays in automatic simulation run times.
- Fixed
EMECoefficientMonitorn_complexandfluxdata being stored under the wrong mode index in cells that drop an invalid mode, which also madeEMECoefficientDataset.normalized_copyscaleAandBby another mode's flux. - Fixed the frequency scaling of gradients with respect to the imaginary part of a
CustomMedium.eps_datasetfor objectives at several frequencies. - In a 2D charge simulation on the accelerated charge solver, doping boxes and
CustomDopingorDistributedGenerationdata that are finite along the out-of-plane axis are now taken at the simulation plane instead of losing a mesh-dependent part of the doping or generation. - Fixed
DeviceCharacteristicsto report whole-device results for charge simulations withsymmetryanduse_accelerated_solver=True. - Corrected the docs of
ChargeToleranceSpec.rel_tol, the 2Dsteady_dc_resistance_voltagedepth conversion and theHurkxDirectBandToBandTunnelingexample. - Charge simulations now reject before upload Cartesian
TemperatureMonitorrecording and CartesianSteadyPotentialMonitorrecording in 2D or bias sweeps, preventing failed solves and incorrect recorded fields. plot_structures_epswithscale="symlog"and automatic limits no longer raises when the minimum permittivity is negative.- Fixed autograd filters to preserve complex convolution results and constant-padding Gaussian-filter gradients, and to handle one-pixel conic filters and per-axis kernel sizes on inputs with singleton dimensions.
- Preserved
allow_gainwhen converting between diagonal and fully anisotropic media. - Avoided numerical cancellation when computing Gaussian pulse widths for narrow frequency ranges.
- An
InsulatingBCthat covers a contact face no longer replaces the contact, whatever the order ofboundary_spec, unless its placement names the contact's metal. - Fixed the
SteadyCapacitanceDatadocumentation to describe the central difference the capacitance uses. - Fixed conductivity-axis resolution in fully anisotropic media with repeated principal permittivities.
- Fixed resonance analysis accepting mismatched sampling intervals by comparing time steps with a relative tolerance.
- A contact placed with
StructureStructureInterfaceon one of several structures of one semiconductor medium no longer splits that medium at the faces between those structures, which with impact ionization could stop a sweep from converging. - Preserved pixel positions and gradients in ramp projections.
- Fixed plotting of fully anisotropic media with principal permittivities or passive conductivities accepted within numerical tolerance.
- Fixed the potential reference on the accelerated charge solver to follow
VoltageBC: the background semiconductor's electron affinity, otherwise that of the lowest-priority semiconductor structure. - Preserved supplied medium settings in
Lorentz.from_nkwhen the extinction coefficient is zero. - The
GaussianDopingdocumentation now gives the concentration at box edges and corners, and in a box thinner than twicewidththe plotted doping and the legacy charge solver now use the same profile as the accelerated charge solver. - Preserved coordinates of singleton charge samples while accepting unlabeled singleton arrays in custom charge perturbations.
- Fixed
BacktrackingSafeUpdaterecovery for parameter arrays with different memory layouts. - Fixed
IndexPerturbation.from_perturbation_delta_modelto evaluate delta values at the model reference frequency. - Corrected the complex phase shown in perturbation plots.
- Preserved negative real permittivity in
DispersionFitter.from_complex_permittivitywhen the imaginary part is omitted. - Fixed optical permittivity queries, local mode solves and conductor-priority handling for
MultiPhysicsMediumby using its optical component. MultiPhysicsMediumoptical queries now report a missingopticalfield, and wrappingMedium2Dis rejected at validation.- Fixed zero
PolySlab.slab_boundsgradients in two-dimensional simulations when the slice coordinate cannot be represented exactly in single precision. - Fixed crashes in
PolySlabgeometry queries and plotting when its fields are traced by autograd; side-plane and tilted-plane intersections of a tracedPolySlabnow raise a clear error instead. - Corrected temporal normalization of adjoint gradients for beam and custom field/current source parameters, including source bandwidth and forward normalization settings.
- Fixed
MasettiMobilityvalidation to check the high-doping asymptote at 300 K and the heat-boundary temperatures when the lattice temperature is solved for or not prescribed, instead of skipping the check. - Fixed adjoint gradients for
PolySlab.slab_boundsand axialCylinder.center/lengthwith a nonzerosidewall_angle. - Fixed loading results without a solver log.
- Fixed
Simulation.to_gdstk,to_gdsandto_gds_fileexports of structures extending infinitely across the export plane, including custom media, by clipping them to simulation bounds. - Non-isothermal charge simulations now reject solids without a charge medium before upload; use
ChargeInsulatorMedium(permittivity=...)for insulating solids, including the background, while isothermal charge simulations are unaffected. - Fixed simulation PML warnings so each structure bound is checked against the boundary condition and PML thickness for its own axis and side.
HeatChargeSimulationnow logs eachlinear_solver='direct'warning once, instead of on every validation, so parameter sweeps andBatchruns no longer repeat it for every simulation.- Fixed spurious growing modes in lossless mode solves, including magnetic-wall symmetry, and corrected normalization and orthogonalization weights at boundary cells and single-cell invariant axes.
- Fixed incorrect autograd gradients for
FieldMonitorobjectives in simulations withsymmetry, including point monitors whenconfig.adjoint.parallel_runis enabled. - Fixed import-order-dependent failures with model subclasses, including inverse-design metrics.
- Fixed single-bias charge field monitors to use the same
voltagecoordinate asdevice_characteristics, including when a grounded contact is listed first. - Fixed
HeatChargeSimulation.plotandplot_boundariesboundary-condition plots for overlapping structures, multipart regions and holes; simulation results are unaffected. - The Schottky barrier check on a
VarshniEnergyBandGapsemiconductor now uses the contact's lattice temperature, or the coldest heat-sink temperature in a self-heating run, instead of twice the simulation temperature. - Fixed ohmic and Schottky contact voltage offsets with band-gap narrowing in accelerated charge simulations, shifting potential and energy-band outputs by up to half the local narrowing and potentially changing flat-band and breakdown voltages.
- Charge simulations combining
SlotboomBandGapNarrowingwithfermi_dirac=Trueno longer count carrier degeneracy twice, which changes results in regions doped above about 1e19 cm^-3. - Broadband
PlaneWavesources with a fixed in-plane wave vector (FixedInPlaneKSpec) in a dispersive background medium now inject the same in-plane wave vector at every frequency, the one their Bloch boundaries are set from. - Corrected
PolySlabvertex gradients in two-dimensional simulations and for nonzerodilationorsidewall_angle, including PEC cross-sections. - Optical homogeneity checks for sources, monitors, field projection, and automatic absorbing boundaries ignore medium names and user attributes when the optical models match.
- Fixed local subpixel mode simulation results to use public Tidy3D data classes, allowing current and voltage integrals to accept the returned modes.
- Fixed
FieldProjector.from_near_field_dataprojections from monitors extending into PML, including infinite monitors and windowed projections withuse_colocated_integration=False. - Fixed the accelerated charge solver giving the wrong current where two
SemiconductorMediummedia with the same band parameters anddelta_E_gbut different doping meet, such as separate n- and p-doped silicon media withSlotboomBandGapNarrowing. - Fixed adjoint shape gradients next to acute or curved geometry edges, where the inside or outside permittivity was sampled on the wrong side of the adjacent face.
DiffractionData.ampsandDiffractionData.powernow report zero for a diffraction order at frequencies where it is evanescent, and new runs also store zero diffraction fields there.- Corrected shape gradients for PEC, PEC2D and surface-impedance lossy metals, including cutouts, dielectric contacts, uniform reciprocal anisotropic surroundings and two-dimensional simulations.
- Adjoint setup now warns when nearby metal, strongly curved surfaces, sources, monitors or unsupported surrounding media can reduce metal shape-gradient accuracy.
- Metal shape-gradient calculations now raise
AdjointErrorbefore allocating data beyondconfig.adjoint.memory_allotment_fractionof available memory. - Fixed
SelberherrImpactIonizationkeeping the accelerated charge solver from converging at biases where the device current is negligible, such as a diode near 0 V or at low reverse bias, most often with the defaultformulation="PQ"; the generation-recombination monitor reports zero impact-ionization generation where both carrier currents are below numerical resolution. DiffractionMonitoramplitudes of nonzero orders no longer carry a grid-dependent phase error (aboutpi * m / Nfor ordermwithNcells per period).- Fixed accelerated charge DC sweeps into strong inversion stopping short of thermal equilibrium, including MOS capacitors with no minority-carrier contact.
- Isothermal equilibrium sweeps without generation, tunneling or impact ionization now converge more quickly when contacts on connected semiconductor structures share one voltage, including on fine interface meshes.
- Fixed
EMESimulationraising a genericsizeerror instead of theport_offsetserror when the twoport_offsetsadd up to more thansizealongaxis; the error now reports the offsets, their sum, and the size. - Fixed
AutoGridfailing with "AutoGrid coordinates ... do not match the simulation domain" when a snapping point lies on or withindl_minof a simulation edge, a structure extends past that edge, and unshadowed mesh overrides are present, as withLayerRefinementSpeccorner refinement. - Logging from several threads at once, as
Batchuploads do, no longer fails intermittently inside the logger or mixes warning consolidation, capture or output suppression between threads. - Corrected
cSimaterial-library variantSi_MultiPhysicselectron mobility from 1471 to 1417 cm²/V/s, reducing lightly doped values by up to 3.7%; setmobility_n.mu=1471.0to reproduce previous results. - Fixed
PerturbationMedium.perturbed_copydropping the baseconductivityof a lossy medium when its heat or charge perturbation changes only the permittivity, which made the perturbed medium lossless. - Fixed
ComplexPolySlab.insidemisclassifying points at heights where the offset polygon self-intersects. - Status checks, cost estimation, and monitoring of a blocked RF component modeler task now raise a
WebErrorcontaining the server's block message.
Breaking Changes
CurrentBCis no longer accepted in conduction simulations, on the non-accelerated charge solver, or on contacts touching only insulators.- Constructing
BroadbandPulsenow requires thetidy3d-extraspackage, including when the pulse is not yet attached to a source. ChargeInsulatorMedium,ChargeConductorMediumandSemiconductorMediumno longer provide optical methods such aseps_model; read staticpermittivityinstead and useMultiPhysicsMedium(optical=..., charge=...)for optical simulations.- Charge media no longer accept
heat_specor optical settings (frequency_range,allow_gain,nonlinear_spec,modulation_spec); useMultiPhysicsMedium(heat=..., charge=...)for thermal coupling, while loaded legacy optical settings warn and are ignored. - A
TriangleMeshwith near-zero-area triangles now fails validation instead of having those triangles removed automatically; passremove_degenerate_faces=Trueto the constructor that builds it, such asTriangleMesh.from_stlorTriangleMesh.from_triangles, to remove them. NumericalStructureConfig.compute_derivativesno longer receivesderivative_helper; the derivatives it needs are now declared asNumericalDerivativeQueryentries inderivative_queriesand passed to it asquery_results.PointCloudFieldMonitor,PointCloudPermittivityMonitorandDipoleEmissionMonitorare no longerBoxsubclasses;center,sizeandboundsare read-only and come from the bounding box ofpoints.
Full Changelog: v2.13.0.dev0...v2.13.0.dev1