tidy3d.Absorber
tidy3d.Absorber#
- class tidy3d.Absorber#
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.
- Parameters
name (Optional[str] = None) – Optional unique name for boundary.
num_layers (NonNegativeInt = 40) – Number of layers of absorber to add to + and - boundaries.
parameters (AbsorberParams = AbsorberParams(sigma_order=3, sigma_min=0.0, sigma_max=6.4, type='AbsorberParams')) – Adiabatic absorber parameters.
Example
>>> pml = Absorber(num_layers=40)
Show JSON schema
{ "title": "Absorber", "description": "Specifies an adiabatic absorber along a single dimension.\nThis absorber is well-suited for dispersive materials\nintersecting with absorbing edges of the simulation at the expense of more layers.\n\nParameters\n----------\nname : Optional[str] = None\n Optional unique name for boundary.\nnum_layers : NonNegativeInt = 40\n Number of layers of absorber to add to + and - boundaries.\nparameters : AbsorberParams = AbsorberParams(sigma_order=3, sigma_min=0.0, sigma_max=6.4, type='AbsorberParams')\n Adiabatic absorber parameters.\n\nExample\n-------\n>>> pml = Absorber(num_layers=40)", "type": "object", "properties": { "name": { "title": "Name", "description": "Optional unique name for boundary.", "type": "string" }, "type": { "title": "Type", "default": "Absorber", "enum": [ "Absorber" ], "type": "string" }, "num_layers": { "title": "Number of Layers", "description": "Number of layers of absorber to add to + and - boundaries.", "default": 40, "minimum": 0, "type": "integer" }, "parameters": { "title": "Absorber Parameters", "description": "Adiabatic absorber parameters.", "default": { "sigma_order": 3, "sigma_min": 0.0, "sigma_max": 6.4, "type": "AbsorberParams" }, "allOf": [ { "$ref": "#/definitions/AbsorberParams" } ] } }, "additionalProperties": false, "definitions": { "AbsorberParams": { "title": "AbsorberParams", "description": "Specifies parameters common to Absorbers and PMLs.\n\nParameters\n----------\nsigma_order : NonNegativeInt = 3\n Order of the polynomial describing the absorber profile (~dist^sigma_order).\nsigma_min : NonNegativeFloat = 0.0\n [units = 2*EPSILON_0/dt]. Minimum value of the absorber conductivity.\nsigma_max : NonNegativeFloat = 1.5\n [units = 2*EPSILON_0/dt]. Maximum value of the absorber conductivity.\n\nExample\n-------\n>>> params = AbsorberParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5)", "type": "object", "properties": { "sigma_order": { "title": "Sigma Order", "description": "Order of the polynomial describing the absorber profile (~dist^sigma_order).", "default": 3, "minimum": 0, "type": "integer" }, "sigma_min": { "title": "Sigma Minimum", "description": "Minimum value of the absorber conductivity.", "default": 0.0, "units": "2*EPSILON_0/dt", "minimum": 0, "type": "number" }, "sigma_max": { "title": "Sigma Maximum", "description": "Maximum value of the absorber conductivity.", "default": 1.5, "units": "2*EPSILON_0/dt", "minimum": 0, "type": "number" }, "type": { "title": "Type", "default": "AbsorberParams", "enum": [ "AbsorberParams" ], "type": "string" } }, "additionalProperties": false } } }
- attribute num_layers: pydantic.types.NonNegativeInt = 40#
Number of layers of absorber to add to + and - boundaries.
- Constraints
minimum = 0
- attribute parameters: tidy3d.components.boundary.AbsorberParams = AbsorberParams(sigma_order=3, sigma_min=0.0, sigma_max=6.4, type='AbsorberParams')#
Adiabatic absorber parameters.