Skip to content
LIBRARY
Analog.Basic.CCC.md

Analog.Basic.CCC

Linear current-controlled current source.

The right port current is controlled by the left port current:

i2=i1gain

The left port voltage is zero (zero input impedance).

Corresponds to Modelica.Electrical.Analog.Basic.CCC.

This component extends from ElectricalComponents.Analog.Interfaces.TwoPort

Usage

ElectricalComponents.Analog.Basic.CCC(gain=1)

Parameters:

NameDescriptionUnitsDefault value
gainCurrent gain1

Connectors

  • p1 - This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)

  • n1 - This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)

  • p2 - This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)

  • n2 - This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)

Variables

NameDescriptionUnits
v1Voltage drop of port 1 (= p1.v - n1.v)V
v2Voltage drop of port 2 (= p2.v - n2.v)V
i1Current flowing from pos. to neg. pin of port 1A
i2Current flowing from pos. to neg. pin of port 2A

Behavior

v1(t)=p1.v(t)n1.v(t)v2(t)=n2.v(t)+p2.v(t)i1(t)=p1.i(t)i2(t)=p2.i(t)0=p1.i(t)+n1.i(t)0=p2.i(t)+n2.i(t)i2(t)=gain i1(t)v1(t)=0

Source

dyad
"""
Linear current-controlled current source.

The right port current is controlled by the left port current:

math i_2 = i_1 \cdot \text

The left port voltage is zero (zero input impedance).

Corresponds to `Modelica.Electrical.Analog.Basic.CCC`.
"""
component CCC
  extends ElectricalComponents.Analog.Interfaces.TwoPort
  "Current gain"
  parameter gain::Real = 1
relations
  i2 = i1 * gain
  v1 = 0
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://ElectricalComponents/CCC.svg"}
  }
}
end
Flattened Source
dyad
"""
Linear current-controlled current source.

The right port current is controlled by the left port current:

math i_2 = i_1 \cdot \text

The left port voltage is zero (zero input impedance).

Corresponds to `Modelica.Electrical.Analog.Basic.CCC`.
"""
component CCC
  "Positive electrical pin of port 1"
  p1 = Pin() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -40, "y1": -40, "x2": 60, "y2": 60, "rot": 0}
      },
      "tags": []
    }
  }
  "Negative electrical pin of port 1"
  n1 = Pin() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -40, "y1": 940, "x2": 60, "y2": 1040, "rot": 0}
      },
      "tags": []
    }
  }
  "Positive electrical pin of port 2"
  p2 = Pin() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 960, "y1": -40, "x2": 1060, "y2": 60, "rot": 0}
      },
      "tags": []
    }
  }
  "Negative electrical pin of port 2"
  n2 = Pin() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 960, "y1": 950, "x2": 1060, "y2": 1050, "rot": 0}
      },
      "tags": []
    }
  }
  "Voltage drop of port 1 (= p1.v - n1.v)"
  variable v1::Voltage
  "Voltage drop of port 2 (= p2.v - n2.v)"
  variable v2::Voltage
  "Current flowing from pos. to neg. pin of port 1"
  variable i1::Current
  "Current flowing from pos. to neg. pin of port 2"
  variable i2::Current
  "Current gain"
  parameter gain::Real = 1
relations
  v1 = p1.v - n1.v
  v2 = p2.v - n2.v
  i1 = p1.i
  i2 = p2.i
  0 = p1.i + n1.i
  0 = p2.i + n2.i
  i2 = i1 * gain
  v1 = 0
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://ElectricalComponents/CCC.svg"}
  }
}
end


Test Cases

No test cases defined.