$(instance)MultiSensorTest Icon

MultiSensorTest

Usage

MultiSensorTest()

Behavior

\[ \begin{equation} \left[ \begin{array}{c} \mathrm{connect}\left( source_{+}y(t), voltage_{+}V(t) \right) \\ \mathrm{connect}\left( voltage_{+}p, resistor_{+}p \right) \\ \mathrm{connect}\left( resistor_{+}n, multi_{sensor_{+}pc} \right) \\ \mathrm{connect}\left( multi_{sensor_{+}nc}, capacitor_{+}p \right) \\ \mathrm{connect}\left( capacitor_{+}n, voltage_{+}n, ground_{+}g \right) \\ \mathrm{connect}\left( capacitor_{+}p, multi_{sensor_{+}pv} \right) \\ \mathrm{connect}\left( capacitor_{+}n, multi_{sensor_{+}nv} \right) \\ \mathtt{source.y}\left( t \right) = ifelse\left( \mathtt{source.start\_time} < t, \mathtt{source.offset} + \mathtt{source.amplitude} \sin\left( \mathtt{source.phase} + 6.2832 \mathtt{source.frequency} \left( - \mathtt{source.start\_time} + t \right) \right), \mathtt{source.offset} \right) \\ \mathtt{voltage.v}\left( t \right) = \mathtt{voltage.p.v}\left( t \right) - \mathtt{voltage.n.v}\left( t \right) \\ \mathtt{voltage.i}\left( t \right) = \mathtt{voltage.p.i}\left( t \right) \\ \mathtt{voltage.p.i}\left( t \right) + \mathtt{voltage.n.i}\left( t \right) = 0 \\ \mathtt{voltage.v}\left( t \right) = \mathtt{voltage.uV} \mathtt{voltage.V}\left( t \right) \\ \mathtt{resistor.v}\left( t \right) = - \mathtt{resistor.n.v}\left( t \right) + \mathtt{resistor.p.v}\left( t \right) \\ \mathtt{resistor.i}\left( t \right) = \mathtt{resistor.p.i}\left( t \right) \\ \mathtt{resistor.p.i}\left( t \right) + \mathtt{resistor.n.i}\left( t \right) = 0 \\ \mathtt{resistor.v}\left( t \right) = \mathtt{resistor.R} \mathtt{resistor.i}\left( t \right) \\ \mathtt{capacitor.v}\left( t \right) = \mathtt{capacitor.p.v}\left( t \right) - \mathtt{capacitor.n.v}\left( t \right) \\ \mathtt{capacitor.i}\left( t \right) = \mathtt{capacitor.p.i}\left( t \right) \\ \mathtt{capacitor.p.i}\left( t \right) + \mathtt{capacitor.n.i}\left( t \right) = 0 \\ \mathtt{capacitor.C} \frac{\mathrm{d} \mathtt{capacitor.v}\left( t \right)}{\mathrm{d}t} = \mathtt{capacitor.i}\left( t \right) \\ \mathtt{ground.g.v}\left( t \right) = 0 \\ \mathtt{multi\_sensor.power}\left( t \right) = \mathtt{multi\_sensor.voltage\_sensor.v}\left( t \right) \mathtt{multi\_sensor.current\_sensor.i}\left( t \right) \\ \mathtt{multi\_sensor.i}\left( t \right) = \mathtt{multi\_sensor.current\_sensor.i}\left( t \right) \\ \mathtt{multi\_sensor.v}\left( t \right) = \mathtt{multi\_sensor.voltage\_sensor.v}\left( t \right) \\ \mathrm{connect}\left( pv, voltage_{sensor_{+}p} \right) \\ \mathrm{connect}\left( voltage_{sensor_{+}n}, nv \right) \\ \mathrm{connect}\left( pc, current_{sensor_{+}p} \right) \\ \mathrm{connect}\left( current_{sensor_{+}n}, nc \right) \\ \mathtt{multi\_sensor.voltage\_sensor.p.i}\left( t \right) = 0 \\ \mathtt{multi\_sensor.voltage\_sensor.n.i}\left( t \right) = 0 \\ \mathtt{multi\_sensor.voltage\_sensor.v}\left( t \right) = - \mathtt{multi\_sensor.voltage\_sensor.n.v}\left( t \right) + \mathtt{multi\_sensor.voltage\_sensor.p.v}\left( t \right) \\ \mathtt{multi\_sensor.current\_sensor.p.v}\left( t \right) = \mathtt{multi\_sensor.current\_sensor.n.v}\left( t \right) \\ \mathtt{multi\_sensor.current\_sensor.p.i}\left( t \right) = \mathtt{multi\_sensor.current\_sensor.i}\left( t \right) \\ \mathtt{multi\_sensor.current\_sensor.n.i}\left( t \right) = - \mathtt{multi\_sensor.current\_sensor.i}\left( t \right) \\ \end{array} \right] \end{equation} \]

Source

test component MultiSensorTest
  source = BlockComponents.Sine(offset=1, amplitude=10, frequency=5)
  voltage = VoltageSource()
  resistor = Resistor(R=1)
  capacitor = Capacitor(C=1)
  ground = Ground()
  multi_sensor = MultiSensor()
relations
  connect(source.y, voltage.V)
  connect(voltage.p, resistor.p)
  connect(resistor.n, multi_sensor.pc)
  connect(multi_sensor.nc, capacitor.p)
  connect(capacitor.n, voltage.n, ground.g)
  connect(capacitor.p, multi_sensor.pv)
  connect(capacitor.n, multi_sensor.nv)
metadata {
  "JuliaSim": {
    "tests": {
      "case1": {
        "stop": 20,
        "initial": {"capacitor.v": 10},
        "expect": {
          "final": {
            "multi_sensor.i": "0.31784799",
            "multi_sensor.v": "0.682152",
            "multi_sensor.power": "0.216820646"
          }
        }
      }
    }
  }
}
end
Flattened Source
test component MultiSensorTest
  source = BlockComponents.Sine(offset=1, amplitude=10, frequency=5)
  voltage = VoltageSource()
  resistor = Resistor(R=1)
  capacitor = Capacitor(C=1)
  ground = Ground()
  multi_sensor = MultiSensor()
relations
  connect(source.y, voltage.V)
  connect(voltage.p, resistor.p)
  connect(resistor.n, multi_sensor.pc)
  connect(multi_sensor.nc, capacitor.p)
  connect(capacitor.n, voltage.n, ground.g)
  connect(capacitor.p, multi_sensor.pv)
  connect(capacitor.n, multi_sensor.nv)
metadata {
  "JuliaSim": {
    "tests": {
      "case1": {
        "stop": 20,
        "initial": {"capacitor.v": 10},
        "expect": {
          "final": {
            "multi_sensor.i": "0.31784799",
            "multi_sensor.v": "0.682152",
            "multi_sensor.power": "0.216820646"
          }
        }
      }
    }
  }
}
end

Test Cases

Test Case case1