{
  "title": "QuasiUniformGrid",
  "public_path": "flex_rf.tidy3d.QuasiUniformGrid",
  "lookup_path": "tidy3d.QuasiUniformGrid",
  "slug": "flex_rf/tidy3d/QuasiUniformGrid",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/quasiuniformgrid/",
  "object_kind": "class",
  "introduction": "Similar to `UniformGrid` that generates uniform 1D grid, but grid positions\nare locally fine tuned to be snaped to snapping points and the edges of structure bounding boxes.\nInternally, it is using the same meshing method as `AutoGrid`, but it ignores material information in\nfavor for a user-defined grid size.",
  "notes": "",
  "examples": "```python\ngrid_1d = QuasiUniformGrid(dl=0.1)\n```",
  "references": "",
  "signature": "class QuasiUniformGrid(AbstractAutoGrid)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/grid/grid_spec.py",
    "url": "",
    "lineno": 921,
    "endlineno": 1007
  },
  "bases": [
    "AbstractAutoGrid"
  ],
  "parameter_rows": [
    {
      "name": "dl",
      "annotation": "PositiveFloat",
      "default": "",
      "description": "Grid size for quasi-uniform grid generation. Grid size at some locations can be slightly smaller.",
      "origin": "declared"
    },
    {
      "name": "attrs",
      "annotation": "dict",
      "default": "factory: dict",
      "description": "Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields, `attrs` are mutable. For example, the following is allowed for setting an `attr` `obj.attrs['foo'] = bar`. Also note that Tidy3D will raise a `TypeError` if `attrs` contain objects that can not be serialized. One can check if `attrs` are serializable by calling `obj.model_dump_json()`.",
      "origin": "inherited"
    },
    {
      "name": "max_scale",
      "annotation": "float",
      "default": "1.4",
      "description": "Sets the maximum ratio between any two consecutive grid steps.",
      "origin": "inherited"
    },
    {
      "name": "mesher",
      "annotation": "MesherType",
      "default": "factory: GradedMesher",
      "description": "The type of mesher to use to generate the grid automatically.",
      "origin": "inherited"
    },
    {
      "name": "dl_min",
      "annotation": "NonNegativeFloat | None",
      "default": "None",
      "description": "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.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "estimated_min_dl",
      "kind": "function",
      "signature": "estimated_min_dl(wavelength: float, structure_list: list[Structure], sim_size: tuple[float, 3])",
      "description": "Estimated minimal grid size, which equals grid size here."
    }
  ],
  "group": "flex_rf.tidy3d"
}
