Analog.ZDiode ​
This component extends from OnePort This component extends from ConditionalHeatPort
Usage ​
TranslatedComponents.Analog.ZDiode(T=293.15, Ids=1.0e-6, Vt=0.04, Maxexp=30, R=100000000, Bv=5.1, Ibv=0.7, Nbv=0.74)
Parameters: ​
| Name | Description | Units | Default value |
|---|---|---|---|
useHeatPort | – | false | |
T | K | 293.15 | |
Ids | A | 0.000001 | |
Vt | V | 0.04 | |
Maxexp | – | 30 | |
R | Ω | 100000000 | |
Bv | V | 5.1 | |
Ibv | A | 0.7 | |
Nbv | – | 0.74 |
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)heatPort- (HeatPort)
Variables ​
| Name | Description | Units |
|---|---|---|
v | V | |
i | A | |
LossPower | W | |
T_heatPort | K |
Behavior ​
Source ​
dyad
component ZDiode
extends OnePort
extends ConditionalHeatPort(T = 293.15)
parameter Ids::Dyad.Current = 1.0e-6
parameter Vt::Dyad.Voltage = 0.04
parameter Maxexp::Real(final min = 1e-10) = 30
parameter R::Dyad.Resistance = 100000000
parameter Bv::Dyad.Voltage = 5.1
parameter Ibv::Dyad.Current = 0.7
parameter Nbv::Real = 0.74
relations
i = (v > Maxexp * Vt) ? (Ids * (exp(Maxexp) * (1 + v / Vt - Maxexp) - 1) + v / R) : ((v + Bv) < -Maxexp * (Nbv * Vt) ? (-Ids - Ibv * exp(Maxexp) * (1 - (v + Bv) / (Nbv * Vt) - Maxexp) + v / R) : (Ids * (exp(v / Vt) - 1) - Ibv * exp(-(v + Bv) / (Nbv * Vt)) + v / R))
LossPower = v * i
endFlattened Source
dyad
component ZDiode
p = Pin()
n = Pin()
variable v::Dyad.Voltage
variable i::Dyad.Current
heatPort = TranslatedComponents.HeatTransfer.HeatPort() if useHeatPort
structural parameter useHeatPort::Boolean = false
parameter T::Dyad.Temperature = 293.15
variable LossPower::Dyad.Power
variable T_heatPort::Dyad.Temperature
parameter Ids::Dyad.Current = 1.0e-6
parameter Vt::Dyad.Voltage = 0.04
parameter Maxexp::Real(final min = 1e-10) = 30
parameter R::Dyad.Resistance = 100000000
parameter Bv::Dyad.Voltage = 5.1
parameter Ibv::Dyad.Current = 0.7
parameter Nbv::Real = 0.74
relations
v = p.v - n.v
0 = p.i + n.i
i = p.i
if !(useHeatPort)
T_heatPort = T
else
initial heatPort.T = T_heatPort
initial heatPort.Q_flow = -LossPower
end
i = (v > Maxexp * Vt) ? (Ids * (exp(Maxexp) * (1 + v / Vt - Maxexp) - 1) + v / R) : ((v + Bv) < -Maxexp * (Nbv * Vt) ? (-Ids - Ibv * exp(Maxexp) * (1 - (v + Bv) / (Nbv * Vt) - Maxexp) + v / R) : (Ids * (exp(v / Vt) - 1) - Ibv * exp(-(v + Bv) / (Nbv * Vt)) + v / R))
LossPower = v * i
metadata {}
endTest Cases ​
No test cases defined.
Related ​
Examples
Experiments
Analyses