tidy3d.AutoGrid#

class AutoGrid[source]#

Bases: AbstractAutoGrid

Specification for non-uniform grid along a given dimension.

Parameters:
  • max_scale (float = 1.4) – Sets the maximum ratio between any two consecutive grid steps.

  • mesher (GradedMesher = GradedMesher()) – The type of mesher to use to generate the grid automatically.

  • dl_min (Optional[NonNegativeFloat] = None) – [units = um]. Lower bound of the grid size along this dimension regardless of structures present in the simulation, including override structures with enforced=True. It is a soft bound, meaning that the actual minimal grid size might be slightly smaller. If None or 0, a heuristic lower bound value will be applied.

  • min_steps_per_wvl (float = 10.0) – Minimal number of steps per wavelength in each medium.

  • min_steps_per_sim_size (float = 10.0) – Minimal number of steps per longest edge length of simulation domain bounding box. This is useful when the simulation domain size is subwavelength.

Notes

Practical Advice

Recommended min_steps_per_wvl values:

  • 10 (default): Quick estimates and sanity checks only.

  • 15-20: Good accuracy for most simulations. Verify convergence by comparing results at two resolutions.

  • Higher: Only if convergence tests show the result hasn’t settled. Can be expensive — use judiciously.

Ensure that geometric features (thin slabs, narrow gaps) are covered by at least 2 grid cells. For a typical 220 nm SOI waveguide, fewer than 10 cells in z is often sufficient.

Example

>>> grid_1d = AutoGrid(min_steps_per_wvl=16, max_scale=1.4)

See also

UniformGrid

Uniform 1D grid.

GridSpec

Collective grid specification for all three dimensions.

Notebooks:
Lectures:

Attributes

min_steps_per_wvl

min_steps_per_sim_size

max_scale

mesher

dl_min

Methods

estimated_min_dl(wavelength, structure_list, ...)

Estimated minimal grid size along the axis.

min_steps_per_wvl#
min_steps_per_sim_size#
estimated_min_dl(wavelength, structure_list, sim_size)[source]#

Estimated minimal grid size along the axis. The actual minimal grid size from mesher might be smaller.

Parameters:
  • wavelength (float) – Wavelength to use for the step size and for dispersive media epsilon.

  • structure_list (list[Structure]) – List of structures present in the simulation.

  • sim_size (tuple[float, 3]) – Simulation domain size.

Returns:

Estimated minimal grid size from grid specification.

Return type:

float