Skip to content
NonlinearResistor.md

NonlinearResistor ​

A nonlinear resistor with a piecewise-linear current-voltage characteristic, commonly known as Chua's Resistor.

This component models a voltage-controlled nonlinear resistor where the current i is a function of the voltage v across its terminals. The current-voltage relationship is piecewise-linear, defined by three distinct regions: For voltages within the range [-Ve, Ve], the resistor has a conductance Ga. For voltages outside this range (v > Ve or v < -Ve), the resistor exhibits a different conductance Gb for the portion of the voltage exceeding +/-Ve. The mathematical relationship is:

i={Gb(v+Ve)−GaVeif v<−VeGavif −Ve≤v≤VeGb(v−Ve)+GaVeif v>Ve

This behavior is characteristic of the nonlinear resistor element in Chua's circuit.

This component extends from OnePort

Usage ​

ElectricalComponents.NonlinearResistor(Ga, Gb, Ve)

Parameters: ​

NameDescriptionUnitsDefault value
GaConductance in the central region (-Ve <= v <= Ve).S
GbConductance in the outer regions (v < -Ve or v > Ve).S
VeBreakpoint voltage defining the boundaries of the different conductance regions.V

Connectors ​

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

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

Variables ​

NameDescriptionUnits
vVoltage across the component (between pin p and pin n).V
iCurrent flowing through the component (from pin p to pin n).A

Behavior ​

v(t)=p.v(t)−n.v(t)i(t)=p.i(t)n.i(t)+p.i(t)=0i(t)=ifelse(v(t)<−Ve,−GaVe+Gb(Ve+v(t)),ifelse(v(t)>Ve,GaVe+Gb(−Ve+v(t)),Gav(t)))

Source ​

dyad
"""
A nonlinear resistor with a piecewise-linear current-voltage characteristic, commonly known as Chua's Resistor.

This component models a voltage-controlled nonlinear resistor where the current `i` is a function of the voltage `v` across its terminals.
The current-voltage relationship is piecewise-linear, defined by three distinct regions:
For voltages within the range `[-Ve, Ve]`, the resistor has a conductance `Ga`.
For voltages outside this range (`v > Ve` or `v < -Ve`), the resistor exhibits a different conductance `Gb` for the portion of the voltage exceeding `+/-Ve`.
The mathematical relationship is:

math i = \begin{cases} Gb(v + Ve) - Ga Ve & \text{if } v < -Ve MarkdownAST.LineBreak()

Ga v & \text{if } -Ve \le v \le Ve MarkdownAST.LineBreak()

Gb(v - Ve) + Ga Ve & \text{if } v > Ve \end


This behavior is characteristic of the nonlinear resistor element in Chua's circuit.
"""
component NonlinearResistor
  extends OnePort
  "Conductance in the central region (`-Ve <= v <= Ve`)."
  parameter Ga::Conductance
  "Conductance in the outer regions (`v < -Ve` or `v > Ve`)."
  parameter Gb::Conductance
  "Breakpoint voltage defining the boundaries of the different conductance regions."
  parameter Ve::Voltage
relations
  i = ifelse(v < -Ve, Gb * (v + Ve) - Ga * Ve, ifelse(v > Ve, Gb * (v - Ve) + Ga * Ve, Ga * v))
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://ElectricalComponents/NonlinearResistor.svg"}
  }
}
end
Flattened Source
dyad
"""
A nonlinear resistor with a piecewise-linear current-voltage characteristic, commonly known as Chua's Resistor.

This component models a voltage-controlled nonlinear resistor where the current `i` is a function of the voltage `v` across its terminals.
The current-voltage relationship is piecewise-linear, defined by three distinct regions:
For voltages within the range `[-Ve, Ve]`, the resistor has a conductance `Ga`.
For voltages outside this range (`v > Ve` or `v < -Ve`), the resistor exhibits a different conductance `Gb` for the portion of the voltage exceeding `+/-Ve`.
The mathematical relationship is:

math i = \begin{cases} Gb(v + Ve) - Ga Ve & \text{if } v < -Ve MarkdownAST.LineBreak()

Ga v & \text{if } -Ve \le v \le Ve MarkdownAST.LineBreak()

Gb(v - Ve) + Ga Ve & \text{if } v > Ve \end


This behavior is characteristic of the nonlinear resistor element in Chua's circuit.
"""
component NonlinearResistor
  "Positive electrical pin."
  p = Pin() {
    "Dyad": {
      "placement": {"icon": {"iconName": "pos", "x1": -50, "y1": 450, "x2": 50, "y2": 550}}
    }
  }
  "Negative electrical pin."
  n = Pin() {
    "Dyad": {
      "placement": {"icon": {"iconName": "neg", "x1": 950, "y1": 450, "x2": 1050, "y2": 550}}
    }
  }
  "Voltage across the component (between pin p and pin n)."
  variable v::Voltage
  "Current flowing through the component (from pin p to pin n)."
  variable i::Current
  "Conductance in the central region (`-Ve <= v <= Ve`)."
  parameter Ga::Conductance
  "Conductance in the outer regions (`v < -Ve` or `v > Ve`)."
  parameter Gb::Conductance
  "Breakpoint voltage defining the boundaries of the different conductance regions."
  parameter Ve::Voltage
relations
  v = p.v - n.v
  i = p.i
  p.i + n.i = 0
  i = ifelse(v < -Ve, Gb * (v + Ve) - Ga * Ve, ifelse(v > Ve, Gb * (v - Ve) + Ga * Ve, Ga * v))
metadata {
  "Dyad": {
    "labels": [{"label": "$(instance)", "x": 500, "y": 1100, "rot": 0}],
    "icons": {"default": "dyad://ElectricalComponents/NonlinearResistor.svg"}
  }
}
end


Test Cases ​

No test cases defined.

  • Examples

  • Experiments

  • Analyses