$(instance)NonlinearResistor Icon

NonlinearResistor

Chua's resistor

This component extends from TwoPin

Usage

NonlinearResistor(Ga, Gb, Ve)

Parameters:

NameDescriptionUnitsDefault value
GaConductance in inner voltage rangeS
GbConductance in outer voltage rangeS
VeInner voltage range limitV

Connectors

Variables

NameDescriptionUnits
vV
iA

Behavior

\[ \begin{align} v\left( t \right) &= \mathtt{p.v}\left( t \right) - \mathtt{n.v}\left( t \right) \\ i\left( t \right) &= \mathtt{p.i}\left( t \right) \\ \mathtt{n.i}\left( t \right) + \mathtt{p.i}\left( t \right) &= 0 \\ i\left( t \right) &= ifelse\left( v\left( t \right) < - \mathtt{Ve}, - \mathtt{Ga} \mathtt{Ve} + \mathtt{Gb} \left( \mathtt{Ve} + v\left( t \right) \right), ifelse\left( v\left( t \right) > \mathtt{Ve}, \mathtt{Ga} \mathtt{Ve} + \mathtt{Gb} \left( - \mathtt{Ve} + v\left( t \right) \right), \mathtt{Ga} v\left( t \right) \right) \right) \end{align} \]

Source

# Chua's resistor
component NonlinearResistor
  extends TwoPin()
  # Conductance in inner voltage range
  parameter Ga::Conductance
  # Conductance in outer voltage range
  parameter Gb::Conductance
  # Inner voltage range limit
  parameter Ve::Voltage
relations
  i = if (v<-Ve) then (Gb*(v+Ve)-Ga*Ve) else if (v>Ve) then (Gb*(v-Ve)+Ga*Ve) else Ga*v
end
Flattened Source
# Chua's resistor
component NonlinearResistor
  p = Pin() [{
    "JuliaSim": {
      "placement": {"icon": {"iconName": "pos", "x1": -50, "y1": 450, "x2": 50, "y2": 550}}
    }
  }]
  n = Pin() [{
    "JuliaSim": {
      "placement": {"icon": {"iconName": "neg", "x1": 950, "y1": 450, "x2": 1050, "y2": 550}}
    }
  }]
  variable v::Voltage
  variable i::Current
  # Conductance in inner voltage range
  parameter Ga::Conductance
  # Conductance in outer voltage range
  parameter Gb::Conductance
  # Inner voltage range limit
  parameter Ve::Voltage
relations
  v = p.v-n.v
  i = p.i
  p.i+n.i = 0
  i = if (v<-Ve) then (Gb*(v+Ve)-Ga*Ve) else if (v>Ve) then (Gb*(v-Ve)+Ga*Ve) else Ga*v
metadata {}
end

Test Cases

  • Examples
  • Experiments
  • Analyses