Analog.IdealSemiconductor ​
This component extends from OnePort This component extends from ConditionalHeatPort
Usage ​
TranslatedComponents.Analog.IdealSemiconductor(T=293.15, unitVoltage=1, unitCurrent=1, Ron=1.0e-5, Goff=1.0e-5, Vknee=0)
Parameters: ​
| Name | Description | Units | Default value |
|---|---|---|---|
useHeatPort | – | false | |
T | K | 293.15 | |
unitVoltage | V | 1 | |
unitCurrent | A | 1 | |
Ron | Ω | 0.00001 | |
Goff | S | 0.00001 | |
Vknee | V | 0 |
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 | |
off | – | |
s | – |
Source ​
dyad
partial component IdealSemiconductor
extends OnePort
extends ConditionalHeatPort
parameter unitVoltage::Dyad.Voltage = 1
parameter unitCurrent::Dyad.Current = 1
parameter Ron::Dyad.Resistance(final min = 0) = 1.0e-5
parameter Goff::Dyad.Conductance(final min = 0) = 1.0e-5
parameter Vknee::Dyad.Voltage(final min = 0) = 0
variable off::Boolean
variable s::Real
relations
v = s * (off ? unitVoltage : Ron * unitCurrent) + Vknee
i = s * (off ? Goff * unitVoltage : unitCurrent) + Goff * Vknee
LossPower = v * i
endFlattened Source
dyad
partial component IdealSemiconductor
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 unitVoltage::Dyad.Voltage = 1
parameter unitCurrent::Dyad.Current = 1
parameter Ron::Dyad.Resistance(final min = 0) = 1.0e-5
parameter Goff::Dyad.Conductance(final min = 0) = 1.0e-5
parameter Vknee::Dyad.Voltage(final min = 0) = 0
variable off::Boolean
variable s::Real
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
v = s * (off ? unitVoltage : Ron * unitCurrent) + Vknee
i = s * (off ? Goff * unitVoltage : unitCurrent) + Goff * Vknee
LossPower = v * i
metadata {}
endTest Cases ​
No test cases defined.
Related ​
Examples
Experiments
Analyses