flex_rf.tidy3d.Absorber
Type: class │ Base(s): AbsorberSpec
Description
Section titled “Description”Specifies an adiabatic absorber along a single dimension.
This absorber is well-suited for dispersive materials intersecting with absorbing edges of the simulation at the expense of more layers.
Usage Caveats
Using absorber boundary is often a good remedy to resolve divergence issues related to PML. The
adiabatic absorber is a multilayer system with gradually increasing conductivity. The absorber usually has a
larger undesired reflection compared to PML. In practice, this small difference rarely matters,
but is important to understand for simulations that require high accuracy.
There are two possible sources for the reflection from absorbers. The first, and more common one, is that the
ramping up of the conductivity is not sufficiently slow, which can be remedied by increasing the number of
absorber layers (40 by default). The second one is that the absorption is not high enough, such that the
light reaches the PEC boundary at the end of the Absorber, travels back through it,
and is still not fully attenuated before re-entering the simulation region. If this is the case, increasing
the maximum conductivity AbsorberParams can help. In both cases, changing the order of the scaling
of the conductivity (sigma_order) can also have an effect, but this is a more
advanced setting that we typically do not recommend modifying.
Example(s)
Section titled “Example(s)”pml = Absorber(num_layers=40)Parameters
Section titled “Parameters”name [str | None] = None |
|
Optional unique name for boundary. |
extrude_structures [bool] = False |
|
Automatically extrude structures into the absorbing region (e.g., PML or adiabatic absorber). Any structure located within 2 cells of a simulation boundary will be extended through the full thickness of the PML/absorber. The extruded region is assigned the material properties of the structure 2 cells from the simulation boundary. Extrusion is performed along the direction normal to the PML/absorber surface. |
num_layers [int] = 40 |
|
Number of layers of absorber to add to + and - boundaries. |
parameters [AbsorberParams] = DefaultAbsorberParameters |
|
Adiabatic absorber parameters. |