Electrical Component — Ideal Capacitor
The following file, ideal_capacitor.ssc
,
implements a component called ideal_capacitor
.
The declaration section of the component contains:
Two electrical nodes,
p
andn
, for + and – terminals, respectively.One parameter,
C
, with a default value of1 F
, specifying the capacitance.Through and Across variables, current
i
and voltagev
, to be connected to the electrical domain Through and Across variables later in the file.Variable
v
is declared with high initialization priority, to ensure the initial voltage of0 V
.
The branches
section establishes the relationship
between the component Through variable and the component nodes (and
therefore the domain Through variable). The i : p.i ->
n.i
statement indicates that the current through the capacitor
flows from node p
to node n
.
The equation section starts with an assert
construct, which checks that the
capacitance value is greater than zero. If the block parameter is set incorrectly, the
assert
triggers a run-time error.
The first equation, v == p.v - n.v
, establishes the relationship
between the component Across variable and the component nodes (and therefore the domain Across
variable). It defines the voltage across the capacitor as the difference between the node
voltages.
The second equation defines the capacitor action: I
= C*dV/dt
, that is, output current equals capacitance multiplied
by the time derivative of the input voltage.
component ideal_capacitor % Ideal Capacitor % Models an ideal (lossless) capacitor. The output current I is related % to the input voltage V by I = C*dV/dt where C is the capacitance. nodes p = foundation.electrical.electrical; % +:top n = foundation.electrical.electrical; % -:bottom end parameters C = { 1, 'F' }; % Capacitance end variables i = { 0, 'A' }; % Current v = {value = { 0, 'V' }, priority = priority.high}; % Voltage end branches i : p.i -> n.i; % Current through from node p to node n end equations assert(C > 0) v == p.v - n.v; % Voltage across between node p and node n i == C*v.der; % Equation defining the capacitor action end end