Analog.Thyristor
This component extends from ConditionalHeatPort
Usage
TranslatedComponents.Analog.Thyristor(T=293.15, VDRM=100, VRRM=100, IDRM=0.1, VTM=1.7, IH=0.006, ITM=25, VGT=0.7, IGT=0.005, TON=1.0e-6, TOFF=1.5e-5, Vt=0.04, Nbv=0.74, vRef=0.65, Von=5, Voff=1.5, Ron=(VTM - 0.7) / ITM, Roff=(VDRM ^ 2) / VTM / IH)
Parameters:
| Name | Description | Units | Default value |
|---|---|---|---|
useHeatPort | = true, if heatPort is enabled | – | false |
T | Fixed device temperature if useHeatPort = false | K | 293.15 |
VDRM | Forward breakthrough voltage | V | 100 |
VRRM | Reverse breakthrough voltage | V | 100 |
IDRM | Saturation current | A | 0.1 |
VTM | Conducting voltage | V | 1.7 |
IH | Holding current | A | 0.006 |
ITM | Conducting current | A | 25 |
VGT | Gate trigger voltage | V | 0.7 |
IGT | Gate trigger current | A | 0.005 |
TON | Switch on time | s | 0.000001 |
TOFF | Switch off time | s | 0.000015 |
Vt | Voltage equivalent of temperature (kT/qn) | V | 0.04 |
Nbv | Reverse Breakthrough emission coefficient | – | 0.74 |
vRef | V | 0.65 | |
Von | V | 5 | |
Voff | V | 1.5 | |
Ron | Forward conducting mode resistance | Ω | (VTM - 0.7) / ITM |
Roff | Blocking mode resistance | Ω | (VDRM ^ 2) / VTM / IH |
Connectors
heatPort- Thermal port for 1-dim. heat transfer
This component is translated by DyadAI (HeatPort)
Anode- This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)Cathode- This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)Gate- This connector represents an electrical pin with voltage and current as the potential and flow variables, respectively. (Pin)
Variables
| Name | Description | Units |
|---|---|---|
LossPower | Loss power leaving component via heatPort | W |
T_heatPort | Temperature of heatPort | K |
iGK | Gate current | A |
vGK | Voltage between gate and cathode | V |
vAK | Voltage between anode and cathode | V |
vControl | V | |
vContot | V | |
vConmain | V |
Behavior
Source
component Thyristor
extends ConditionalHeatPort
Anode = Pin()
Cathode = Pin()
Gate = Pin()
# Forward breakthrough voltage
parameter VDRM::Dyad.Voltage(final min = 0) = 100
# Reverse breakthrough voltage
parameter VRRM::Dyad.Voltage(final min = 0) = 100
# Saturation current
parameter IDRM::Dyad.Current = 0.1
# Conducting voltage
parameter VTM::Dyad.Voltage = 1.7
# Holding current
parameter IH::Dyad.Current = 0.006
# Conducting current
parameter ITM::Dyad.Current = 25
# Gate trigger voltage
parameter VGT::Dyad.Voltage = 0.7
# Gate trigger current
parameter IGT::Dyad.Current = 0.005
# Switch on time
parameter TON::Dyad.Time = 1.0e-6
# Switch off time
parameter TOFF::Dyad.Time = 1.5e-5
# Voltage equivalent of temperature (kT/qn)
parameter Vt::Dyad.Voltage = 0.04
# Reverse Breakthrough emission coefficient
parameter Nbv::Real = 0.74
parameter vRef::Dyad.Voltage = 0.65
parameter Von::Dyad.Voltage = 5
parameter Voff::Dyad.Voltage = 1.5
# Forward conducting mode resistance
parameter Ron::Dyad.Resistance = (VTM - 0.7) / ITM
# Blocking mode resistance
parameter Roff::Dyad.Resistance = (VDRM ^ 2) / VTM / IH
# Gate current
variable iGK::Dyad.Current
# Voltage between gate and cathode
variable vGK::Dyad.Voltage
# Voltage between anode and cathode
variable vAK::Dyad.Voltage
variable vControl::Dyad.Voltage
variable vContot::Dyad.Voltage
variable vConmain::Dyad.Voltage
relations
Anode.i + Gate.i + Cathode.i = 0
vGK = Gate.v - Cathode.v
vAK = Anode.v - Cathode.v
iGK = Gate.i
vGK = vGK < vRef ? VGT / IGT * iGK : vRef ^ 2 / VGT + iGK * (VGT - vRef) / IGT
vContot = vConmain + (iGK < 0.95 * IGT ? 0 : (iGK < 0.95 * IGT + 1e-3 ? 10000 * (iGK - 0.95 * IGT) * vAK : 10 * vAK))
der(vControl) = (vContot - vControl) / ((vContot - vControl) > 0 ? 1.87 * TON : 0.638 * TOFF)
Anode.i = vAK < -VRRM ? -VRRM / Roff * exp(-(vAK + VRRM) / (Nbv * Vt)) : (vControl < Voff ? vAK / Roff : (vControl < Von ? vAK / (sqrt(Ron * Roff) * (Ron / Roff) ^ ((3 * ((2 * vControl - Von - Voff) / (2 * (Von - Voff))) - 4 * ((2 * vControl - Von - Voff) / (2 * (Von - Voff))) ^ 3) / 2)) : vAK / Ron))
vConmain = (Anode.i > IH or vAK > VDRM ? Von : 0)
LossPower = Anode.i * Anode.v + Cathode.i * Cathode.v + Gate.i * Gate.v
endFlattened Source
component Thyristor
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
Anode = Pin()
Cathode = Pin()
Gate = Pin()
# Forward breakthrough voltage
parameter VDRM::Dyad.Voltage(final min = 0) = 100
# Reverse breakthrough voltage
parameter VRRM::Dyad.Voltage(final min = 0) = 100
# Saturation current
parameter IDRM::Dyad.Current = 0.1
# Conducting voltage
parameter VTM::Dyad.Voltage = 1.7
# Holding current
parameter IH::Dyad.Current = 0.006
# Conducting current
parameter ITM::Dyad.Current = 25
# Gate trigger voltage
parameter VGT::Dyad.Voltage = 0.7
# Gate trigger current
parameter IGT::Dyad.Current = 0.005
# Switch on time
parameter TON::Dyad.Time = 1.0e-6
# Switch off time
parameter TOFF::Dyad.Time = 1.5e-5
# Voltage equivalent of temperature (kT/qn)
parameter Vt::Dyad.Voltage = 0.04
# Reverse Breakthrough emission coefficient
parameter Nbv::Real = 0.74
parameter vRef::Dyad.Voltage = 0.65
parameter Von::Dyad.Voltage = 5
parameter Voff::Dyad.Voltage = 1.5
# Forward conducting mode resistance
parameter Ron::Dyad.Resistance = (VTM - 0.7) / ITM
# Blocking mode resistance
parameter Roff::Dyad.Resistance = (VDRM ^ 2) / VTM / IH
# Gate current
variable iGK::Dyad.Current
# Voltage between gate and cathode
variable vGK::Dyad.Voltage
# Voltage between anode and cathode
variable vAK::Dyad.Voltage
variable vControl::Dyad.Voltage
variable vContot::Dyad.Voltage
variable vConmain::Dyad.Voltage
relations
if !(useHeatPort)
T_heatPort = T
else
initial heatPort.T = T_heatPort
initial heatPort.Q_flow = -LossPower
end
Anode.i + Gate.i + Cathode.i = 0
vGK = Gate.v - Cathode.v
vAK = Anode.v - Cathode.v
iGK = Gate.i
vGK = vGK < vRef ? VGT / IGT * iGK : vRef ^ 2 / VGT + iGK * (VGT - vRef) / IGT
vContot = vConmain + (iGK < 0.95 * IGT ? 0 : (iGK < 0.95 * IGT + 1e-3 ? 10000 * (iGK - 0.95 * IGT) * vAK : 10 * vAK))
der(vControl) = (vContot - vControl) / ((vContot - vControl) > 0 ? 1.87 * TON : 0.638 * TOFF)
Anode.i = vAK < -VRRM ? -VRRM / Roff * exp(-(vAK + VRRM) / (Nbv * Vt)) : (vControl < Voff ? vAK / Roff : (vControl < Von ? vAK / (sqrt(Ron * Roff) * (Ron / Roff) ^ ((3 * ((2 * vControl - Von - Voff) / (2 * (Von - Voff))) - 4 * ((2 * vControl - Von - Voff) / (2 * (Von - Voff))) ^ 3) / 2)) : vAK / Ron))
vConmain = (Anode.i > IH or vAK > VDRM ? Von : 0)
LossPower = Anode.i * Anode.v + Cathode.i * Cathode.v + Gate.i * Gate.v
metadata {}
endTest Cases
No test cases defined.
Related
Examples
Experiments
Analyses