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 | = true, if heatPort is enabled | – | false |
T | Fixed device temperature if useHeatPort = false | K | 293.15 |
Ids | Saturation current | A | 0.000001 |
Vt | Voltage equivalent of temperature (kT/qn) | V | 0.04 |
Maxexp | Max. exponent for linear continuation | – | 30 |
R | Parallel ohmic resistance | Ω | 100000000 |
Bv | Breakthrough voltage = Zener- or Z-voltage | V | 5.1 |
Ibv | Breakthrough knee current | A | 0.7 |
Nbv | Breakthrough emission coefficient | – | 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- Thermal port for 1-dim. heat transfer
This component is translated by DyadAI (HeatPort)
Variables
| Name | Description | Units |
|---|---|---|
v | Voltage drop of the two pins (= p.v - n.v) | V |
i | Current flowing from pin p to pin n | A |
LossPower | Loss power leaving component via heatPort | W |
T_heatPort | Temperature of heatPort | K |
Behavior
Source
dyad
component ZDiode
extends OnePort
extends ConditionalHeatPort(T = 293.15)
# Saturation current
parameter Ids::Dyad.Current = 1.0e-6
# Voltage equivalent of temperature (kT/qn)
parameter Vt::Dyad.Voltage = 0.04
# Max. exponent for linear continuation
parameter Maxexp::Real(final min = 1e-10) = 30
# Parallel ohmic resistance
parameter R::Dyad.Resistance = 100000000
# Breakthrough voltage = Zener- or Z-voltage
parameter Bv::Dyad.Voltage = 5.1
# Breakthrough knee current
parameter Ibv::Dyad.Current = 0.7
# Breakthrough emission coefficient
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()
# Voltage drop of the two pins (= p.v - n.v)
variable v::Dyad.Voltage
# Current flowing from pin p to pin n
variable i::Dyad.Current
heatPort = TranslatedComponents.HeatTransfer.HeatPort() if useHeatPort
# = true, if heatPort is enabled
structural parameter useHeatPort::Boolean = false
# Fixed device temperature if useHeatPort = false
parameter T::Dyad.Temperature = 293.15
# Loss power leaving component via heatPort
variable LossPower::Dyad.Power
# Temperature of heatPort
variable T_heatPort::Dyad.Temperature
# Saturation current
parameter Ids::Dyad.Current = 1.0e-6
# Voltage equivalent of temperature (kT/qn)
parameter Vt::Dyad.Voltage = 0.04
# Max. exponent for linear continuation
parameter Maxexp::Real(final min = 1e-10) = 30
# Parallel ohmic resistance
parameter R::Dyad.Resistance = 100000000
# Breakthrough voltage = Zener- or Z-voltage
parameter Bv::Dyad.Voltage = 5.1
# Breakthrough knee current
parameter Ibv::Dyad.Current = 0.7
# Breakthrough emission coefficient
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