- tidy3d simulation plugin improvements
- add run_time_ps to tidy3d plugin, increase by 10x previous default run_time_ps
- if a task was deleted it raises WebError exception, catch that in get results
[4.2.9](https://github.com/gdsfactory/gdsfactory/pull/199)
- thread each tidy3d.write_sparameters simulation, so they run in parallel
- add tidy3d.write_sparameters_batch to run multiple sparameters simulations in parallel
[4.2.8](https://github.com/gdsfactory/gdsfactory/pull/198)
- fix tidy3d materials. Si3N4 uses Luke2015 by default
[4.2.7](https://github.com/gdsfactory/gdsfactory/pull/197)
- fix meep grating_coupler (draw teeth instead of etch)
- add triangle2 and triangle4 to components
- tidy3d.plot_simulation_xy accepts wavelength to plot permitivity
- tidy3d.get_simulation accepts wavelength_min, wavelength_max, wavelength_steps
- tidy3d.get_simulation accepts wavelength_min, wavelength_max, wavelength_steps
- tidy3d.get_sparameters returns Sparameters dataframe wavelength_min, wavelength_max, wavelength_steps
- rename meep.write_sparameters wl_min to wavelength_start, wl_max to wavelength_stop and wl_steps to wavelength_points
- add port_source_offset to tidy3d.get_simulation as a workaround for [tidy3d issue](https://github.com/gdsfactory/gdsfactory/issues/191)
[4.2.6](https://github.com/gdsfactory/gdsfactory/pull/196)
- rename gen_loopback() function to add_loopback in gdsfactory.add_loopback