tidy3d.PMLParams#

class tidy3d.PMLParams#

Specifies full set of parameters needed for complex, frequency-shifted PML.

Parameters
  • sigma_order (NonNegativeInt = 3) – Order of the polynomial describing the absorber profile (~dist^sigma_order).

  • sigma_min (NonNegativeFloat = 0.0) – [units = 2*EPSILON_0/dt]. Minimum value of the absorber conductivity.

  • sigma_max (NonNegativeFloat = 1.5) – [units = 2*EPSILON_0/dt]. Maximum value of the absorber conductivity.

  • kappa_order (NonNegativeInt = 3) – Order of the polynomial describing the PML kappa profile (kappa~dist^kappa_order).

  • kappa_min (NonNegativeFloat = 0.0) –

  • kappa_max (NonNegativeFloat = 1.5) –

  • alpha_order (NonNegativeInt = 3) – Order of the polynomial describing the PML alpha profile (alpha~dist^alpha_order).

  • alpha_min (NonNegativeFloat = 0.0) – [units = 2*EPSILON_0/dt]. Minimum value of the PML alpha.

  • alpha_max (NonNegativeFloat = 1.5) – [units = 2*EPSILON_0/dt]. Maximum value of the PML alpha.

Example

>>> params = PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, kappa_min=0.0)

Show JSON schema
{
   "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 alpha_max: pydantic.types.NonNegativeFloat = 1.5#

Maximum value of the PML alpha.

Constraints
  • minimum = 0

attribute alpha_min: pydantic.types.NonNegativeFloat = 0.0#

Minimum value of the PML alpha.

Constraints
  • minimum = 0

attribute alpha_order: pydantic.types.NonNegativeInt = 3#

Order of the polynomial describing the PML alpha profile (alpha~dist^alpha_order).

Constraints
  • minimum = 0

attribute kappa_max: pydantic.types.NonNegativeFloat = 1.5#
Constraints
  • minimum = 0

attribute kappa_min: pydantic.types.NonNegativeFloat = 0.0#
Constraints
  • minimum = 0

attribute kappa_order: pydantic.types.NonNegativeInt = 3#

Order of the polynomial describing the PML kappa profile (kappa~dist^kappa_order).

Constraints
  • minimum = 0