{
  "title": "ModelerLowFrequencySmoothingSpec",
  "public_path": "flex_rf.tidy3d.ModelerLowFrequencySmoothingSpec",
  "lookup_path": "tidy3d.rf.ModelerLowFrequencySmoothingSpec",
  "slug": "flex_rf/tidy3d/ModelerLowFrequencySmoothingSpec",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/modelerlowfrequencysmoothingspec/",
  "object_kind": "class",
  "introduction": "Specifies the low frequency smoothing parameters for the terminal component simulation.\nThis specification affects only results at wave ports. Specifically, the mode decomposition data\nfor frequencies for which the total simulation time in units of the corresponding period (T = 1/f) is less than\nthe specified minimum sampling time will be overridden by extrapolation from the data in the trusted frequency range.\nThe trusted frequency range is defined in terms of minimum and maximum sampling times (the total simulation time divided by the corresponding period).",
  "notes": "",
  "examples": "```python\nlow_freq_smoothing = ModelerLowFrequencySmoothingSpec(\n    min_sampling_time=3,\n    max_sampling_time=6,\n    order=1,\n    max_deviation=0.5,\n)\n```",
  "references": "",
  "signature": "class ModelerLowFrequencySmoothingSpec(AbstractLowFrequencySmoothingSpec)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/plugins/smatrix/component_modelers/terminal.py",
    "url": "",
    "lineno": 312,
    "endlineno": 327
  },
  "bases": [
    "AbstractLowFrequencySmoothingSpec"
  ],
  "parameter_rows": [
    {
      "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": "min_sampling_time",
      "annotation": "NonNegativeFloat",
      "default": "1.0",
      "description": "The minimum simulation time in periods of the corresponding frequency for which frequency domain results will be used to fit the polynomial for the low frequency extrapolation. Results below this threshold will be completely discarded.",
      "origin": "inherited"
    },
    {
      "name": "max_sampling_time",
      "annotation": "NonNegativeFloat",
      "default": "5.0",
      "description": "The maximum simulation time in periods of the corresponding frequency for which frequency domain results will be used to fit the polynomial for the low frequency extrapolation. Results above this threshold will be not be modified.",
      "origin": "inherited"
    },
    {
      "name": "order",
      "annotation": "int",
      "default": "1",
      "description": "The order of the polynomial to use for the low frequency extrapolation.",
      "origin": "inherited"
    },
    {
      "name": "max_deviation",
      "annotation": "float | None",
      "default": "0.5",
      "description": "The maximum deviation (in fraction of the trusted values) to allow for the low frequency smoothing.",
      "origin": "inherited"
    }
  ],
  "members": [],
  "group": "flex_rf.tidy3d"
}
