tidy3d.PML
tidy3d.PML#
- class tidy3d.PML#
Specifies a standard PML along a single dimension.
- Parameters
name (Optional[str] = None) – Optional unique name for boundary.
num_layers (NonNegativeInt = 12) – Number of layers of standard PML.
parameters (PMLParams = PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)) – Parameters of the complex frequency-shifted absorption poles.
Example
>>> pml = PML(num_layers=10)
Show JSON schema
{ "title": "PML", "description": "Specifies a standard PML along a single dimension.\n\nParameters\n----------\nname : Optional[str] = None\n Optional unique name for boundary.\nnum_layers : NonNegativeInt = 12\n Number of layers of standard PML.\nparameters : PMLParams = PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)\n Parameters of the complex frequency-shifted absorption poles.\n\nExample\n-------\n>>> pml = PML(num_layers=10)", "type": "object", "properties": { "name": { "title": "Name", "description": "Optional unique name for boundary.", "type": "string" }, "type": { "title": "Type", "default": "PML", "enum": [ "PML" ], "type": "string" }, "num_layers": { "title": "Number of Layers", "description": "Number of layers of standard PML.", "default": 12, "minimum": 0, "type": "integer" }, "parameters": { "title": "PML Parameters", "description": "Parameters of the complex frequency-shifted absorption poles.", "default": { "sigma_order": 3, "sigma_min": 0.0, "sigma_max": 1.5, "type": "PMLParams", "kappa_order": 3, "kappa_min": 1.0, "kappa_max": 3.0, "alpha_order": 1, "alpha_min": 0.0, "alpha_max": 0.0 }, "allOf": [ { "$ref": "#/definitions/PMLParams" } ] } }, "additionalProperties": false, "definitions": { "PMLParams": { "title": "PMLParams", "description": "Specifies full set of parameters needed for complex, frequency-shifted PML.\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.\nkappa_order : NonNegativeInt = 3\n Order of the polynomial describing the PML kappa profile (kappa~dist^kappa_order).\nkappa_min : NonNegativeFloat = 0.0\n \nkappa_max : NonNegativeFloat = 1.5\n \nalpha_order : NonNegativeInt = 3\n Order of the polynomial describing the PML alpha profile (alpha~dist^alpha_order).\nalpha_min : NonNegativeFloat = 0.0\n [units = 2*EPSILON_0/dt]. Minimum value of the PML alpha.\nalpha_max : NonNegativeFloat = 1.5\n [units = 2*EPSILON_0/dt]. Maximum value of the PML alpha.\n\nExample\n-------\n>>> params = PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, kappa_min=0.0)", "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": "PMLParams", "enum": [ "PMLParams" ], "type": "string" }, "kappa_order": { "title": "Kappa Order", "description": "Order of the polynomial describing the PML kappa profile (kappa~dist^kappa_order).", "default": 3, "minimum": 0, "type": "integer" }, "kappa_min": { "title": "Kappa Minimum", "default": 0.0, "minimum": 0, "type": "number" }, "kappa_max": { "title": "Kappa Maximum", "default": 1.5, "minimum": 0, "type": "number" }, "alpha_order": { "title": "Alpha Order", "description": "Order of the polynomial describing the PML alpha profile (alpha~dist^alpha_order).", "default": 3, "minimum": 0, "type": "integer" }, "alpha_min": { "title": "Alpha Minimum", "description": "Minimum value of the PML alpha.", "default": 0.0, "units": "2*EPSILON_0/dt", "minimum": 0, "type": "number" }, "alpha_max": { "title": "Alpha Maximum", "description": "Maximum value of the PML alpha.", "default": 1.5, "units": "2*EPSILON_0/dt", "minimum": 0, "type": "number" } }, "additionalProperties": false } } }
- attribute num_layers: pydantic.types.NonNegativeInt = 12#
Number of layers of standard PML.
- Constraints
minimum = 0
- attribute parameters: tidy3d.components.boundary.PMLParams = PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)#
Parameters of the complex frequency-shifted absorption poles.