twpasolver.models.twpa_cells module#

Models for TWPAS.

pydantic model twpasolver.models.twpa_cells.StubBaseCell[source]#

Bases: TwoPortModel

Base cell of twpa stub filter model.

Show JSON schema
{
   "title": "StubBaseCell",
   "description": "Base cell of twpa stub filter model.",
   "type": "object",
   "properties": {
      "Z0_ref": {
         "default": 50.0,
         "description": "Reference line impedance of the two-port component.",
         "title": "Z0 Ref",
         "type": "number"
      },
      "N": {
         "default": 1,
         "description": "Number of repetitions of the model in the computed abcd matrix.",
         "minimum": 0,
         "title": "N",
         "type": "integer"
      },
      "name": {
         "const": "StubBaseCell2",
         "default": "StubBaseCell2",
         "title": "Name",
         "type": "string"
      },
      "L": {
         "description": "Inductance of the straight line.",
         "minimum": 0,
         "title": "L",
         "type": "number"
      },
      "C": {
         "description": "Capacitance of the line.",
         "minimum": 0,
         "title": "C",
         "type": "number"
      },
      "Lf": {
         "description": "Inductance of the stub finger.",
         "minimum": 0,
         "title": "Lf",
         "type": "number"
      },
      "l1": {
         "description": "Length of the stub finger.",
         "minimum": 0,
         "title": "L1",
         "type": "number"
      },
      "l2": {
         "description": "Length of the straight line.",
         "minimum": 0,
         "title": "L2",
         "type": "number"
      },
      "delta": {
         "default": 0,
         "description": "Loss Tangent",
         "minimum": 0,
         "title": "Delta",
         "type": "number"
      },
      "line": {
         "default": false,
         "description": "Model line as distributed element instead of lumped inductance.",
         "title": "Line",
         "type": "boolean"
      }
   },
   "required": [
      "L",
      "C",
      "Lf",
      "l1",
      "l2"
   ]
}

Fields:
field name: Literal['StubBaseCell2'] = 'StubBaseCell2'#
field L: NonNegativeFloat [Required]#

Inductance of the straight line.

Constraints:
  • ge = 0

field C: NonNegativeFloat [Required]#

Capacitance of the line.

Constraints:
  • ge = 0

field Lf: NonNegativeFloat [Required]#

Inductance of the stub finger.

Constraints:
  • ge = 0

field l1: NonNegativeFloat [Required]#

Length of the stub finger.

Constraints:
  • ge = 0

field l2: NonNegativeFloat [Required]#

Length of the straight line.

Constraints:
  • ge = 0

field delta: NonNegativeFloat = 0#

Loss Tangent

Constraints:
  • ge = 0

field line: bool = False#

Model line as distributed element instead of lumped inductance.

single_abcd(freqs: ndarray) ABCDArray[source]#

Compute abcd matrix.

pydantic model twpasolver.models.twpa_cells.LCLfBaseCell[source]#

Bases: TwoPortModel

Base cell of twpa LC model.

Show JSON schema
{
   "title": "LCLfBaseCell",
   "description": "Base cell of twpa LC model.",
   "type": "object",
   "properties": {
      "Z0_ref": {
         "default": 50.0,
         "description": "Reference line impedance of the two-port component.",
         "title": "Z0 Ref",
         "type": "number"
      },
      "N": {
         "default": 1,
         "description": "Number of repetitions of the model in the computed abcd matrix.",
         "minimum": 0,
         "title": "N",
         "type": "integer"
      },
      "name": {
         "const": "LCLfBaseCell",
         "default": "LCLfBaseCell",
         "title": "Name",
         "type": "string"
      },
      "L": {
         "description": "Inductance of the straight line.",
         "minimum": 0,
         "title": "L",
         "type": "number"
      },
      "C": {
         "description": "Capacitance of the stub finger.",
         "minimum": 0,
         "title": "C",
         "type": "number"
      },
      "Lf": {
         "description": "Inductance of the stub finger.",
         "minimum": 0,
         "title": "Lf",
         "type": "number"
      },
      "delta": {
         "default": 0,
         "description": "Loss Tangent",
         "minimum": 0,
         "title": "Delta",
         "type": "number"
      },
      "centered": {
         "default": false,
         "title": "Centered",
         "type": "boolean"
      }
   },
   "required": [
      "L",
      "C",
      "Lf"
   ]
}

Fields:
field name: Literal['LCLfBaseCell'] = 'LCLfBaseCell'#
field L: NonNegativeFloat [Required]#

Inductance of the straight line.

Constraints:
  • ge = 0

field C: NonNegativeFloat [Required]#

Capacitance of the stub finger.

Constraints:
  • ge = 0

field Lf: NonNegativeFloat [Required]#

Inductance of the stub finger.

Constraints:
  • ge = 0

field delta: NonNegativeFloat = 0#

Loss Tangent

Constraints:
  • ge = 0

field centered: bool = False#
single_abcd(freqs: ndarray) ABCDArray[source]#

Compute abcd matrix.