Version: 3.2 | Version: 3.2.1 Build 2 |
Version date: 2010-10-25 | Version date: 2013-08-14 |
Component |
Version 3.2 |
Version 3.2.1 |
PI | initType=Modelica_3_2.Blocks.Types.Init.SteadyState | initType=Modelica.Blocks.Types.InitPID.SteadyState |
inertia1 | a(fixed=true) | a(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
product | nu=3 | nu=2 |
linearDependency1 | Present | |
minMax | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(add.y, showValue.numberPort); |
|
connect(add.y, product.u[1]); | connect(integerStep.y, product.u[1]); |
connect(integerStep.y, product.u[2]); | connect(integerConstant.y, product.u[2]); |
connect(integerConstant.y, product.u[3]); |
|
connect(product.y, showValue1.numberPort); | |
connect(add.y, linearDependency1.u1); connect(product.y, linearDependency1.u2); connect(add.y, minMax.u[1]); connect(product.y, minMax.u[2]); |
Component |
Version 3.2 |
Version 3.2.1 |
rSFlipFlop | Present | |
sampleTriggerSet | Present | |
sampleTriggerReset | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(onDelay.y, showValue6.activePort); |
|
connect(sampleTriggerSet.y, rSFlipFlop.S); connect(sampleTriggerReset.y, rSFlipFlop.R); |
Component |
Version 3.2 |
Version 3.2.1 |
strict | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... der(y) = k*u; |
|
assert(y >= outMin - 0.01*abs(outMin) and y <= outMax + 0.01*abs(outMax), "LimIntegrator: During initialization the limits have been ignored.\n"+ "However, the result is that the output y is not within the required limits:\n"+ " y = " + String(y) + ", outMin = " + String(outMin) + ", outMax = " + String(outMax)); |
assert(y >= outMin - 0.001*abs(outMax-outMin) and y <= outMax + 0.001*abs(outMax-outMin), "LimIntegrator: During initialization the limits have been ignored.\n" + "However, the result is that the output y is not within the required limits:\n" + " y = " + String(y) + ", outMin = " + String(outMin) + ", outMax = " + String(outMax)); |
elseif strict then der(y) = noEvent(if y < outMin and k*u < 0 or y > outMax and k*u > 0 then 0 else k*u); |
|
else | |
der(y) = if y < outMin and u < 0 or y > outMax and u > 0 then 0 else k*u; | der(y) = if y < outMin and k*u < 0 or y > outMax and k*u > 0 then 0 else k*u; |
end if; |
Component |
Version 3.2 |
Version 3.2.1 |
I | k=1/Ti | k=unitTime/Ti |
initType=if
initType == InitPID.SteadyState then InitPID.SteadyState else if
initType == InitPID.InitialState or initType ==
InitPID.DoNotUse_InitialIntegratorState then InitPID.InitialState else
InitPID.NoInit | initType=if
initType == InitPID.SteadyState then Init.SteadyState else if initType
== InitPID.InitialState or initType ==
InitPID.DoNotUse_InitialIntegratorState then Init.InitialState else
Init.NoInit | |
D | k=Td | k=Td/unitTime |
initType=if
initType == InitPID.SteadyState or initType == InitPID.InitialOutput
then InitPID.SteadyState else if initType == InitPID.InitialState then
InitPID.InitialState else InitPID.NoInit | initType=if
initType == InitPID.SteadyState or initType == InitPID.InitialOutput
then Init.SteadyState else if initType == InitPID.InitialState then
Init.InitialState else Init.NoInit | |
unitTime | Present |
Component |
Version 3.2 |
Version 3.2.1 |
controllerType | =Modelica_3_2.Blocks.Types.SimpleController.PID | =.Modelica.Blocks.Types.SimpleController.PID |
Ti | start=0.5 | |
| =0.5 | |
Td | start=0.1 | |
| =0.1 | |
initType | =Modelica_3_2.Blocks.Types.InitPID.DoNotUse_InitialIntegratorState | =.Modelica.Blocks.Types.InitPID.DoNotUse_InitialIntegratorState |
I | k=1/Ti | k=unitTime/Ti |
initType=if
initType == InitPID.SteadyState then InitPID.SteadyState else if
initType == InitPID.InitialState or initType ==
InitPID.DoNotUse_InitialIntegratorState then InitPID.InitialState else
InitPID.NoInit | initType=if
initType == InitPID.SteadyState then Init.SteadyState else if initType
== InitPID.InitialState or initType ==
InitPID.DoNotUse_InitialIntegratorState then Init.InitialState else
Init.NoInit | |
D | k=Td | k=Td/unitTime |
initType=if
initType == InitPID.SteadyState or initType == InitPID.InitialOutput
then InitPID.SteadyState else if initType == InitPID.InitialState then
InitPID.InitialState else InitPID.NoInit | initType=if
initType == InitPID.SteadyState or initType == InitPID.InitialOutput
then Init.SteadyState else if initType == InitPID.InitialState then
Init.InitialState else Init.NoInit | |
limiter | | strict=strict |
strict | Present | |
unitTime | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if initType==InitPID.InitialOutput then |
|
y = y_start; | gainPID.y = y_start; |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
A | | =[1, 0; 0, 1] |
B | | =[1; 1] |
C | | =[1, 1] |
Component |
Version 3.2 |
Version 3.2.1 |
n_den2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... alpha2 = alpha*alpha; |
|
for i in 1:n_den2 loop | for i in 1:size(c0, 1) loop |
den2[i, 1] = den2[i, 1]*alpha2; ... |
Component |
Version 3.2 |
Version 3.2.1 |
n_den2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
for i in 1:n_den2 loop | for i in 1:size(c0, 1) loop |
den2[i, 1] = 1.0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
n_den2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... fac = asinh(1/epsilon)/order; |
|
den1 = fill(1/sinh(fac),size(den1,1)); |
|
if size(cr,1) == 0 then | |
for i in 1:n_den2 loop | for i in 1:size(c0, 1) loop |
den2[i,1] = 1/(cosh(fac)^2 - cos((2*i - 1)*pi/(2*order))^2); ... else |
|
den1[1] = 1/sinh(fac); | for i in 1:size(c0, 1) loop |
for i in 1:n_den2 loop |
|
den2[i,1] = 1/(cosh(fac)^2 - cos(i*pi/order)^2); ... alpha2 = alpha*alpha; |
|
for i in 1:n_den2 loop | for i in 1:size(c0, 1) loop |
den2[i, 1] = den2[i, 1]*alpha2; ... end for; |
|
if size(cr,1) == 1 then | den1 = den1*alpha; |
den1[1] = den1[1]*alpha; |
|
end if; | |
end if; |
|
(cr,c0,c1) =  Modelica_3_2.Blocks.Continuous.Internal.Filter.Utilities.toHighestPowerOne(  den1, den2); ... |
Component |
Version 3.2 |
Version 3.2.1 |
w_band | SIunits.AngularVelocity | Real |
Component |
Version 3.2 |
Version 3.2.1 |
w_band | SIunits.AngularVelocity | Real |
Component |
Version 3.2 |
Version 3.2.1 |
ySample | Present | |
uSample | Present | |
pre_uSample | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
when sampleTrigger then | initial equation |
ySample = u; | pre(tSample) = time; |
tSample = time; | pre(uSample) = u; |
c = if firstTrigger then 0 else (ySample - pre(ySample))/samplePeriod; | pre(pre_uSample) = u; |
end when; | pre(c) = 0.0; |
y = pre(ySample) + pre(c)*(time - tSample); |
|
equation  when sampleTrigger then tSample = time; uSample = u; pre_uSample = pre(uSample); c = if firstTrigger then 0 else (uSample - pre_uSample)/samplePeriod; end when; y = pre_uSample + pre(c)*(time - tSample); |
Component |
Version 3.2 |
Version 3.2.1 |
a | | ={1} |
Component |
Version 3.2 |
Version 3.2.1 |
A | | =[1, 0; 0, 1] |
B | | =[1; 1] |
C | | =[1, 1] |
Component |
Version 3.2 |
Version 3.2.1 |
u1 | Blocks.Interfaces.RealInput | Blocks.Interfaces.BooleanInput |
input | | |
u2 | Blocks.Interfaces.RealInput | Blocks.Interfaces.BooleanInput |
input | | |
y | output | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation |
y = if time < T then endValue - (T - time)*rate else endValue; |
pre(y) = 0; equation  y = if time < T then endValue - (T - time)*rate else endValue; |
|
when {initial(),u,not u} then ... |
Component |
Version 3.2 |
Version 3.2.1 |
y | start=y_default | |
fixed=true | |
Component |
Version 3.2 |
Version 3.2.1 |
u1 | input | |
u2 | input | |
y | output | |
Component |
Version 3.2 |
Version 3.2.1 |
u1 | input | |
u2 | input | |
u3 | input | |
y | output | |
Component |
Version 3.2 |
Version 3.2.1 |
generateEvent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
y = abs(u); | y=if generateEvent then (if u>=0 then u else -u) else (if noEvent(u>=0) then u else -u); |
Component |
Version 3.2 |
Version 3.2.1 |
generateEvent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
y = sign(u); | y=if generateEvent then (if u>0 then 1 elseif u<0 then -1 else 0) else (if noEvent(u>0) then 1 elseif noEvent(u<0) then -1 else 0); |
Component |
Version 3.2 |
Version 3.2.1 |
t0 | discrete | parameter |
| fixed=false | |
x | start=0 | |
x0 | Present | |
yGreaterOrEqualZero | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
when initial() then | initial equation |
t0 = time; | |
end when; | x = x0; |
der(x) = u; | y = 0; |
equation  der(x) = u; |
|
when sample(t0+1/f, 1/f) then | |
y=f*x; | y = if not yGreaterOrEqualZero then f*pre(x) else max(0.0, f*pre(x)); |
reinit(x, 0); ... |
Component |
Version 3.2 |
Version 3.2.1 |
product | Blocks.Math.Product | Blocks.Math.MultiProduct |
mean | | final yGreaterOrEqualZero=true |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(u, product.u1); connect(u, product.u2); |
|
connect(product.y, mean.u); ... connect(sqrt1.y, y); |
|
connect(u, product.u[1]); connect(u, product.u[2]); |
Component |
Version 3.2 |
Version 3.2.1 |
product1 | Blocks.Math.Product | Blocks.Math.MultiProduct |
product2 | Blocks.Math.Product | Blocks.Math.MultiProduct |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(sin2.y, product2.u2); connect(sin1.y, product1.u1); connect(u, product1.u2); connect(u, product2.u1); |
|
connect(product2.y, mean2.u); ... connect(rectangularToPolar.y_arg, y_arg); |
|
connect(sin1.y, product1.u[1]); connect(u, product1.u[2]); connect(u, product2.u[1]); connect(sin2.y, product2.u[2]); |
Component |
Version 3.2 |
Version 3.2.1 |
y | start=y_default | |
fixed=true | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
firstActiveIndex = Modelica_3_2.Math.BooleanVectors.firstTrueIndex(u); | initial equation |
y = if firstActiveIndex == 0 then (if use_pre_as_default then pre(y) else y_default) else expr[firstActiveIndex]; |
pre(y) = y_default; |
equation  firstActiveIndex =  Modelica.Math.BooleanVectors.firstTrueIndex(  u); y = if firstActiveIndex == 0 then (if use_pre_as_default then pre(y) else y_default) else  expr[firstActiveIndex]; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... algorithm |
|
when u then | when initial() then |
delaySignal = u; t_next = time - 1; elsewhen u then |
|
delaySignal = true; ... |
Component |
Version 3.2 |
Version 3.2.1 |
strict | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(u >= uMin - 0.01*abs(uMin) and  u <= uMax + 0.01*abs(uMax), "Limiter: During initialization the limits have been ignored.\n"+ "However, the result is that the input u is not within the required limits:\n"+ " u = " + String(u) + ", uMin = " + String(uMin) + ", uMax = " + String(uMax)); |
|
elseif strict then y = smooth(0, noEvent(if u > uMax then uMax else if u < uMin then uMin else u)); |
|
else ... |
Component |
Version 3.2 |
Version 3.2.1 |
strict | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
if strict then uMax = noEvent(max(limit1, limit2)); uMin = noEvent(min(limit1, limit2)); else |
|
uMax = max(limit1, limit2); | |
uMin = min(limit1, limit2); | |
end if; |
|
if initial() and not limitsAtInit then ... assert(u >= uMin - 0.01*abs(uMin) and  u <= uMax + 0.01*abs(uMax), "VariableLimiter: During initialization the limits have been ignored.\n"+ "However, the result is that the input u is not within the required limits:\n"+ " u = " + String(u) + ", uMin = " + String(uMin) + ", uMax = " + String(uMax)); |
|
elseif strict then y = smooth(0, noEvent(if u > uMax then uMax else if u < uMin then uMin else u)); |
|
else ... |
Component |
Version 3.2 |
Version 3.2.1 |
duration | min=Modelica_3_2.Constants.small | min=0.0 |
Component |
Version 3.2 |
Version 3.2.1 |
deltaq | | ={1} |
qd_max | | ={1} |
qdd_max | | ={1} |
Component |
Version 3.2 |
Version 3.2.1 |
q_end | | ={1} |
qd_max | | ={1} |
qdd_max | | ={1} |
r_s | Present | |
r_sd | Present | |
r_sdd | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... s3 = 0; |
|
r_sdd = 0; | s = 0; |
r_sd = 0; r_s = 0; |
|
else ... if time < startTime then |
|
r_sdd = 0; | s = 0; |
r_sd = 0; r_s = 0; |
|
elseif noWphase then | |
if time < Ta1s then | |
r_sdd = sdd_max; | s = (sdd_max/2)*(time - startTime)*(time - startTime); |
r_sd = sdd_max*(time - startTime); r_s = (sdd_max/2)*(time - startTime)*(time - startTime); |
|
elseif time < Tes then | |
r_sdd = -sdd_max; | s = s1 + sd_max2*(time - Ta1s) - (sdd_max/2)*(time - Ta1s)*(time - Ta1s); |
r_sd = sd_max2 - sdd_max*(time - Ta1s); r_s = s1 + sd_max2*(time - Ta1s) - (sdd_max/2)*(time - Ta1s)*(time  - Ta1s); |
|
else | |
r_sdd = 0; | s = s2; |
r_sd = 0; r_s = s2; |
|
end if; | |
elseif time < Ta2s then | |
r_sdd = sdd_max; | s = (sdd_max/2)*(time - startTime)*(time - startTime); |
r_sd = sdd_max*(time - startTime); r_s = (sdd_max/2)*(time - startTime)*(time - startTime); |
|
elseif time < Tvs then | |
r_sdd = 0; | s = s1 + sd_max*(time - Ta2s); |
r_sd = sd_max; r_s = s1 + sd_max*(time - Ta2s); |
|
elseif time < Tes then | |
r_sdd = -sdd_max; | s = s2 + sd_max*(time - Tvs) - (sdd_max/2)*(time - Tvs)*(time - Tvs); |
r_sd = sd_max - sdd_max*(time - Tvs); r_s = s2 + sd_max*(time - Tvs) - (sdd_max/2)*(time - Tvs)*(time - Tvs); |
|
else | |
r_sdd = 0; | s = s3; |
r_sd = 0; r_s = s3; |
|
end if; | |
end if; | |
sd = der(s); sdd = der(sd); |
|
qdd = p_deltaq*sdd; ... endTime = Tes; |
|
s = position({r_s, r_sd, r_sdd}, time); sd = der(s); sdd = der(sd); |
|
motion_ref = time <= endTime; ... |
Component |
Version 3.2 |
Version 3.2.1 |
table | | =fill(0.0, 0, 2) |
nextEvent | | discrete |
Component |
Version 3.2 |
Version 3.2.1 |
table | | ={0,1} |
Component |
Version 3.2 |
Version 3.2.1 |
buttonTimeTable | | ={0,1} |
Component |
Version 3.2 |
Version 3.2.1 |
y | output | |
Component |
Version 3.2 |
Version 3.2.1 |
inflow1 | StateGraph.Examples.Utilities.inflow2 | StateGraph.Examples.Utilities.Inflow2 |
outflow1 | StateGraph.Examples.Utilities.outflow2 | StateGraph.Examples.Utilities.Outflow2 |
Component |
Version 3.2 |
Version 3.2.1 |
inflow1 | StateGraph.Examples.Utilities.inflow1 | StateGraph.Examples.Utilities.Inflow1 |
outflow1 | StateGraph.Examples.Utilities.outflow1 | StateGraph.Examples.Utilities.Outflow1 |
level | | start=0 |
| fixed=true |
Component |
Version 3.2 |
Version 3.2.1 |
outflow1 | StateGraph.Examples.Utilities.outflow1 | StateGraph.Examples.Utilities.Outflow1 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation |
|
if enableTimer then pre(t_start) = time; end if; |
|
pre(enableFire) = false; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation |
|
pre(newActive) = pre(active); | pre(newActive) = false; |
... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation pre(reset) = fill(false, size(reset,1)); |
|
algorithm ... |
Component |
Version 3.2 |
Version 3.2.1 |
C1 | | v(start=0, fixed=true) |
C3 | | v(start=0, fixed=true) |
C5 | | v(start=0, fixed=true) |
L1 | | i(start=0, fixed=true) |
L2 | | i(start=0, fixed=true) |
R1 | | R=1 |
R2 | | R=1 |
V | | V=1 |
Component |
Version 3.2 |
Version 3.2.1 |
C1 | | v(start=0, fixed=true) |
C2 | | v(start=0, fixed=true) |
C3 | | v(start=0, fixed=true) |
C4 | | v(start=0, fixed=true) |
R1 | | R=1 |
R2 | | R=1 |
R3 | | R=1 |
R6 | | R=1 |
R7 | | R=1 |
R10 | | R=1 |
C7 | | v(start=0, fixed=true) |
R11 | | R=1 |
V | | V=1 |
Component |
Version 3.2 |
Version 3.2.1 |
C1 | | v(start=0, fixed=true) |
C2 | | v(start=0, fixed=true) |
C3 | | v(start=0, fixed=true) |
C4 | | v(start=0, fixed=true) |
C7 | | v(start=0, fixed=true) |
V | | V=1 |
R4 | | Capacitor1(v(start=0, fixed=true)) |
R5 | | Capacitor1(v(start=0, fixed=true)) |
R8 | | Capacitor1(v(start=0, fixed=true)) |
R9 | | Capacitor1(v(start=0, fixed=true)) |
R1 | | Capacitor1(v(start=0, fixed=true)) |
R2 | | Capacitor1(v(start=0, fixed=true)) |
R3 | | Capacitor1(v(start=0, fixed=true)) |
Rp1 | | Capacitor1(v(start=0, fixed=true)) |
R7 | | Capacitor1(v(start=0, fixed=true)) |
R10 | | Capacitor1(v(start=0, fixed=true)) |
R11 | | Capacitor1(v(start=0, fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
Ideal | | Vknee=0 |
With_Ron_Goff | | Vknee=0 |
SineVoltage1 | | freqHz=1 |
SineVoltage2 | | freqHz=1 |
SineVoltage3 | | freqHz=1 |
Component |
Version 3.2 |
Version 3.2.1 |
IdealThyristor1 | Vknee=5 | Vknee=1 |
| off(start=true, fixed=true) | |
SineVoltage1 | | freqHz=1 |
IdealGTOThyristor1 | Vknee=0 | Vknee=1 |
| off(fixed=true, start=true) | |
BooleanStep1 | Present | |
booleanStep1 | Present | |
IdealThyristor2 | Present | |
R2 | Present | |
IdealGTOThyristor2 | Present | |
R4 | Present | |
booleanPulse | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(IdealThyristor1.n, R3.p); | initial equation |
equation  connect(IdealThyristor1.n, R3.p); |
|
connect(Ground1.p, SineVoltage1.n); | |
connect(SineVoltage1.p, IdealThyristor1.p); | |
connect(BooleanStep1.y, IdealThyristor1.fire); |
|
connect(IdealGTOThyristor1.n, R1.p); | |
connect(R3.n, R1.n); | |
connect(R1.n, Ground1.p); |
|
connect(IdealGTOThyristor1.p, IdealThyristor1.p); | |
connect(IdealGTOThyristor1.fire, IdealThyristor1.fire); | |
connect(IdealThyristor1.fire, booleanStep1.y); connect(IdealThyristor2.n,R2. p); connect(IdealGTOThyristor2.n,R4. p); connect(R2.n,R4. n); connect(IdealGTOThyristor2.p,IdealThyristor2. p); connect(IdealGTOThyristor2.fire,IdealThyristor2. fire); connect(R4.n, Ground1.p); connect(R2.n, R1.n); connect(SineVoltage1.p, IdealThyristor2.p); connect(booleanPulse.y, IdealThyristor2.fire); |
Component |
Version 3.2 |
Version 3.2.1 |
L | | i(start=0, fixed=true) |
C1 | v(start=4) | v(start=4, fixed=true) |
C2 | | v(start=0, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
C1 | | v(start=0, fixed=true) |
C4 | | v(start=0, fixed=true) |
C5 | | v(start=0, fixed=true) |
C2 | | v(start=0, fixed=true) |
C3 | | v(start=0, fixed=true) |
Transistor1 | | ct(v(start=0, fixed=true)) |
Transistor2 | | ct(v(start=0, fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
Capacitor1 | | v(start=0, fixed=true) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(Sin.n, G.p); | initial equation |
HeatCapacitor1.T= 293.15; equation  connect(Sin.n, G.p); |
|
connect(Capacitor1.n, G.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
CapVal | constant | parameter |
tauVal | constant | parameter |
T1 | | ibe(start=0) |
| vbc(start=0) | |
T2 | | ibe(start=0) |
| vbc(start=0) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(Gnd1.p, V1.n); | initial equation |
HeatCapacitor1.T= 293.15; equation  connect(Gnd1.p, V1.n); |
|
connect(V1.p, R1.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
heatingResistor | | i(start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
Capacitor1 | | v(start=0, fixed=true) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(SineVoltage1.p, HeatingDiode1.p); | initial equation |
HeatCapacitor1.T = 293.15; equation  connect(SineVoltage1.p, HeatingDiode1.p); |
|
connect(SineVoltage1.n, G.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
VIN1 | | nperiod=-1 |
VIN2 | | nperiod=-1 |
Nand | | C4(v(start=0, fixed=true)) |
| C7(v(start=0, fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
CL | | v(start=0, fixed=true) |
zDiode1 | | v(start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
Inductor2 | | i(start=0, fixed=true) |
Inductor3 | | i(start=0, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
SaturatingInductance1 | | i(start=0) |
Inductance1 | | i(start=0, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
R1 | | R=1 |
R2 | | R=1 |
R3 | | R=1 |
R4 | | R=1 |
R5 | | R=1 |
SineVoltage1 | | V=1 |
| freqHz=1 | |
Ramp1 | | duration=2 |
Component |
Version 3.2 |
Version 3.2.1 |
booleanPulse | | period=1 |
inductor1 | | i(start=0, fixed=true) |
resistor1 | | R=1 |
inductor2 | | i(start=0, fixed=true) |
resistor2 | | R=1 |
switch2 | | dVdt=10000 |
| V0=30 | |
| Vmax=60 |
Component |
Version 3.2 |
Version 3.2.1 |
thyristor_v4_1 | | vControl(fixed=true) |
| vAK(start=0) | |
| vGK(start=0) | |
inductor | | i(start=0, fixed=true) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(resistor.n, opAmp.m); | initial equation |
resistor2.i = 0; opAmp.q_fp1 = 0; opAmp.q_fr1 = 0; opAmp.q_fr2 = 0; opAmp.q_fr3 = 0; equation  connect(resistor.n, opAmp.m); |
|
connect(resistor1.n, resistor2.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
inductor22 | | i(start=0, fixed=true) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(sineVoltage1.n, ground11.p); | initial equation |
basicTransformer.i1=0; basicTransformer.i2=0; equation  connect(sineVoltage1.n, ground11.p); |
|
connect(sineVoltage1.p, resistor11.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
resistor1 | | R=1 |
resistor2 | | R=1 |
switch2 | | V0=30 |
| dVdt=10000 | |
| Vmax=60 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(inductor1.n,resistor1. p); | initial equation |
inductor1.i = 0; inductor2.i = 0; equation  connect(inductor1.n,resistor1. p); |
|
connect(resistor1.n,ground1. p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
L | | i(start=0, fixed=true) |
| p(v(start=0)) | |
simpleTriac | | thyristor1(vGK(start=0)) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(L.n, R.p); | initial equation |
simpleTriac.thyristor.vControl=0; simpleTriac.thyristor1.vControl=0; equation  connect(L.n, R.p); |
|
connect(R.n, V.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
idealTriac | | capacitor(v(start=0, fixed=true)) |
| idealThyristor(off(start=true, fixed=true)) | |
| idealThyristor1(off(start=true, fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
aD_Converter | | Rin=1000000 |
| VRefLow=0 | |
| VRefHigh=10 | |
dA_Converter | | Vref=10 |
Component |
Version 3.2 |
Version 3.2.1 |
Tr | | UIC=true |
Component |
Version 3.2 |
Version 3.2.1 |
Psi | | start=0 |
| fixed=true |
Component |
Version 3.2 |
Version 3.2.1 |
dv | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
v1 = L1*der(i1) + M*der(i2); | |
v2 = M*der(i1) + L2*der(i2); | dv = (L1 - M)*der(i1) + (M - L2)*der(i2); |
v2 = v1 - dv; |
Component |
Version 3.2 |
Version 3.2.1 |
p | extent=[-80, -40; -62, 40] | |
n | extent=[62, -40; 80, 40] | |
i | | each start=0 |
| fixed=true | |
Lm | | parameter |
| each final fixed=false |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
initial equation |
for s in 1:N loop ... |
Component |
Version 3.2 |
Version 3.2.1 |
Slope | start=1 | start=10000 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... f = 2/(VMax.v - VMin.v); |
|
absSlope = smooth(0,(if (Slope < 0) then -Slope else Slope)); | absSlope = if (Slope < 0) then -Slope else Slope; |
out.v = (VMax.v + VMin.v)/2 + absSlope*vin/(1 + absSlope*smooth(0,(if (f*vin < 0) then -f*vin else f*vin))); |
Component |
Version 3.2 |
Version 3.2.1 |
R | | unit="Ohm" |
Component |
Version 3.2 |
Version 3.2.1 |
G | | unit="S" |
Component |
Version 3.2 |
Version 3.2.1 |
C | | unit="F" |
IC | Present | |
UIC | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
assert(C>=0,"Capacitance C (= " + String(C) + ") has to be >= 0!"); |
initial equation |
Q = noEvent(max(C,Cmin))*v; | if UIC then |
i = der(Q); | v = IC; |
end if; equation  assert(C>=0,"Capacitance C (= " +  String(C) + ") has to be >= 0!"); Q = noEvent(max(C,Cmin))*v; i = der(Q); |
Component |
Version 3.2 |
Version 3.2.1 |
L | | unit="H" |
IC | Present | |
UIC | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
assert(L>=0,"Inductance L_ (= " + String(L) + ") has to be >= 0!"); |
initial equation |
Psi = noEvent(max(L,Lmin))*i; | if UIC then |
v = der(Psi); | i = IC; |
end if; equation  assert(L>=0,"Inductance L_ (= " +  String(L) + ") has to be >= 0!"); Psi = noEvent(max(L,Lmin))*i; v = der(Psi); |
Component |
Version 3.2 |
Version 3.2.1 |
s | | start=0 |
Component |
Version 3.2 |
Version 3.2.1 |
quenched | | fixed=true |
Component |
Version 3.2 |
Version 3.2.1 |
off | =not on | |
| start=false | |
| fixed=true | |
quenched | | fixed=true |
Equations in Version 3.2 | Equations in Version 3.2.1 |
off = not on; |
|
when edge(off) then ... |
Component |
Version 3.2 |
Version 3.2.1 |
off | =(control.v < level) | |
| start=false | |
| fixed=true | |
quenched | | fixed=true |
Equations in Version 3.2 | Equations in Version 3.2.1 |
off =(control.v < level); |
|
control.i = 0; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... algorithm |
|
when (trig==4 or trig==8) then | when (trig==L.'1' or trig==L.'H') then |
z= if u>VRefLow then integer((u-VRefLow)/(VRefHigh-VRefLow)*(2^N - 1) + 0.5) else 0; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
when trig==4 or trig==8 then | when trig==L.'1' or trig==L.'H' then |
y= 0; | |
for i in 1:N loop | |
y = if ( x[i] == 4 or x[i] == 8) then y + 2^(i-1) else y; | y = if ( x[i] == L.'1' or x[i] == L.'H') then y + 2^(i-1) else y; |
end for; ... |
Component |
Version 3.2 |
Version 3.2.1 |
R | | T_ref=fill(T_ref, N + 1) |
| alpha=fill(alpha_R, N + 1) | |
| useHeatPort=fill(useHeatPort, N + 1) | |
| T=fill(T, N + 1) | |
G | | T_ref=fill(T_ref, N) |
| alpha=fill(alpha_G, N) | |
| useHeatPort=fill(useHeatPort, N) | |
| T=fill(T, N) | |
alpha_R | Present | |
alpha_G | Present | |
useHeatPort | Present | |
T | Present | |
T_ref | Present | |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(L[N + 1].n, p2); |
|
if useHeatPort then for i in 1:N + 1 loop connect(heatPort, R[i].heatPort); end for; for i in 1:N loop connect(heatPort, G[i].heatPort); end for; end if; |
Component |
Version 3.2 |
Version 3.2.1 |
N | final min=1 | final min=2 |
r | final min=Modelica_3_2.Constants.small | |
unit="Ohm/m" | | |
| each final min=Modelica.Constants.small | |
| each unit="Ohm/m" | |
l | final min=Modelica_3_2.Constants.small | |
unit="H/m" | | |
| each final min=Modelica.Constants.small | |
| each unit="H/m" | |
g | final min=Modelica_3_2.Constants.small | |
unit="S/m" | | |
| each final min=Modelica.Constants.small | |
| each unit="S/m" | |
c | final min=Modelica_3_2.Constants.small | |
unit="F/m" | | |
| each final min=Modelica.Constants.small | |
| each unit="F/m" | |
s | | alpha_R=fill(alpha_R, N - 1) |
| alpha_G=fill(alpha_G, N - 1) | |
| T_ref=fill(T_ref, N - 1) | |
| useHeatPort=fill(useHeatPort, N - 1) | |
| T=fill(T, N - 1) | |
s_first | | alpha_R=alpha_R |
| alpha_G=alpha_G | |
| T_ref=T_ref | |
| useHeatPort=useHeatPort | |
| T=T | |
s_last | | alpha_R=alpha_R |
| T_ref=T_ref | |
| useHeatPort=useHeatPort | |
| T=T | |
alpha_R | Present | |
alpha_G | Present | |
useHeatPort | Present | |
T | Present | |
T_ref | Present | |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(s_last.n,n); |
|
if useHeatPort then connect(heatPort, s_first.heatPort); for i in 1:N - 1 loop connect(heatPort, s[i].heatPort); end for; connect(heatPort, s_last.heatPort); end if; |
Component |
Version 3.2 |
Version 3.2.1 |
R | | T_ref=fill(T_ref, N + 1) |
| alpha=fill(alpha, N + 1) | |
| useHeatPort=fill(useHeatPort, N + 1) | |
| T=fill(T, N + 1) | |
alpha | Present | |
useHeatPort | Present | |
T | Present | |
T_ref | Present | |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(R[N + 1].n, p2); |
|
if useHeatPort then for i in 1:N + 1 loop connect(heatPort, R[i].heatPort); end for; end if; |
Component |
Version 3.2 |
Version 3.2.1 |
TD | | parameter |
| =NL/F |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(F > 0, "F has to be positive"); |
|
TD = NL/F; |
|
i1 = (v1 - es)/Z0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
TD | | parameter |
| =1/F/4 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(F > 0, "F has to be positive"); |
|
TD = 1/F/4; |
|
i1 = (v1 - es)/Z0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
IC | Present | |
UIC | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
ExMin = exp(EMin); | initial equation |
if UIC then C.v = IC; end if; equation  ExMin = exp(EMin); |
|
ExMax = exp(EMax); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... vConmain = (if Anode.i>IH or vAK>VDRM then Von else 0); |
|
LossPower = Anode.i*Anode.v + Cathode.i*Cathode.v + Gate.i*Gate.v; |
Component |
Version 3.2 |
Version 3.2.1 |
thyristor | | useHeatPort=useHeatPort |
| T=T | |
thyristor1 | | useHeatPort=useHeatPort |
| T=T | |
useHeatPort | Present | |
T | Present | |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
if useHeatPort then connect(heatPort, thyristor.heatPort); connect(heatPort, thyristor1.heatPort); end if; |
|
connect(thyristor.Anode, n); ... |
Component |
Version 3.2 |
Version 3.2.1 |
phi | | unit="V" |
Component |
Version 3.2 |
Version 3.2.1 |
v | | unit="V" |
Component |
Version 3.2 |
Version 3.2.1 |
i | | unit="A" |
Component |
Version 3.2 |
Version 3.2.1 |
power | | unit="W" |
Component |
Version 3.2 |
Version 3.2.1 |
v | | unit="V" |
Component |
Version 3.2 |
Version 3.2.1 |
i | | unit="A" |
Component |
Version 3.2 |
Version 3.2.1 |
CLK | | startTime=0 |
| width=50 | |
D0 | y0=3 | y0=L.'0' |
x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} | |
D1 | y0=3 | y0=L.'0' |
x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} | |
D2 | y0=3 | y0=L.'0' |
x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} | |
D3 | y0=3 | y0=L.'0' |
x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} | |
Enable | | x=Modelica.Electrical.Digital.Interfaces.Logic.'1' |
Component |
Version 3.2 |
Version 3.2.1 |
CLK | | startTime=0 |
| width=50 | |
J | y0=3 | y0=L.'0' |
x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} | |
K | y0=3 | y0=L.'0' |
x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
a | x={4,3,4,3} | x={L.'1',L.'0',L.'1',L.'0'} |
y0=3 | y0=L.'0' | |
b | x={4,3} | x={L.'1',L.'0'} |
y0=3 | y0=L.'0' | |
Adder | | AND(G2(y(start=L.'U', fixed=true))) |
| XOR(G2(y(start=L.'U', fixed=true))) | |
s | | n=1 |
| value_U=0.5 | |
| value_X=0.5 | |
| value_0=0 | |
| value_1=1 | |
| value_Z=0.5 | |
| value_W=0.5 | |
| value_L=0 | |
| value_H=1 | |
| value_m=0.5 | |
c | | n=1 |
| value_U=0.5 | |
| value_X=0.5 | |
| value_0=0 | |
| value_1=1 | |
| value_Z=0.5 | |
| value_W=0.5 | |
| value_L=0 | |
| value_H=1 | |
| value_m=0.5 |
Component |
Version 3.2 |
Version 3.2.1 |
s | | value_0=0 |
| value_1=1 | |
| value_H=1 | |
| value_L=0 | |
| value_m=0.5 | |
| value_U=0.5 | |
| value_W=0.5 | |
| value_X=0.5 | |
| value_Z=0.5 | |
| n=1 | |
c_out | | value_0=0 |
| value_1=1 | |
| value_H=1 | |
| value_L=0 | |
| value_m=0.5 | |
| value_U=0.5 | |
| value_W=0.5 | |
| value_X=0.5 | |
| value_Z=0.5 | |
| n=1 | |
CLK | | period=1 |
| startTime=0 | |
| width=50 |
Component |
Version 3.2 |
Version 3.2.1 |
b4 | y0=3 | y0=L.'0' |
x={4,3} | x={L.'1',L.'0'} | |
b1 | x={4,3,4} | x={L.'1',L.'0',L.'1'} |
y0=3 | y0=L.'0' | |
b2 | y0=3 | y0=L.'0' |
x={4} | x={L.'1'} | |
b3 | y0=3 | y0=L.'0' |
x={4} | x={L.'1'} | |
a1 | y0=3 | y0=L.'0' |
x={4,3,4} | x={L.'1',L.'0',L.'1'} | |
a2 | y0=3 | y0=L.'0' |
x={4} | x={L.'1'} | |
a3 | y0=3 | y0=L.'0' |
x={4,3} | x={L.'1',L.'0'} | |
a4 | y0=3 | y0=L.'0' |
x={3} | x={L.'0'} | |
Set | x=3 | x=L.'0' |
Adder1 | | Adder1(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) |
| Adder2(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) | |
Adder2 | | Adder1(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) |
| Adder2(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) | |
Adder3 | | Adder1(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) |
| Adder2(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) | |
Adder4 | | Adder1(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) |
| Adder2(AND(G2(y(start=L.'U', fixed=true))), XOR(G2(y(start=L.'U', fixed=true)))) |
Component |
Version 3.2 |
Version 3.2.1 |
Enable | | after=D.Interfaces.Logic.'1' |
| before=D.Interfaces.Logic.'0' | |
| stepTime=1 | |
Clock | | period=1 |
| startTime=0 | |
| width=50 |
Component |
Version 3.2 |
Version 3.2.1 |
Enable | | after=D.Interfaces.Logic.'1' |
| before=D.Interfaces.Logic.'0' | |
| stepTime=1 | |
Clock | | period=1 |
| startTime=0 | |
| width=50 | |
Q0 | | value_0=0 |
| value_1=1 | |
| value_H=1 | |
| value_L=0 | |
| value_m=0.5 | |
| value_U=0.5 | |
| value_W=0.5 | |
| value_X=0.5 | |
| value_Z=0.5 | |
| n=1 | |
Q1 | | value_0=0 |
| value_1=1 | |
| value_H=1 | |
| value_L=0 | |
| value_m=0.5 | |
| value_U=0.5 | |
| value_W=0.5 | |
| value_X=0.5 | |
| value_Z=0.5 | |
| n=1 | |
Q2 | | value_0=0 |
| value_1=1 | |
| value_H=1 | |
| value_L=0 | |
| value_m=0.5 | |
| value_U=0.5 | |
| value_W=0.5 | |
| value_X=0.5 | |
| value_Z=0.5 | |
| n=1 | |
Q3 | | value_0=0 |
| value_1=1 | |
| value_H=1 | |
| value_L=0 | |
| value_m=0.5 | |
| value_U=0.5 | |
| value_W=0.5 | |
| value_X=0.5 | |
| value_Z=0.5 | |
| n=1 |
Component |
Version 3.2 |
Version 3.2.1 |
delay | | inertialDelaySensitive(each y(start=L.'U', fixed=true)) |
table | x={3,4,3,4,3} | x={L.'0',L.'1',L.'0',L.'1',L.'0'} |
table1 | x={3,4} | x={L.'0',L.'1'} |
table2 | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
clock | x={3,4,3,4,3,4,3} | x={L.'0',L.'1',L.'0',L.'1',L.'0',L.'1',L.'0'} |
data_0 | x={4,3} | x={L.'1',L.'0'} |
reset | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_1 | x={8,2} | x={L.'H',L.'X'} |
dFFREG | | delay(inertialDelaySensitive(each y(start=L.'U', fixed=true))) |
| dFFR(clock(start=L.'U', fixed=true), reset(start=L.'U', fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
clock | x={3,4,3,4,3,4,3} | x={L.'0',L.'1',L.'0',L.'1',L.'0',L.'1',L.'0'} |
data_0 | x={4,3} | x={L.'1',L.'0'} |
reset | x={4,3,4} | x={L.'1',L.'0',L.'1'} |
data_1 | x={8,2} | x={L.'H',L.'X'} |
dFFREGL | | delay(inertialDelaySensitive(each y(start=L.'U', fixed=true))) |
| dFFR(clock(start=L.'U', fixed=true), reset(start=L.'U', fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
clock | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_0 | x={6} | x={L.'W'} |
reset | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_1 | x={3} | x={L.'0'} |
set | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
clock | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_0 | x={6} | x={L.'W'} |
reset | x={4,3,4} | x={L.'1',L.'0',L.'1'} |
data_1 | x={3} | x={L.'0'} |
set | x={4,3,4} | x={L.'1',L.'0',L.'1'} |
Component |
Version 3.2 |
Version 3.2.1 |
enable | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_0 | x={6,4} | x={L.'W',L.'1'} |
reset | x={3,4,3,4,3} | x={L.'0',L.'1',L.'0',L.'1',L.'0'} |
data_1 | x={3,4} | x={L.'0',L.'1'} |
dLATREG | | delay(inertialDelaySensitive(each y(start=L.'U', fixed=true))) |
Component |
Version 3.2 |
Version 3.2.1 |
enable | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_0 | x={6,4} | x={L.'W',L.'1'} |
reset | x={4,3,4,3,4} | x={L.'1',L.'0',L.'1',L.'0',L.'1'} |
data_1 | x={3,4} | x={L.'0',L.'1'} |
dLATREGL | | delay(inertialDelaySensitive(each y(start=L.'U', fixed=true))) |
Component |
Version 3.2 |
Version 3.2.1 |
enable | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_0 | x={6,4} | x={L.'W',L.'1'} |
reset | x={3,4,3,4,3} | x={L.'0',L.'1',L.'0',L.'1',L.'0'} |
data_1 | x={3,4} | x={L.'0',L.'1'} |
set | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
dLATREGSRH | | delay(inertialDelaySensitive(each y(start=L.'U', fixed=true))) |
Component |
Version 3.2 |
Version 3.2.1 |
enable | x={3,4,3} | x={L.'0',L.'1',L.'0'} |
data_0 | x={6,4} | x={L.'W',L.'1'} |
reset | x={4,3,4,3,4} | x={L.'1',L.'0',L.'1',L.'0',L.'1'} |
data_1 | x={3,4} | x={L.'0',L.'1'} |
set | x={4,3,4} | x={L.'1',L.'0',L.'1'} |
dLATREGSRL | | delay(inertialDelaySensitive(each y(start=L.'U', fixed=true))) |
Component |
Version 3.2 |
Version 3.2.1 |
e_table | x={3,4,5} | x={L.'0',L.'1',L.'Z'} |
x_table | x={4,3} | x={L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
e_table | x={3,4,5} | x={L.'0',L.'1',L.'Z'} |
x_table | x={4,3} | x={L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
e_table | x={3,4,5} | x={L.'0',L.'1',L.'Z'} |
x_table | x={4,3} | x={L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
e_table | y0=Modelica_3_2.Electrical.Digital.Interfaces.Logic.'U' | y0=L.'U' |
x={3,4,5} | x={L.'0',L.'1',L.'Z'} | |
x_table | y0=Modelica_3_2.Electrical.Digital.Interfaces.Logic.'U' | y0=L.'U' |
x={4,3} | x={L.'1',L.'0'} |
Component |
Version 3.2 |
Version 3.2.1 |
e_table2 | y0=Modelica_3_2.Electrical.Digital.Interfaces.Logic.'U' | y0=L.'U' |
x={3,4,3} | x={L.'0',L.'1',L.'0'} | |
x_table2 | y0=Modelica_3_2.Electrical.Digital.Interfaces.Logic.'U' | y0=L.'U' |
x={4,3} | x={L.'1',L.'0'} | |
e_table1 | y0=Modelica_3_2.Electrical.Digital.Interfaces.Logic.'U' | y0=L.'U' |
x={3,4,3} | x={L.'0',L.'1',L.'0'} | |
x_table1 | y0=Modelica_3_2.Electrical.Digital.Interfaces.Logic.'U' | y0=L.'U' |
x={3,4,3} | x={L.'0',L.'1',L.'0'} |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(Not1.y, RSFF1.r); |
|
connect(clk, RSFF1.clk); |
|
connect(d, Not1.x); | |
connect(d, RSFF1.s); | |
connect(clk, RSFF1.clk); |
Component |
Version 3.2 |
Version 3.2.1 |
AND | | G2(y(start=L.'U', fixed=true)) |
XOR | | G2(y(start=L.'U', fixed=true)) |
Component |
Version 3.2 |
Version 3.2.1 |
MUX2x1Table | Present |
Component |
Version 3.2 |
Version 3.2.1 |
LogicValues | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
x_delayed = integer(delay(x, delayTime)); | x_delayed = LogicValues[integer(delay(Integer(pre(x)), delayTime))]; |
y = if delayTime > 0 then (if time >= delayTime then x_delayed else y0) else  pre(x); |
Component |
Version 3.2 |
Version 3.2.1 |
delayTable | | constant |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... when {initial(),(tLH > 0 or tHL > 0) and change(x) and not initial()} then |
|
y_old = if initial() or pre(y) == 0 then y0 else pre(y); | y_old = if initial() or pre(y) == L.'U' then y0 else pre(y); |
lh = delayTable[y_old, x]; ... |
Component |
Version 3.2 |
Version 3.2.1 |
auxiliary | each fixed=true | |
auxiliary_n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end for; |
|
y = pre(auxiliary[n]); | auxiliary_n = auxiliary[n]; |
y = pre(auxiliary_n); |
Component |
Version 3.2 |
Version 3.2.1 |
auxiliary | each fixed=true | |
auxiliary_n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end for; |
|
y = pre(Modelica_3_2.Electrical.Digital.Tables.NotTable[auxiliary[n]]); | auxiliary_n = Modelica.Electrical.Digital.Tables.NotTable[auxiliary[n]]; |
y = pre(auxiliary_n); |
Component |
Version 3.2 |
Version 3.2.1 |
auxiliary | each fixed=true | |
auxiliary_n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end for; |
|
y = pre(auxiliary[n]); | auxiliary_n = auxiliary[n]; |
y = pre(auxiliary_n); |
Component |
Version 3.2 |
Version 3.2.1 |
auxiliary | each fixed=true | |
auxiliary_n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end for; |
|
y = pre(Modelica_3_2.Electrical.Digital.Tables.NotTable[auxiliary[n]]); | auxiliary_n = Modelica.Electrical.Digital.Tables.NotTable[auxiliary[n]]; |
y = pre(auxiliary_n); |
Component |
Version 3.2 |
Version 3.2.1 |
auxiliary | each fixed=true | |
auxiliary_n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end for; |
|
y = pre(auxiliary[n]); | auxiliary_n = auxiliary[n]; |
y = pre(auxiliary_n); |
Component |
Version 3.2 |
Version 3.2.1 |
auxiliary | each fixed=true | |
auxiliary_n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end for; |
|
y = pre(Modelica_3_2.Electrical.Digital.Tables.NotTable[auxiliary[n]]); | auxiliary_n = Modelica.Electrical.Digital.Tables.NotTable[auxiliary[n]]; |
y = pre(auxiliary_n); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
when initial() then y = before; end when; |
|
if time >= stepTime then ... |
Component |
Version 3.2 |
Version 3.2.1 |
x | ={1} | ={L.'1'} |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
when sample(startTime, period) then ... y = if (not time>=startTime) or time >= t_i + t_width then L.'0' else L.'1'; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
for i in 1:n loop | |
y[i] = if x[i] == 4 or x[i] == 8 then true else false; | y[i] = if x[i] == L.'1' or x[i] == L.'H' then true else false; |
end for; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(dataOut, dataOut); |
|
connect(delay.y, dataOut); ... |
Component |
Version 3.2 |
Version 3.2.1 |
delay | | inertialDelaySensitive(each y(start=L.'U', fixed=true)) |
dFFSR | | clock(start=L.'U', fixed=true) |
| reset(start=L.'U', fixed=true) | |
| set(start=L.'U', fixed=true) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(dataOut, dataOut); |
|
connect(delay.y, dataOut); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(dataOut, dataOut); |
|
connect(delay.y, dataOut); ... |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL | |
| y(start=L.'U', fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL | |
| y(start=L.'U', fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL | |
| y(start=L.'U', fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL | |
| y(start=L.'U', fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
inertialDelaySensitive | each tLH=tLH | |
each tHL=tHL | | |
| tLH=tLH | |
| tHL=tHL |
Component |
Version 3.2 |
Version 3.2.1 |
aimc | | p=aimcData.p |
| fsNominal=aimcData.fsNominal | |
| Rs=aimcData.Rs | |
| TsRef=aimcData.TsRef | |
| alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
| Lszero=aimcData.Lszero | |
| Lssigma=aimcData.Lssigma | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| Lm=aimcData.Lm | |
| Lrsigma=aimcData.Lrsigma | |
| Rr=aimcData.Rr | |
| TrRef=aimcData.TrRef | |
| TsOperational=293.15 | |
| alpha20r=aimcData.alpha20r | |
| TrOperational=293.15 | |
idealCloser | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
aimcData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aimc.is=zeros(3); aimc.ir=zeros(2); equation  connect(star.pin_n, ground.p); |
|
connect(sineVoltage.plug_n, star.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
aimc | | p=aimcData.p |
| fsNominal=aimcData.fsNominal | |
| Rs=aimcData.Rs | |
| TsRef=aimcData.TsRef | |
| alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
| Lszero=aimcData.Lszero | |
| Lssigma=aimcData.Lssigma | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| Lm=aimcData.Lm | |
| Lrsigma=aimcData.Lrsigma | |
| Rr=aimcData.Rr | |
| TrRef=aimcData.TrRef | |
| TsOperational=293.15 | |
| alpha20r=aimcData.alpha20r | |
| TrOperational=293.15 | |
idealCloser | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
switchYD | | m=m |
aimcData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aimc.is=zeros(3); aimc.ir=zeros(2); equation  connect(star.pin_n, ground.p); |
|
connect(sineVoltage.plug_n, star.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
aimc | | p=aimcData.p |
| fsNominal=aimcData.fsNominal | |
| Rs=aimcData.Rs | |
| TsRef=aimcData.TsRef | |
| alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
| Lszero=aimcData.Lszero | |
| Lssigma=aimcData.Lssigma | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| Lm=aimcData.Lm | |
| Lrsigma=aimcData.Lrsigma | |
| Rr=aimcData.Rr | |
| TrRef=aimcData.TrRef | |
| TsOperational=293.15 | |
| alpha20r=aimcData.alpha20r | |
| TrOperational=293.15 | |
idealCloser | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
transformer | | T1Ref=293.15 |
| alpha20_1(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T2Ref=293.15 | |
| alpha20_2(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T1Operational=293.15 | |
| T2Operational=293.15 | |
transformerData | | parameter |
idealCommutingSwitch | Goff=fill(5E-4, m) | Goff=fill(50E-5, m) |
| Ron=fill(1e-5, m) | |
aimcData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aimc.is=zeros(3); aimc.ir=zeros(2); transformer.i1[1:2]=zeros(2); equation  connect(star.pin_n, ground.p); |
|
connect(terminalBox.plug_sn, aimc.plug_sn); ... |
Component |
Version 3.2 |
Version 3.2.1 |
Rstart | =0.16 | =0.16/aimsData.turnsRatio^2 |
aims | | p=aimsData.p |
| Jr=aimsData.Jr | |
| Js=aimsData.Js | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| useTurnsRatio=aimsData.useTurnsRatio | |
| turnsRatio=aimsData.turnsRatio | |
| VsNominal=aimsData.VsNominal | |
| VrLockedRotor=aimsData.VrLockedRotor | |
| Rs=aimsData.Rs | |
| TsRef=aimsData.TsRef | |
| Lszero=aimsData.Lszero | |
| Lssigma=aimsData.Lssigma | |
| Lm=aimsData.Lm | |
| Lrsigma=aimsData.Lrsigma | |
| Lrzero=aimsData.Lrzero | |
| Rr=aimsData.Rr | |
| TrRef=aimsData.TrRef | |
| frictionParameters=aimsData.frictionParameters | |
| statorCoreParameters=aimsData.statorCoreParameters | |
| strayLoadParameters=aimsData.strayLoadParameters | |
| rotorCoreParameters=aimsData.rotorCoreParameters | |
| fsNominal=aimsData.fsNominal | |
| TsOperational=293.15 | |
| alpha20s=aimsData.alpha20s | |
| alpha20r=aimsData.alpha20r | |
| TrOperational=293.15 | |
idealCloser | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
switchedRheostat | | m=m |
aimsData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aims.is=zeros(3); aims.ir=zeros(3); equation  connect(star.pin_n, ground.p); |
|
connect(sineVoltage.plug_n, star.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
aimc | | p=aimcData.p |
| fsNominal=aimcData.fsNominal | |
| Rs=aimcData.Rs | |
| TsRef=aimcData.TsRef | |
| alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
| Lszero=aimcData.Lszero | |
| Lssigma=aimcData.Lssigma | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| Lm=aimcData.Lm | |
| Lrsigma=aimcData.Lrsigma | |
| Rr=aimcData.Rr | |
| TrRef=aimcData.TrRef | |
| TsOperational=293.15 | |
| alpha20r=aimcData.alpha20r | |
| TrOperational=293.15 | |
loadTorqueStep | | offsetTorque=0 |
aimcData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(signalVoltage.plug_n, star.plug_p); | initial equation |
aimc.is[1:2]=zeros(2); aimc.ir=zeros(2); equation  connect(signalVoltage.plug_n, star.plug_p); |
|
connect(star.pin_n, ground.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
aimc | useSupport=true | |
| p=aimcData.p | |
| fsNominal=aimcData.fsNominal | |
| Rs=aimcData.Rs | |
| TsRef=aimcData.TsRef | |
| alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
| Lszero=aimcData.Lszero | |
| Lssigma=aimcData.Lssigma | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| Lm=aimcData.Lm | |
| Lrsigma=aimcData.Lrsigma | |
| Rr=aimcData.Rr | |
| TrRef=aimcData.TrRef | |
| TsOperational=293.15 | |
| alpha20r=aimcData.alpha20r | |
| TrOperational=293.15 | |
quadraticLoadTorque | | useSupport=false |
relSpeedSensor | Mechanics.Rotational.Sensors.RelSpeedSensor | Mechanics.Rotational.Sensors.SpeedSensor |
fixed | Present | |
aimcData | Present | |
currentQuasiRMSSensor | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ground.p, sineVoltage.n); | initial equation |
aimc.is=zeros(3); aimc.ir=zeros(2); cStart.v=0; cRun.v = 0; equation  connect(ground.p, sineVoltage.n); |
|
connect(sineVoltage.p, idealCloser.p); ... connect(TerminalBox1.plug_sp, aimc.plug_sp); |
|
connect(TerminalBox1.plugSupply, plugToPin_p2.plug_p); | connect(aimc.flange, loadInertia.flange_a); |
connect(TerminalBox1.plugSupply, plugToPin_p3.plug_p); | connect(relSpeedSensor.flange, aimc.flange); |
connect(TerminalBox1.plugSupply, plugToPin_p1.plug_p); | connect(relSpeedSensor.w, greaterThreshold.u); |
connect(quadraticLoadTorque.support, fixed.flange); | connect(plugToPin_p3.plug_p, currentQuasiRMSSensor.plug_p); |
connect(relSpeedSensor.flange_a, fixed.flange); | connect(plugToPin_p2.plug_p, currentQuasiRMSSensor.plug_p); |
connect(relSpeedSensor.w_rel, greaterThreshold.u); | connect(plugToPin_p1.plug_p, currentQuasiRMSSensor.plug_p); |
connect(aimc.support, fixed.flange); | connect(currentQuasiRMSSensor.plug_n, TerminalBox1.plugSupply); |
connect(aimc.flange, relSpeedSensor.flange_b); connect(aimc.flange, loadInertia.flange_a); |
Component |
Version 3.2 |
Version 3.2.1 |
m | protected | |
aimc | Jr=J | Jr=aimcData.Jr |
p=2 | p=aimcData.p | |
fsNominal=fNominal | fsNominal=aimcData.fsNominal | |
Rs=0.56 | Rs=aimcData.Rs | |
alpha20s(displayUnit="1/K") = Modelica_3_2.Electrical.Machines.Thermal.Constants.alpha20Copper | alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
Lssigma=1.52/(2*pi*fNominal) | Lssigma=aimcData.Lssigma | |
Lm=66.4/(2*pi*fNominal) | Lm=aimcData.Lm | |
Lrsigma=2.31/(2*pi*fNominal) | Lrsigma=aimcData.Lrsigma | |
Rr=0.42 | Rr=aimcData.Rr | |
TsRef=293.15 | TsRef=aimcData.TsRef | |
TrRef=293.15 | TrRef=aimcData.TrRef | |
statorCoreParameters(PRef=PcoreRef, VRef=VcoreNominal, wRef=2*pi*fNominal) | | |
strayLoadParameters(PRef=0.005*sqrt(3)*VNominal*INominal*pfNominal, IRef=INominal/sqrt(3), wRef=wNominal) | | |
alpha20r(displayUnit="1/K") = Modelica_3_2.Electrical.Machines.Thermal.Constants.alpha20Aluminium | | |
wMechanical(start=wNominal, fixed=true) | | |
frictionParameters(PRef=PfrictionRef, wRef=wNominal) | | |
| Lszero=aimcData.Lszero | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| wMechanical(fixed=true, start=2*pi*aimcData.fsNominal/aimcData.p) | |
| alpha20r=aimcData.alpha20r | |
loadInertia | J=J | J=aimcData.Jr |
PI | | initType=Modelica.Blocks.Types.Init.InitialState |
pi | Present | |
J | Present | |
PcoreRef | Present | |
VcoreNominal | Present | |
PfrictionRef | Present | |
aimcData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aimc.i_0_s=0; der(aimc.idq_sr)=zeros(2); der(aimc.idq_rr)=zeros(2); equation  connect(star.pin_n, ground.p); |
|
connect(sineVoltage.plug_n, star.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
smr | | p=smrData.p |
| fsNominal=smrData.fsNominal | |
| Rs=smrData.Rs | |
| TsRef=smrData.TsRef | |
| Lszero=smrData.Lszero | |
| Lssigma=smrData.Lssigma | |
| Jr=smrData.Jr | |
| Js=smrData.Js | |
| frictionParameters=smrData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=smrData.statorCoreParameters | |
| strayLoadParameters=smrData.strayLoadParameters | |
| Lmd=smrData.Lmd | |
| Lmq=smrData.Lmq | |
| useDamperCage=smrData.useDamperCage | |
| Lrsigmad=smrData.Lrsigmad | |
| Lrsigmaq=smrData.Lrsigmaq | |
| Rrd=smrData.Rrd | |
| Rrq=smrData.Rrq | |
| TrRef=smrData.TrRef | |
| TsOperational=293.15 | |
| alpha20s=smrData.alpha20s | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
| alpha20r=smrData.alpha20r | |
loadTorqueStep | | offsetTorque=0 |
smrData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(signalVoltage.plug_n, star.plug_p); | initial equation |
smr.is[1:2]=zeros(2); equation  connect(signalVoltage.plug_n, star.plug_p); |
|
connect(star.pin_n, ground.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
smpm | | p=smpmData.p |
| fsNominal=smpmData.fsNominal | |
| Rs=smpmData.Rs | |
| TsRef=smpmData.TsRef | |
| Lszero=smpmData.Lszero | |
| Lssigma=smpmData.Lssigma | |
| Jr=smpmData.Jr | |
| Js=smpmData.Js | |
| frictionParameters=smpmData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=smpmData.statorCoreParameters | |
| strayLoadParameters=smpmData.strayLoadParameters | |
| VsOpenCircuit=smpmData.VsOpenCircuit | |
| Lmd=smpmData.Lmd | |
| Lmq=smpmData.Lmq | |
| useDamperCage=smpmData.useDamperCage | |
| Lrsigmad=smpmData.Lrsigmad | |
| Lrsigmaq=smpmData.Lrsigmaq | |
| Rrd=smpmData.Rrd | |
| Rrq=smpmData.Rrq | |
| TrRef=smpmData.TrRef | |
| permanentMagnetLossParameters=smpmData.permanentMagnetLossParameters | |
| TsOperational=293.15 | |
| alpha20s=smpmData.alpha20s | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
| alpha20r=smpmData.alpha20r | |
loadTorqueStep | | offsetTorque=0 |
smpmData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(signalVoltage.plug_n, star.plug_p); | initial equation |
smpm.is[1:2]=zeros(2); equation  connect(signalVoltage.plug_n, star.plug_p); |
|
connect(star.pin_n, ground.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
smpm | useDamperCage=false | useDamperCage=smpmData.useDamperCage |
| p=smpmData.p | |
| fsNominal=smpmData.fsNominal | |
| TsOperational=293.15 | |
| Rs=smpmData.Rs | |
| TsRef=smpmData.TsRef | |
| alpha20s=smpmData.alpha20s | |
| Lszero=smpmData.Lszero | |
| Lssigma=smpmData.Lssigma | |
| Jr=smpmData.Jr | |
| Js=smpmData.Js | |
| frictionParameters=smpmData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=smpmData.statorCoreParameters | |
| strayLoadParameters=smpmData.strayLoadParameters | |
| TrOperational=293.15 | |
| VsOpenCircuit=smpmData.VsOpenCircuit | |
| Lmd=smpmData.Lmd | |
| Lmq=smpmData.Lmq | |
| Lrsigmad=smpmData.Lrsigmad | |
| Lrsigmaq=smpmData.Lrsigmaq | |
| Rrd=smpmData.Rrd | |
| Rrq=smpmData.Rrq | |
| TrRef=smpmData.TrRef | |
| alpha20r=smpmData.alpha20r | |
| permanentMagnetLossParameters=smpmData.permanentMagnetLossParameters | |
smpmData | Present | |
currentQuasiRMSSensor | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(angleSensor.phi, currentController.phi); |
|
connect(signalCurrent.plug_n, terminalBox.plugSupply); |
|
connect(id.y, currentController.id_rms); ... connect(torqueSensor.flange_b, inertiaLoad.flange_a); |
|
connect(signalCurrent.plug_n, currentQuasiRMSSensor.plug_p); connect(currentQuasiRMSSensor.plug_n, voltageQuasiRMSSensor.plug_p); |
Component |
Version 3.2 |
Version 3.2.1 |
smee | useSupport=true | |
| p=2 | |
| Jr=0.29 | |
| Js=0.29 | |
| useDamperCage=true | |
| statorCoreParameters(VRef=100) | |
| strayLoadParameters(IRef=100) | |
| brushParameters(ILinear=0.01) | |
| TsOperational=293.15 | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
| TeOperational=293.15 | |
rotorDisplacementAngle | useSupport=true | |
mechanicalPowerSensor | useSupport=true | |
smeeData | | SNominal=30e3 |
| VsNominal=100 | |
| fsNominal=50 | |
| IeOpenCircuit=10 | |
| x0=0.1 | |
| xd=1.6 | |
| xq=1.6 | |
| xdTransient=0.1375 | |
| xdSubtransient=0.121428571 | |
| xqSubtransient=0.148387097 | |
| Ta=0.014171268 | |
| Td0Transient=0.261177343 | |
| Td0Subtransient=0.006963029 | |
| Tq0Subtransient=0.123345081 | |
| alpha20s(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| alpha20r(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| alpha20e(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| TsSpecification=293.15 | |
| TsRef=293.15 | |
| TrSpecification=293.15 | |
| TrRef=293.15 | |
| TeSpecification=293.15 | |
| TeRef=293.15 | |
fixed | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(rotorDisplacementAngle.plug_n, smee.plug_sn); | initial equation |
smee.is[1:2]=zeros(2); equation  connect(rotorDisplacementAngle.plug_n, smee.plug_sn); |
|
connect(rotorDisplacementAngle.plug_p, smee.plug_sp); ... connect(terminalBox.plug_sp, smee.plug_sp); |
|
connect(constantSpeed.support, fixed.flange); | connect(smee.flange, rotorDisplacementAngle.flange); |
connect(mechanicalPowerSensor.support, fixed.flange); | connect(smee.flange, mechanicalPowerSensor.flange_a); |
connect(smee.support, fixed.flange); connect(rotorDisplacementAngle.support, smee.support); connect(smee.flange, rotorDisplacementAngle.flange); connect(smee.flange, mechanicalPowerSensor.flange_a); |
Component |
Version 3.2 |
Version 3.2.1 |
smee | | p=2 |
| Jr=0.29 | |
| Js=0.29 | |
| statorCoreParameters(VRef=100) | |
| strayLoadParameters(IRef=100) | |
| brushParameters(ILinear=0.01) | |
| TsOperational=293.15 | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
| TeOperational=293.15 | |
smeeData | | SNominal=30e3 |
| VsNominal=100 | |
| fsNominal=50 | |
| IeOpenCircuit=10 | |
| x0=0.1 | |
| xd=1.6 | |
| xq=1.6 | |
| xdTransient=0.1375 | |
| xdSubtransient=0.121428571 | |
| xqSubtransient=0.148387097 | |
| Ta=0.014171268 | |
| Td0Transient=0.261177343 | |
| Td0Subtransient=0.006963029 | |
| Tq0Subtransient=0.123345081 | |
| TsSpecification=293.15 | |
| TsRef=293.15 | |
| alpha20s(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| TrSpecification=293.15 | |
| TrRef=293.15 | |
| alpha20r(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| TeSpecification=293.15 | |
| TeRef=293.15 | |
| alpha20e(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
setPointGain | k=smeeData.VsNominal/wNominal | k=(smeeData.VsNominal/wNominal)/unitMagneticFlux |
voltageController | | initType=Modelica.Blocks.Types.InitPID.InitialState |
| Td=0.001 | |
switch | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
| V0=fill(30, m) | |
| dVdt=fill(10e3, m) | |
| Vmax=fill(60, m) | |
unitMagneticFlux | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(terminalBox.plug_sn, smee.plug_sn); | initial equation |
smee.idq_sr=zeros(2); smee.ie=0; equation  connect(terminalBox.plug_sn, smee.plug_sn); |
|
connect(terminalBox.plug_sp, smee.plug_sp); ... |
Component |
Version 3.2 |
Version 3.2.1 |
dcpm | | VaNominal=dcpmData.VaNominal |
| IaNominal=dcpmData.IaNominal | |
| wNominal=dcpmData.wNominal | |
| TaNominal=dcpmData.TaNominal | |
| Ra=dcpmData.Ra | |
| TaRef=dcpmData.TaRef | |
| La=dcpmData.La | |
| Jr=dcpmData.Jr | |
| useSupport=false | |
| Js=dcpmData.Js | |
| frictionParameters=dcpmData.frictionParameters | |
| coreParameters=dcpmData.coreParameters | |
| strayLoadParameters=dcpmData.strayLoadParameters | |
| brushParameters=dcpmData.brushParameters | |
| TaOperational=293.15 | |
| alpha20a=dcpmData.alpha20a | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| ia(fixed=true) | |
loadTorqueStep | | offsetTorque=0 |
dcpmData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcee | | VaNominal=dceeData.VaNominal |
| IaNominal=dceeData.IaNominal | |
| wNominal=dceeData.wNominal | |
| TaNominal=dceeData.TaNominal | |
| Ra=dceeData.Ra | |
| TaRef=dceeData.TaRef | |
| La=dceeData.La | |
| Jr=dceeData.Jr | |
| useSupport=false | |
| Js=dceeData.Js | |
| frictionParameters=dceeData.frictionParameters | |
| coreParameters=dceeData.coreParameters | |
| strayLoadParameters=dceeData.strayLoadParameters | |
| brushParameters=dceeData.brushParameters | |
| IeNominal=dceeData.IeNominal | |
| Re=dceeData.Re | |
| TeRef=dceeData.TeRef | |
| Le=dceeData.Le | |
| sigmae=dceeData.sigmae | |
| TaOperational=293.15 | |
| alpha20a=dceeData.alpha20a | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| ia(fixed=true) | |
| alpha20e=dceeData.alpha20e | |
| TeOperational=293.15 | |
| ie(fixed=true) | |
loadTorqueStep | | offsetTorque=0 |
dceeData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcse | | VaNominal=dcseData.VaNominal |
| IaNominal=dcseData.IaNominal | |
| wNominal=dcseData.wNominal | |
| TaNominal=dcseData.TaNominal | |
| TeNominal=dcseData.TeNominal | |
| Ra=dcseData.Ra | |
| TaRef=dcseData.TaRef | |
| La=dcseData.La | |
| Jr=dcseData.Jr | |
| useSupport=false | |
| Js=dcseData.Js | |
| frictionParameters=dcseData.frictionParameters | |
| coreParameters=dcseData.coreParameters | |
| strayLoadParameters=dcseData.strayLoadParameters | |
| brushParameters=dcseData.brushParameters | |
| Re=dcseData.Re | |
| TeRef=dcseData.TeRef | |
| Le=dcseData.Le | |
| sigmae=dcseData.sigmae | |
| TaOperational=293.15 | |
| alpha20a=dcseData.alpha20a | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| ia(fixed=true) | |
| alpha20e=dcseData.alpha20e | |
| TeOperational=293.15 | |
dcseData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcse | | VaNominal=dcseData.VaNominal |
| IaNominal=dcseData.IaNominal | |
| wNominal=dcseData.wNominal | |
| TaNominal=dcseData.TaNominal | |
| TeNominal=dcseData.TeNominal | |
| Ra=dcseData.Ra | |
| TaRef=dcseData.TaRef | |
| La=dcseData.La | |
| Jr=dcseData.Jr | |
| useSupport=false | |
| Js=dcseData.Js | |
| frictionParameters=dcseData.frictionParameters | |
| coreParameters=dcseData.coreParameters | |
| strayLoadParameters=dcseData.strayLoadParameters | |
| brushParameters=dcseData.brushParameters | |
| Re=dcseData.Re | |
| TeRef=dcseData.TeRef | |
| Le=dcseData.Le | |
| sigmae=dcseData.sigmae | |
| TaOperational=293.15 | |
| alpha20a=dcseData.alpha20a | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| ia(fixed=true) | |
| alpha20e=dcseData.alpha20e | |
| TeOperational=293.15 | |
dcseData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcpm | TaNominal=353.15 | TaNominal=dcpmData.TaNominal |
TaRef=353.15 | TaRef=dcpmData.TaRef | |
alpha20a(displayUnit="1/K") = Machines.Thermal.Constants.alpha20Copper | | |
| VaNominal=dcpmData.VaNominal | |
| IaNominal=dcpmData.IaNominal | |
| wNominal=dcpmData.wNominal | |
| Ra=dcpmData.Ra | |
| La=dcpmData.La | |
| Jr=dcpmData.Jr | |
| useSupport=false | |
| Js=dcpmData.Js | |
| frictionParameters=dcpmData.frictionParameters | |
| coreParameters=dcpmData.coreParameters | |
| strayLoadParameters=dcpmData.strayLoadParameters | |
| brushParameters=dcpmData.brushParameters | |
| phiMechanical(fixed=true) | |
| ia(fixed=true) | |
| TaOperational=293.15 | |
| alpha20a=dcpmData.alpha20a | |
thermalAmbientDCPM | | Ta=293.15 |
| Tpm=293.15 | |
dcpmData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcpm | TaNominal=353.15 | TaNominal=dcpmData.TaNominal |
TaRef=353.15 | TaRef=dcpmData.TaRef | |
alpha20a(displayUnit="1/K") = Machines.Thermal.Constants.alpha20Copper | | |
| VaNominal=dcpmData.VaNominal | |
| IaNominal=dcpmData.IaNominal | |
| wNominal=dcpmData.wNominal | |
| Ra=dcpmData.Ra | |
| La=dcpmData.La | |
| Jr=dcpmData.Jr | |
| useSupport=false | |
| Js=dcpmData.Js | |
| frictionParameters=dcpmData.frictionParameters | |
| coreParameters=dcpmData.coreParameters | |
| strayLoadParameters=dcpmData.strayLoadParameters | |
| brushParameters=dcpmData.brushParameters | |
| phiMechanical(fixed=true) | |
| ia(fixed=true) | |
| TaOperational=293.15 | |
| alpha20a=dcpmData.alpha20a | |
inlet | | constantAmbientPressure=0 |
volumeFlow | | m=0 |
cooling | | m=0 |
| h_g=0 | |
| V_flowLaminar=0.1 | |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| T0fixed=false | |
outlet | | constantAmbientPressure=0 |
dcpmData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcpm1 | wMechanical(start=w0, fixed=true) | |
alpha20a(displayUnit="1/K") | | |
| VaNominal=dcpmData.VaNominal | |
| IaNominal=dcpmData.IaNominal | |
| wNominal=dcpmData.wNominal | |
| TaNominal=dcpmData.TaNominal | |
| Ra=dcpmData.Ra | |
| TaRef=dcpmData.TaRef | |
| La=dcpmData.La | |
| Jr=dcpmData.Jr | |
| useSupport=false | |
| Js=dcpmData.Js | |
| frictionParameters=dcpmData.frictionParameters | |
| coreParameters=dcpmData.coreParameters | |
| strayLoadParameters=dcpmData.strayLoadParameters | |
| brushParameters=dcpmData.brushParameters | |
| phiMechanical(fixed=true) | |
| ia(fixed=true) | |
| TaOperational=293.15 | |
| alpha20a=dcpmData.alpha20a | |
| wMechanical(fixed=true, start=w0) | |
dcpm2 | wMechanical(start=w0, fixed=true) | |
alpha20a(displayUnit="1/K") | | |
| VaNominal=dcpmData.VaNominal | |
| IaNominal=dcpmData.IaNominal | |
| wNominal=dcpmData.wNominal | |
| TaNominal=dcpmData.TaNominal | |
| Ra=dcpmData.Ra | |
| TaRef=dcpmData.TaRef | |
| La=dcpmData.La | |
| Jr=dcpmData.Jr | |
| useSupport=false | |
| Js=dcpmData.Js | |
| frictionParameters=dcpmData.frictionParameters | |
| coreParameters=dcpmData.coreParameters | |
| strayLoadParameters=dcpmData.strayLoadParameters | |
| brushParameters=dcpmData.brushParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true, start=w0) | |
| TaOperational=293.15 | |
| alpha20a=dcpmData.alpha20a | |
dcpmData | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
dcpm1 | | VaNominal=dcpmData1.VaNominal |
| IaNominal=dcpmData1.IaNominal | |
| wNominal=dcpmData1.wNominal | |
| TaNominal=dcpmData1.TaNominal | |
| Ra=dcpmData1.Ra | |
| TaRef=dcpmData1.TaRef | |
| La=dcpmData1.La | |
| Jr=dcpmData1.Jr | |
| useSupport=false | |
| Js=dcpmData1.Js | |
| frictionParameters=dcpmData1.frictionParameters | |
| coreParameters=dcpmData1.coreParameters | |
| strayLoadParameters=dcpmData1.strayLoadParameters | |
| brushParameters=dcpmData1.brushParameters | |
| TaOperational=293.15 | |
| alpha20a=dcpmData1.alpha20a | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| ia(fixed=true) | |
dcpm2 | wNominal=148.44025288212 | wNominal=dcpmData2.wNominal |
TaNominal=368.15 | TaNominal=dcpmData2.TaNominal | |
Ra=0.03864 | Ra=dcpmData2.Ra | |
TaRef=293.15 | TaRef=dcpmData2.TaRef | |
frictionParameters(PRef=100) | | |
alpha20a(displayUnit="1/K") = Modelica_3_2.Electrical.Machines.Thermal.Constants.alpha20Copper | | |
coreParameters(PRef=200) | | |
strayLoadParameters(PRef=50) | | |
brushParameters(V=0.5) | | |
| VaNominal=dcpmData2.VaNominal | |
| IaNominal=dcpmData2.IaNominal | |
| La=dcpmData2.La | |
| Jr=dcpmData2.Jr | |
| useSupport=false | |
| Js=dcpmData2.Js | |
| frictionParameters=dcpmData2.frictionParameters | |
| coreParameters=dcpmData2.coreParameters | |
| strayLoadParameters=dcpmData2.strayLoadParameters | |
| brushParameters=dcpmData2.brushParameters | |
| alpha20a=dcpmData2.alpha20a | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| ia(fixed=true) | |
| core(v(start=0)) | |
dcpmData1 | Present | |
dcpmData2 | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
transformerData | | parameter |
| f=50 | |
| V1=100 | |
| V2=100 | |
| SNominal=30E3 | |
| v_sc=0.05 | |
| P_sc=300 | |
transformer | | T1Ref=293.15 |
| alpha20_1(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T2Ref=293.15 | |
| alpha20_2(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T1Operational=293.15 | |
| T2Operational=293.15 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(starS.pin_n, groundS.p); | initial equation |
transformer.i2[1:2]=zeros(2); equation  connect(starS.pin_n, groundS.p); |
|
connect(source.plug_n, starS.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
transformerData | | parameter |
| f=50 | |
| V1=100 | |
| V2=100 | |
| SNominal=30E3 | |
| v_sc=0.05 | |
| P_sc=300 | |
transformer | | T1Ref=293.15 |
| alpha20_1(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T2Ref=293.15 | |
| alpha20_2(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T1Operational=293.15 | |
| T2Operational=293.15 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(starS.pin_n, groundS.p); | initial equation |
transformer.i2[1]=0; equation  connect(starS.pin_n, groundS.p); |
|
connect(source.plug_n, starS.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
diode1 | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
| Vknee=fill(0, m) | |
diode2 | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
| Vknee=fill(0, m) | |
transformerData1 | | parameter |
| f=50 | |
| V1=100 | |
| V2=100 | |
| SNominal=30E3 | |
| v_sc=0.05 | |
| P_sc=300 | |
transformer1 | | T1Ref=293.15 |
| alpha20_1(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T2Ref=293.15 | |
| alpha20_2(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T1Operational=293.15 | |
| T2Operational=293.15 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(cDC1.n, cDC2.p); | initial equation |
cDC1.v=VC0/2; cDC2.v=VC0/2; transformer1.i2[1:2]=zeros(2); equation  connect(cDC1.n, cDC2.p); |
|
connect(cDC1.n, groundDC.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
diode3 | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
| Vknee=fill(0, m) | |
diode4 | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
| Vknee=fill(0, m) | |
transformer2 | | T1Ref=293.15 |
| alpha20_1(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T2Ref=293.15 | |
| alpha20_2(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T1Operational=293.15 | |
| T2Operational=293.15 | |
transformerData2 | | parameter |
| f=50 | |
| V1=100 | |
| V2=100 | |
| SNominal=30E3 | |
| v_sc=0.05 | |
| P_sc=300 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(diode3.plug_n, star3.plug_p); | initial equation |
transformer2.core.plug_p1.pin[1:3].i=zeros(3); equation  connect(diode3.plug_n, star3.plug_p); |
|
connect(diode4.plug_p, star4.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
ir | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(airGapS.spacePhasor_r, squirrelCageR.spacePhasor_r); | |
connect(airGapS.support, internalSupport); |
|
connect(airGapS.flange, inertiaRotor.flange_a); ... connect(squirrelCageR.heatPort, internalThermalPort.heatPortRotorWinding); |
|
connect(airGapS.support, internalSupport); |
Component |
Version 3.2 |
Version 3.2.1 |
lrsigma | final L=fill(Lrsigma, 2) | final L=fill(internalTurnsRatio^2*Lrsigma, 2) |
lrzero | final L=Lrzero | final L=internalTurnsRatio^2*Lrzero |
rotorCore | | final useHeatPort=true |
| final turnsRatio=internalTurnsRatio |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(airGapS.support, internalSupport); connect(airGapS.flange, inertiaRotor.flange_a); connect(plug_rn, plug_rn); |
|
connect(lssigma.spacePhasor_b, airGapS.spacePhasor_s); ... connect(plug_rp, rr.plug_p); |
|
connect(airGapS.flange, inertiaRotor.flange_a); connect(fixed.flange, internalSupport); connect(internalSupport, airGapS.support); |
Component |
Version 3.2 |
Version 3.2.1 |
idq_dr | SIunits.Current | Blocks.Interfaces.RealOutput |
output | | |
permanentMagnet | Electrical.Machines.BasicMachines.Components.PermanentMagnet | Electrical.Machines.BasicMachines.Components.PermanentMagnetWithLosses |
heatFlowSensorDamperCage | Present | |
ir | Present | |
permanentMagnetLossParameters | Present | |
damperCageLossPower | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ir, damperCage.i); connect(idq_dr, damperCage.i); connect(damperCageLossPower, damperCage.lossPower); if not useDamperCage then damperCageLossPower=0; end if; |
|
connect(airGapR.spacePhasor_r, damperCage.spacePhasor_r); ... connect(airGapR.support, internalSupport); |
|
connect(lssigma.spacePhasor_b, airGapR.spacePhasor_s); |
|
connect(airGapR.flange, inertiaRotor.flange_a); | |
connect(lssigma.spacePhasor_b, airGapR.spacePhasor_s); | connect(permanentMagnet.heatPort, internalThermalPort.heatPortPermanentMagnet); |
connect(damperCage.heatPort, heatFlowSensorDamperCage.port_a); | connect(permanentMagnet.flange, inertiaRotor.flange_b); |
connect(heatFlowSensorDamperCage.port_b, internalThermalPort.heatPortRotorWinding); | connect(damperCage.heatPort, internalThermalPort.heatPortRotorWinding); |
connect(internalSupport, permanentMagnet.support); |
Component |
Version 3.2 |
Version 3.2.1 |
idq_dr | SIunits.Current | Blocks.Interfaces.RealOutput |
output | | |
brush | | final useHeatPort=true |
heatFlowSensorDamperCage | Present | |
ir | Present | |
damperCageLossPower | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ir, damperCage.i); connect(idq_dr, damperCage.i); connect(damperCageLossPower, damperCage.lossPower); if not useDamperCage then damperCageLossPower=0; end if; |
|
connect(airGapR.spacePhasor_r, damperCage.spacePhasor_r); | |
connect(airGapR.spacePhasor_r, electricalExcitation.spacePhasor_r); | |
connect(airGapR.support, internalSupport); connect(airGapR.flange, inertiaRotor.flange_a); |
|
connect(electricalExcitation.pin_en, pin_en); ... connect(re.heatPort, internalThermalPort.heatPortExcitation); |
|
connect(damperCage.heatPort, heatFlowSensorDamperCage.port_a); | connect(airGapR.flange, inertiaRotor.flange_a); |
connect(heatFlowSensorDamperCage.port_b, internalThermalPort.heatPortRotorWinding); | connect(airGapR.support, internalSupport); |
connect(damperCage.heatPort, internalThermalPort.heatPortRotorWinding); |
Component |
Version 3.2 |
Version 3.2.1 |
heatFlowSensorDamperCage | Present | |
ir | Present | |
idq_dr | Present | |
damperCageLossPower | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ir, damperCage.i); connect(idq_dr, damperCage.i); connect(damperCageLossPower, damperCage.lossPower); if not useDamperCage then damperCageLossPower=0; end if; |
|
connect(airGapR.spacePhasor_r, damperCage.spacePhasor_r); | |
connect(airGapR.support, internalSupport); | |
connect(lssigma.spacePhasor_b, airGapR.spacePhasor_s); |
|
connect(airGapR.flange, inertiaRotor.flange_a); | |
connect(lssigma.spacePhasor_b, airGapR.spacePhasor_s); | connect(damperCage.heatPort, internalThermalPort.heatPortRotorWinding); |
connect(damperCage.heatPort, heatFlowSensorDamperCage.port_a); connect(heatFlowSensorDamperCage.port_b, internalThermalPort.heatPortRotorWinding); |
Component |
Version 3.2 |
Version 3.2.1 |
ie | | start=0 |
Component |
Version 3.2 |
Version 3.2.1 |
i | Present | |
lossPower | Present |
Component |
Version 3.2 |
Version 3.2.1 |
V | | final quantity="ElectricPotential" |
| final unit="V" |
Component |
Version 3.2 |
Version 3.2.1 |
I | | final quantity="ElectricCurrent" |
| final unit="A" |
Component |
Version 3.2 |
Version 3.2.1 |
P | | final quantity="Power" |
| final unit="W" | |
Q | | final quantity="Power" |
| final unit="var" |
Component |
Version 3.2 |
Version 3.2.1 |
P | | final quantity="Power" |
| final unit="W" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(torqueSensor.flange_b, flange_b); |
|
connect(product.y, P); connect(torqueSensor.tau, product.u2); |
|
connect(flange_a, relSpeedSensor.flange_b); | |
connect(relSpeedSensor.w_rel, product.u1); |
|
connect(relSpeedSensor.flange_a, fixed.flange); | |
connect(relSpeedSensor.flange_a, support); | |
connect(relSpeedSensor.w_rel, product.u1); connect(torqueSensor.tau, product.u2); connect(product.y, P); |
Component |
Version 3.2 |
Version 3.2.1 |
rotorDisplacementAngle | | final quantity="Angle" |
| final unit="rad" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(constant_.y, add.u2); connect(add.y, rotatorVS2R.angle); connect(ToSpacePhasorVS.y, rotatorVS2R.u); connect(rotatorVS2R.y, ToPolarVSR.u); connect(ToPolarVSR.y, deMultiplex2.u); |
|
connect(plug_p, VoltageSensor1.plug_p); | |
connect(plug_n, VoltageSensor1.plug_n); | |
connect(VoltageSensor1.v, ToSpacePhasorVS.u); connect(deMultiplex2.y2[1], rotorDisplacementAngle); connect(relativeAngleSensor.phi_rel, add.u1); |
|
connect(relativeAngleSensor.flange_b, flange); ... connect(relativeAngleSensor.flange_a, fixed.flange); |
|
connect(relativeAngleSensor.phi_rel, add.u1); connect(constant_.y, add.u2); connect(VoltageSensor1.v, ToSpacePhasorVS.u); connect(ToSpacePhasorVS.y, rotatorVS2R.u); connect(rotatorVS2R.y, ToPolarVSR.u); connect(add.y, rotatorVS2R.angle); connect(ToPolarVSR.y, deMultiplex2.u); connect(deMultiplex2.y2[1], rotorDisplacementAngle); |
Component |
Version 3.2 |
Version 3.2.1 |
m | | protected |
pi | Real | SIunits.Angle |
| protected |
Component |
Version 3.2 |
Version 3.2.1 |
m | | protected |
pi | Real | SIunits.Angle |
| protected |
Component |
Version 3.2 |
Version 3.2.1 |
small | | protected |
Component |
Version 3.2 |
Version 3.2.1 |
pi | Real | SIunits.Angle |
| protected | |
small | | protected |
Component |
Version 3.2 |
Version 3.2.1 |
m | | protected |
pi | Real | SIunits.Angle |
| protected |
Component |
Version 3.2 |
Version 3.2.1 |
m | | protected |
pi | Present |
Component |
Version 3.2 |
Version 3.2.1 |
PRef | start=0 | |
| =0 |
Component |
Version 3.2 |
Version 3.2.1 |
V | start=0 | |
| =0 |
Component |
Version 3.2 |
Version 3.2.1 |
PRef | start=0 | |
| =0 |
Component |
Version 3.2 |
Version 3.2.1 |
PRef | start=0 | |
| =0 |
Component |
Version 3.2 |
Version 3.2.1 |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
heatPort.Q_flow = tau*w; | lossPower = -tau*w; |
Component |
Version 3.2 |
Version 3.2.1 |
brush | | each final useHeatPort=true |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... for j in 1:m loop |
|
connect(brush[j].heatPort, heatPort); | connect(brush[j].heatPort, internalHeatPort); |
end for; |
Component |
Version 3.2 |
Version 3.2.1 |
iRMS | =Machines.SpacePhasors.Functions.quasiRMS(i) | =quasiRMS(i) |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
heatPort.Q_flow = tau*w; | lossPower = -tau*w; |
Component |
Version 3.2 |
Version 3.2.1 |
coreParameters | final m=3 | final m=m |
heatPort | Present | |
m | Present | |
turnsRatio | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
heatPort.Q_flow = -3/2*(+spacePhasor.v_[1]*spacePhasor.i_[1]+spacePhasor.v_[2]*spacePhasor.i_[2]); | lossPower = 3/2*(+spacePhasor.v_[1]*spacePhasor.i_[1]+spacePhasor.v_[2]*spacePhasor.i_[2]); |
Component |
Version 3.2 |
Version 3.2.1 |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
heatPort.Q_flow = -v*i; | lossPower = v*i; |
Component |
Version 3.2 |
Version 3.2.1 |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
heatPort.Q_flow = tau*w; | lossPower = -tau*w; |
Component |
Version 3.2 |
Version 3.2.1 |
heatPort | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
heatPort.Q_flow = -v*i; | lossPower = v*i; |
Component |
Version 3.2 |
Version 3.2.1 |
thermalCollectorRotor | m=thermalPort.m | |
| final m=mr | |
mr | Present |
Component |
Version 3.2 |
Version 3.2.1 |
phiMechanical | | start=0 |
wMechanical | | start=0 |
Component |
Version 3.2 |
Version 3.2.1 |
strayLoadParameters | wRef(start=2*pi*fsNominal/p) | |
| wRef=2*pi*fsNominal/p | |
powerBalance | final lossPowerStatorWinding=-sum(rs.heatPort.Q_flow) | final lossPowerStatorWinding=sum(rs.resistor.LossPower) |
final lossPowerStatorCore=-statorCore.heatPort.Q_flow | final lossPowerStatorCore=statorCore.lossPower | |
final lossPowerStrayLoad=-strayLoad.heatPort.Q_flow | final lossPowerStrayLoad=strayLoad.lossPower | |
final lossPowerFriction=-friction.heatPort.Q_flow | final lossPowerFriction=friction.lossPower | |
statorCore | | final useHeatPort=true |
| final turnsRatio=1 | |
strayLoad | | final useHeatPort=true |
| final m=m |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(strayLoad.plug_p, plug_sp); |
|
connect(strayLoad.flange, inertiaRotor.flange_b); |
|
connect(strayLoad.support, internalSupport); ... connect(friction.heatPort, internalThermalPort.heatPortFriction); |
|
connect(strayLoad.flange, inertiaRotor.flange_b); |
Component |
Version 3.2 |
Version 3.2.1 |
connector | partial
|
|
Component |
Version 3.2 |
Version 3.2.1 |
model | partial
|
|
Component |
Version 3.2 |
Version 3.2.1 |
record | partial
|
|
powerStator | | =0 |
powerMechanical | | =0 |
powerInertiaStator | | =0 |
powerInertiaRotor | | =0 |
lossPowerTotal | | =0 |
lossPowerStatorWinding | | =0 |
lossPowerStatorCore | | =0 |
lossPowerRotorCore | | =0 |
lossPowerStrayLoad | | =0 |
lossPowerFriction | | =0 |
Component |
Version 3.2 |
Version 3.2.1 |
mr | Present |
Component |
Version 3.2 |
Version 3.2.1 |
powerBalance | final lossPowerArmature=-ra.heatPort.Q_flow | final lossPowerArmature=ra.LossPower |
final lossPowerCore=-core.heatPort.Q_flow | final lossPowerCore=core.lossPower | |
final lossPowerStrayLoad=-strayLoad.heatPort.Q_flow | final lossPowerStrayLoad=strayLoad.lossPower | |
final lossPowerFriction=-friction.heatPort.Q_flow | final lossPowerFriction=friction.lossPower | |
final lossPowerBrush=-brush.heatPort.Q_flow | final lossPowerBrush=brush.lossPower | |
ia | | start=0 |
brush | | final useHeatPort=true |
core | | final useHeatPort=true |
strayLoad | | final useHeatPort=true |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(strayLoad.n, ra.p); |
|
connect(strayLoad.flange, inertiaRotor.flange_b); |
|
connect(strayLoad.support, internalSupport); ... connect(ra.heatPort, internalThermalPort.heatPortArmature); |
|
connect(inertiaRotor.flange_b, strayLoad.flange); |
Component |
Version 3.2 |
Version 3.2.1 |
connector | partial
|
|
Component |
Version 3.2 |
Version 3.2.1 |
model | partial
|
|
Component |
Version 3.2 |
Version 3.2.1 |
record | partial
|
|
powerArmature | | =0 |
powerMechanical | | =0 |
powerInertiaStator | | =0 |
powerInertiaRotor | | =0 |
lossPowerTotal | | =0 |
lossPowerArmature | | =0 |
lossPowerCore | | =0 |
lossPowerStrayLoad | | =0 |
lossPowerFriction | | =0 |
lossPowerBrush | | =0 |
Component |
Version 3.2 |
Version 3.2.1 |
powerBalance | final lossPower1=-sum(r1.heatPort.Q_flow) | final lossPower1=sum(r1.resistor.LossPower) |
final lossPower2=-sum(r2.heatPort.Q_flow) | final lossPower2=sum(r2.resistor.LossPower) |
Component |
Version 3.2 |
Version 3.2.1 |
orientation | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... der(x) = 2*pi*u; |
|
y = {amplitude*sin(x + BasePhase - (k - 1)*2/m*pi) for k in 1:m}; | y = amplitude*sin(fill(x + BasePhase, m) + orientation); |
Component |
Version 3.2 |
Version 3.2.1 |
idealCommutingSwitch | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) |
Component |
Version 3.2 |
Version 3.2.1 |
idealCommutingSwitch | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) |
Component |
Version 3.2 |
Version 3.2.1 |
idealTransformer | | Lm1=fill(Lm, m) |
| n=fill(nT, m) | |
Lm | Present | |
nT | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(starS.pin_n, groundS.p); | initial equation |
transformerL.i[1:m-1]=zeros(m-1) "Y-connection"; equation  connect(starS.pin_n, groundS.p); |
|
connect(starT1.pin_n,groundT1. p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
idealTransformer | | Lm1=fill(Lm, m) |
Lm | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(groundS.p, starS.pin_n); | initial equation |
transformerL.i[1:m]=zeros(m) "D-connection"; equation  connect(groundS.p, starS.pin_n); |
|
connect(groundT.p, starT.pin_n); ... |
Component |
Version 3.2 |
Version 3.2.1 |
idealDiode1 | | Ron=fill(Ron, m) |
| Goff=fill(Goff, m) | |
| Vknee=fill(Vknee, m) | |
idealDiode2 | | Ron=fill(Ron, m) |
| Goff=fill(Goff, m) | |
| Vknee=fill(Vknee, m) | |
Ron | Present | |
Goff | Present | |
Vknee | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(cDC1.n, cDC2.p); | initial equation |
cDC1.v=0; cDC2.v=0; supplyL.i[1:m-1]=zeros(m-1) "Y-connection"; equation  connect(cDC1.n, cDC2.p); |
|
connect(cDC1.n, groundDC.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
R | | each unit="Ohm" |
Component |
Version 3.2 |
Version 3.2.1 |
G | | each unit="S" |
Component |
Version 3.2 |
Version 3.2.1 |
C | | each unit="F" |
Component |
Version 3.2 |
Version 3.2.1 |
L | | each unit="H" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(voltageSensor.plug_n, nv); |
|
connect(voltageSensor.v, product.u1); |
|
connect(currentSensor.i, product.u2); | |
connect(product.u1, voltageSensor.v); |
|
connect(product.y, sum.u); ... |
Component |
Version 3.2 |
Version 3.2.1 |
v | | each unit="V" |
Component |
Version 3.2 |
Version 3.2.1 |
phase | =-{(j - 1)/m*2*Modelica_3_2.Constants.pi for j in 1:m} | =-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Component |
Version 3.2 |
Version 3.2.1 |
i | | each unit="A" |
Component |
Version 3.2 |
Version 3.2.1 |
phase | =-{(j - 1)/m*2*Modelica_3_2.Constants.pi for j in 1:m} | =-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(f.y, voltageSource.f); | initial equation |
voltageSource.pin_p.reference.gamma=0; equation  connect(f.y, voltageSource.f); |
|
connect(polarToComplex.y, voltageSource.V); ... |
Component |
Version 3.2 |
Version 3.2.1 |
I | | k=1 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(currentSource.pin_n, resistor.pin_p); | initial equation |
currentSource.pin_p.reference.gamma=0; equation  connect(currentSource.pin_n, resistor.pin_p); |
|
connect(currentSource.pin_n, inductor.pin_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
voltageQS | | phi=0 |
| i(re(start=0), im(start=0)) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(voltageQS.pin_p, resistorQS.pin_p); | initial equation |
voltageQS.pin_p.reference.gamma=0; equation  connect(voltageQS.pin_p, resistorQS.pin_p); |
|
connect(voltageQS.pin_n, rectifierQS.pin_nQS); ... |
Component |
Version 3.2 |
Version 3.2.1 |
R_ref | | unit="Ohm" |
Component |
Version 3.2 |
Version 3.2.1 |
G_ref | | unit="S" |
Component |
Version 3.2 |
Version 3.2.1 |
C | | unit="F" |
Component |
Version 3.2 |
Version 3.2.1 |
L | | unit="H" |
Component |
Version 3.2 |
Version 3.2.1 |
omega | =der(pin_p.reference.gamma) | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... pin_p.reference.gamma = pin_n.reference.gamma; |
|
omega = der(pin_p.reference.gamma); v = pin_p.v - pin_n.v; |
|
i = pin_p.i; | |
v = pin_p.v - pin_n.v; |
Component |
Version 3.2 |
Version 3.2.1 |
omega | =der(pin.reference.gamma) | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
omega = der(pin.reference.gamma); |
|
pin.i = Complex(0); |
Component |
Version 3.2 |
Version 3.2.1 |
idealDiode1 | | Vknee=0 |
idealDiode2 | | Vknee=0 |
idealDiode3 | | Vknee=0 |
idealDiode4 | | Vknee=0 |
Component |
Version 3.2 |
Version 3.2.1 |
RL | sizes= 3 | sizes= -1 |
=fill(1/3, 3) | =fill(1/3, m) | |
source | | m=m |
starS | | m=m |
electricalPowerSensorS | | m=m |
currentSensorS | | m=m |
polarIS | sizes= 3 | sizes= -1 |
voltageSensorS | | m=m |
polarVS | sizes= 3 | sizes= -1 |
deltaS | | m=m |
voltageSensorL | | m=m |
polarVL | sizes= 3 | sizes= -1 |
deltaL | | m=m |
currentSensorL | | m=m |
polarIL | sizes= 3 | sizes= -1 |
electricalPowerSensorL | | m=m |
load | | m=m |
starL | | m=m |
transformerData | | f=50 |
| V1=100 | |
| V2=100 | |
| SNominal=30E3 | |
| v_sc=0.05 | |
| P_sc=300 | |
transformer | | T1Ref=293.15 |
| alpha20_1(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T2Ref=293.15 | |
| alpha20_2(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero | |
| T1Operational=293.15 | |
| T2Operational=293.15 | |
m | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(starS.pin_n, groundS.pin); | initial equation |
source.voltageSource.pin_p.reference.gamma=zeros(m); equation  connect(starS.pin_n, groundS.pin); |
|
connect(source.plug_n, starS.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
v1 | =plug_p1.pin.v - plug_n1.pin.v | |
i1 | =plug_p1.pin.i | |
v2 | =plug_p2.pin.v - plug_n2.pin.v | |
i2 | =plug_p2.pin.i | |
v3 | =plug_p3.pin.v - plug_n3.pin.v | |
i3 | =plug_p3.pin.i | |
im | =i1 + i2/n12 + i3/n13 | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
v1 = plug_p1.pin.v - plug_n1.pin.v; i1 = plug_p1.pin.i; v2 = plug_p2.pin.v - plug_n2.pin.v; i2 = plug_p2.pin.i; v3 = plug_p3.pin.v - plug_n3.pin.v; i3 = plug_p3.pin.i; im = i1 + i2/n12 + i3/n13; |
|
Connections.branch(plug_p1.reference, plug_n1.reference); ... |
Component |
Version 3.2 |
Version 3.2.1 |
powerBalance | final lossPower1=-sum(r1.heatPort.Q_flow) | final lossPower1=-sum(r1.resistor.LossPower) |
final lossPower2=-sum(r2.heatPort.Q_flow) | final lossPower2=-sum(r2.resistor.LossPower) |
Component |
Version 3.2 |
Version 3.2.1 |
voltageSource | phi={-(j - 1)*2*Modelica_3_2.Constants.pi/m for j in 1:m} | phi=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ground.pin, star.pin_n); | initial equation |
voltageSource.voltageSource.pin_p.reference.gamma=zeros(m); equation  connect(ground.pin, star.pin_n); |
|
connect(star.plug_p, voltageSource.plug_n); ... |
Component |
Version 3.2 |
Version 3.2.1 |
voltageSource | phi={-(j - 1)*2*Modelica_3_2.Constants.pi/m for j in 1:m} | phi=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ground.pin, star.pin_n); | initial equation |
voltageSource.voltageSource.pin_p.reference.gamma=zeros(m); equation  connect(ground.pin, star.pin_n); |
|
connect(star.plug_p, voltageSource.plug_n); ... |
Component |
Version 3.2 |
Version 3.2.1 |
plugToPins_p | | final m=m |
Component |
Version 3.2 |
Version 3.2.1 |
plugToPins_p | | final m=m |
plugToPins_n | | final m=m |
Component |
Version 3.2 |
Version 3.2.1 |
R_ref | | each unit="Ohm" |
Component |
Version 3.2 |
Version 3.2.1 |
G_ref | | each unit="S" |
Component |
Version 3.2 |
Version 3.2.1 |
C | | each unit="F" |
Component |
Version 3.2 |
Version 3.2.1 |
L | | each unit="H" |
Component |
Version 3.2 |
Version 3.2.1 |
potentialSensor | Present | |
plugToPins_p | Present | |
frequencySensor | Present | |
plugToPin_p | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(plug_p, plugToPins_p.plug_p); | connect(plug_p, plugToPin_p.plug_p); |
connect(plugToPins_p.pin_p, potentialSensor.pin); | connect(plugToPin_p.pin_p, frequencySensor.pin); |
connect(potentialSensor.y, y); | connect(frequencySensor.y, y); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(sum.y, y); |
|
connect(currentP, currentP); |
Component |
Version 3.2 |
Version 3.2.1 |
phi | ={0 - (j - 1)*2*pi/m for j in 1:m} | =-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Component |
Version 3.2 |
Version 3.2.1 |
phi | ={0 - (j - 1)*2*pi/m for j in 1:m} | =-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Component |
Version 3.2 |
Version 3.2.1 |
omega | =der(plug_p.reference.gamma) | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
omega = der(plug_p.reference.gamma); |
|
v = plug_p.pin.v - plug_n.pin.v; ... |
Component |
Version 3.2 |
Version 3.2.1 |
omega | =der(plug_p.reference.gamma) | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... plug_p.reference.gamma = plug_n.reference.gamma; |
|
omega = der(plug_p.reference.gamma); |
|
v = plug_p.pin.v - plug_n.pin.v; ... |
Component |
Version 3.2 |
Version 3.2.1 |
omega | =der(plug_p.reference.gamma) | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
omega = der(plug_p.reference.gamma); |
Component |
Version 3.2 |
Version 3.2.1 |
mp | | Sinternal(start=0) |
| IC=-1e40 | |
mn | | IC=-1e40 |
Component |
Version 3.2 |
Version 3.2.1 |
MPmos | | CBD=0 |
| CBS=0 | |
MNmos | | CBD=0 |
| CBS=0 | |
mp1 | | IC=-1e40 |
mn1 | | IC=-1e40 |
mp2 | | IC=-1e40 |
mn2 | | IC=-1e40 |
c1 | | IC=0 |
| UIC=true | |
c2 | | IC=0 |
| UIC=true |
Component |
Version 3.2 |
Version 3.2.1 |
mp1 | | IC=-1e40 |
mn1 | | IC=-1e40 |
mp2 | | IC=-1e40 |
mn2 | | IC=-1e40 |
c1 | | IC=0 |
| UIC=true | |
c2 | | IC=0 |
| UIC=true |
Component |
Version 3.2 |
Version 3.2.1 |
modp | | CBD=0 |
| CBS=0 | |
modn | | CBD=0 |
| CBS=0 | |
mp1 | | IC=-1e40 |
mn1 | | IC=-1e40 |
mp2 | | IC=-1e40 |
mn2 | | IC=-1e40 |
mp3 | | IC=-1e40 |
mp4 | | IC=-1e40 |
mn3 | | IC=-1e40 |
mn4 | | IC=-1e40 |
c1 | | IC=0 |
| UIC=true | |
c2 | | IC=0 |
| UIC=true | |
c3 | | IC=0 |
| UIC=true | |
c4 | | IC=0 |
| UIC=true |
Component |
Version 3.2 |
Version 3.2.1 |
mp1 | modelcard(PHI=0.7) | modelcard(PHI=0.7, CBD=0, CBS=0) |
| Sinternal(start=0) | |
| IC=-1e40 | |
mp2 | modelcard(PHI=0.7) | modelcard(PHI=0.7, CBD=0, CBS=0) |
| IC=-1e40 | |
mn2 | | Dinternal(start=0) |
| modelcard(CBD=0, CBS=0) | |
| IC=-1e40 | |
mn1 | | modelcard(CBD=0, CBS=0) |
| IC=-1e40 |
Component |
Version 3.2 |
Version 3.2.1 |
mp1 | | Dinternal(start=0, fixed=true) |
| Sinternal(start=0, fixed=true) | |
| IC=-1e40 | |
mp2 | | Dinternal(start=0, fixed=true) |
| Sinternal(start=0, fixed=true) | |
| IC=-1e40 | |
mn1 | | Dinternal(start=0, fixed=true) |
| Sinternal(start=0, fixed=true) | |
| IC=-1e40 | |
mn2 | | Dinternal(start=0, fixed=true) |
| Sinternal(start=0, fixed=true) | |
| IC=-1e40 |
Component |
Version 3.2 |
Version 3.2.1 |
D1 | | IC=-1e40 |
| SENS_AREA=false | |
| pin(start=0, fixed=true) | |
D3 | | IC=-1e40 |
| SENS_AREA=false | |
| n(v(start=0, fixed=true)) | |
D4 | | IC=-1e40 |
| SENS_AREA=false | |
D2 | | IC=-1e40 |
| SENS_AREA=false |
Component |
Version 3.2 |
Version 3.2.1 |
T1 | | vbe(start=0, fixed=true) |
T2 | | vbe(start=0, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
vinternal | start=IC | |
fixed=UIC | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
vinternal = p.v - n.v; | initial equation |
i = C*der(vinternal); | vinternal=IC; |
equation  vinternal = p.v - n.v; i = C*der(vinternal); |
Component |
Version 3.2 |
Version 3.2.1 |
iinternal | start=IC | |
fixed=UIC | | |
ICP | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
iinternal = p.i; | initial equation |
L*der(iinternal) = v; | if UIC then |
iinternal = IC; else der(iinternal) = 0; end if; equation  iinternal = p.i; L*der(iinternal) = v + ICP.v; ICP.L=L; ICP.di = der(iinternal); |
Component |
Version 3.2 |
Version 3.2.1 |
counter | | fixed=true |
counter2 | | fixed=true |
Component |
Version 3.2 |
Version 3.2.1 |
tab | | protected |
table=table | table=tablenew | |
x | Present | |
tlast | Present | |
valuelast | Present | |
lastvaluematrix | Present | |
tablenew | Present |
Component |
Version 3.2 |
Version 3.2.1 |
tab | | protected |
table=table | table=tablenew | |
x | Present | |
tlast | Present | |
valuelast | Present | |
lastvaluematrix | Present | |
tablenew | Present |
Component |
Version 3.2 |
Version 3.2.1 |
C | | constant |
Dinternal | Real | SIunits.Voltage |
Sinternal | Real | SIunits.Voltage |
ird | Real | SIunits.Current |
irs | Real | SIunits.Current |
ibdgmin | Real | SIunits.Current |
ibsgmin | Real | SIunits.Current |
icBD | Real | SIunits.Current |
icBS | Real | SIunits.Current |
icGB | Real | SIunits.Current |
icGS | Real | SIunits.Current |
icGD | Real | SIunits.Current |
Component |
Version 3.2 |
Version 3.2.1 |
TNOM | =-1e40 | =27 |
Component |
Version 3.2 |
Version 3.2.1 |
TEMP | Real | SIunits.Temp_C |
p | =Mos2.mos2RenameParameters(modelcard, C) | =Spice3.Internal.Mos2.mos2RenameParametersRevised(modelcard) |
m | =Mos2.mos2RenameParametersDev(modelcard, mtype, W, L, AD, AS, PD, PS, NRD, NRS, OFF, IC, TEMP) | =Spice3.Internal.Mosfet.mosfetRenameParametersDev(W, L, AD, AS, PD, PS, NRD, NRS, OFF, IC_VDS, IC_VGS, IC_VBS, UIC, TEMP) |
vp | =Mos2.mos2ModelLineParamsInitEquations(p, C, m_type) | =Spice3.Internal.Mos2.mos2ModelLineParamsInitEquations(p, C, m_type) |
c1 | =Mos.mos2CalcInitEquations(p, C, vp, m) | =Spice3.Internal.Mos.mos2CalcInitEquations(p, C, vp, m) |
c2 | =Mos.mos2CalcCalcTempDependencies(p, C, vp, m, c1, m_type) | =Spice3.Internal.Mos.mos2CalcCalcTempDependencies(p, C, vp, m, c1, m_type) |
Dinternal | Real | SIunits.Voltage |
Sinternal | Real | SIunits.Voltage |
ird | Real | SIunits.Current |
irs | Real | SIunits.Current |
ibdgmin | Real | SIunits.Current |
ibsgmin | Real | SIunits.Current |
icBD | Real | SIunits.Current |
icBS | Real | SIunits.Current |
icGB | Real | SIunits.Current |
icGS | Real | SIunits.Current |
icGD | Real | SIunits.Current |
IC_VDS | Present | |
IC_VGS | Present | |
IC_VBS | Present | |
UIC | Present | |
m1 | Present | |
p1 | Present | |
c11 | Present | |
c22 | Present | |
vBD | Present | |
vBS | Present | |
vGB | Present | |
vGD | Present | |
cc_obsolete | Present | |
p_obsolete | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert( NRS <> 0, "NRS, length of source in squares, must not be zero"); |
|
cc = Spice3.Internal.Mos.mos2CalcNoBypassCodeRevised(  m1,  m_type,  c22,  p1,  m_bInit, {G.v,B.v,Dinternal,Sinternal}); vBD = B.v - Dinternal; vBS = B.v - Sinternal; vGB = G.v - B.v; vGD = G.v - Dinternal; vGS = G.v - Sinternal; ird * c11.m_drainResistance = (D.v - Dinternal); irs * c11.m_sourceResistance = (S.v - Sinternal); icBD = cc.cBD * der(vBD); icBS = cc.cBS * der(vBS); icGB = cc.cGB * der(vGB); icGD = cc.cGD * der(vGD); icGS = cc.cGS * der(vGS); ibsgmin = Spice3.Internal.SpiceConstants.CKTgmin*(B.v -  Sinternal); ibdgmin = Spice3.Internal.SpiceConstants.CKTgmin*(B.v -  Dinternal); G.i = icGB + icGD + icGS; B.i = cc.iBD + cc.iBS+ ibdgmin + ibsgmin -icGB + icBD + icBS; D.i = ird; S.i = irs; 0 = -ird + cc.idrain - cc.iBD - ibdgmin - icGD - icBD; 0 = -irs - cc.idrain - cc.iBS - ibsgmin - icGS - icBS; |
|
vDS = D.v - S.v; | |
vGS = G.v - S.v; | (cc_obsolete,qm) = Spice3.Internal.Mos.mos2CalcNoBypassCode( m, m_type, c2, p, C, vp, m_bInit, {G.v,B.v,Dinternal,Sinternal}); |
(cc,qm) = Mos.mos2CalcNoBypassCode( m, m_type, c2, p, C, vp, m_bInit, {G.v,B.v,Dinternal,Sinternal}); |
icqmGB = 0; |
ird * c1.m_drainResistance = (D.v - Dinternal); | icqmGS = 0; |
irs * p.m_sourceResistance = (S.v - Sinternal); | icqmGD = 0; |
icBD = cc.cBD * (der(B.v) - der(Dinternal)); icBS = cc.cBS * (der(B.v) - der(Sinternal)); icGB = cc.cGB * (der(G.v) - der(B.v)); icGD = cc.cGD * (der(G.v) - der(Dinternal)); icGS = cc.cGS * (der(G.v) - der(Sinternal)); icqmGB = qm.qm_capgb*(der(G.v) - der(B.v)); icqmGS = qm.qm_capgs*(der(G.v) - der(Sinternal)); icqmGD = qm.qm_capgd*(der(G.v) - der(Dinternal)); ibsgmin = SpiceConstants.CKTgmin*(B.v - Sinternal); ibdgmin = SpiceConstants.CKTgmin*(B.v - Dinternal); G.i = icGB + icGD + icGS + icqmGB + icqmGD + icqmGS; B.i = cc.iBD + cc.iBS+ ibdgmin + ibsgmin -icGB + icBD + icBS - icqmGB; D.i = ird; S.i = irs; 0 = -ird + cc.idrain - cc.iBD - ibdgmin - icGD - icBD - icqmGD; 0 = -irs - cc.idrain - cc.iBS - ibsgmin - icGS - icBS - icqmGS; |
Component |
Version 3.2 |
Version 3.2.1 |
NFS | Real | SIunits.Conversions.NonSIunits.PerArea_cm |
XJ | Real | SIunits.Length |
UCRIT | Real | Electrical.Spice3.Types.ElectricFieldStrength_cm |
VMAX | Real | SIunits.Velocity |
Component |
Version 3.2 |
Version 3.2.1 |
p | =Bjt3.bjtRenameParameters(modelcard, Con) | =Spice3.Internal.Bjt3.bjtRenameParameters(modelcard, Con, TBJT) |
p1 | =Bjt3.bjtRenameParametersDev(AREA, OFF, IC_VBE, IC_VCE, SENS_AREA) | =Spice3.Internal.Bjt3.bjtRenameParametersDev(AREA, OFF, IC_VBE, IC_VCE, SENS_AREA) |
m | =Bjt3.bjtRenameParametersDevTemp(TEMP) | =Spice3.Internal.Bjt3.bjtRenameParametersDevTemp(TEMP) |
vl | =Bjt3.bjtModelLineInitEquations(p) | =Spice3.Internal.Bjt3.bjtModelLineInitEquations(p) |
c | =Bjt3.bjt3CalcTempDependencies(p1, p, m, vl) | =Spice3.Internal.Bjt3.bjt3CalcTempDependencies(p1, p, m, vl) |
v | =Bjt3.bjtInitEquations(p1, p, vl) | =Spice3.Internal.Bjt3.bjtInitEquations(p1, p, vl) |
p2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... vBC = B.v - C.v; |
|
(cc,capbe,capbc,capbx) = Bjt3.bjtNoBypassCode( m, p1, p, c, v, vl, {C.v,B.v,E.v,Cinternal,Binternal,Einternal}, m_bInit); |
(cc,capbe,capbc,capbx) = Spice3.Internal.Bjt3.bjtNoBypassCode( m, p1, p, c, v, vl, {C.v,B.v,E.v,Cinternal,Binternal,Einternal}, m_bInit); |
icapbe = if (m_bInit) then 0.0 else capbe*(der(Binternal) - der(Einternal)); ... irb * p.m_baseResist = (B.v - Binternal); |
|
ibcgmin = SpiceConstants.CKTgmin * (Binternal - Cinternal); | ibcgmin = Spice3.Internal.SpiceConstants.CKTgmin*( Binternal - Cinternal); |
ibegmin = SpiceConstants.CKTgmin * (Binternal - Einternal); | ibegmin = Spice3.Internal.SpiceConstants.CKTgmin*( Binternal - Einternal); |
C.i = irc; ... |
Component |
Version 3.2 |
Version 3.2.1 |
C | | constant |
Component |
Version 3.2 |
Version 3.2.1 |
C | | constant |
Component |
Version 3.2 |
Version 3.2.1 |
CONSTboltz | Present |
Component |
Version 3.2 |
Version 3.2.1 |
gap0 | Present | |
coeff1 | Present | |
coeff2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
ret := gap0 - (coeff1 * temp * temp) / (temp + coeff2); | ret := Spice3.Internal.MaterialParameters.EnergyGapSi - ( Spice3.Internal.MaterialParameters.FirstBandCorrFactorSi *temp*temp)/(temp + Spice3.Internal.MaterialParameters.SecondBandCorrFactorSi); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
phibtemp := energyGapDepTemp( temp); | phibtemp := Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp(temp); |
phibtnom = energyGapDepTemp( tnom); | phibtnom = Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp(tnom); |
vt = SpiceConstants.CONSTKoverQ * temp; | vt = Spice3.Internal.SpiceConstants.CONSTKoverQ* temp; |
ret = (phi0 - phibtnom)*temp/tnom + phibtemp + vt*3*  Modelica_3_2.Math.log(tnom/temp); ... |
Component |
Version 3.2 |
Version 3.2.1 |
ret | SIunits.Current | Real |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
vt := SpiceConstants.CONSTKoverQ * temp; | vt := Spice3.Internal.SpiceConstants.CONSTKoverQ* temp; |
vtnom = SpiceConstants.CONSTKoverQ * tnom; | vtnom = Spice3.Internal.SpiceConstants.CONSTKoverQ* tnom; |
energygaptnom = energyGapDepTemp( tnom); | energygaptnom = Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp(tnom); |
energygaptemp = energyGapDepTemp( temp); | energygaptemp = Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp(temp); |
ret = satcur0 * exp( energygaptnom / vtnom - energygaptemp / vt); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
vte := SpiceConstants.CONSTKoverQ * temp * ncoeff; | vte := Spice3.Internal.SpiceConstants.CONSTKoverQ* temp*ncoeff; |
ret = vte*Modelica_3_2.Math.log(vte/(sqrt(2)*satcur)); ... |
Component |
Version 3.2 |
Version 3.2.1 |
phi0 | Real | SIunits.Voltage |
junctionpot | Real | SIunits.Voltage |
phibtemp | Real | SIunits.Voltage |
phibtnom | Real | SIunits.Voltage |
vt | Real | SIunits.Voltage |
vtnom | Real | SIunits.Voltage |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
phibtemp := energyGapDepTemp( temp); | phibtemp := Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp(temp); |
phibtnom = energyGapDepTemp( tnom); | phibtnom = Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp(tnom); |
vt = SpiceConstants.CONSTKoverQ * temp; | vt = Spice3.Internal.SpiceConstants.CONSTKoverQ * temp; |
vtnom = SpiceConstants.CONSTKoverQ * tnom; | vtnom = Spice3.Internal.SpiceConstants.CONSTKoverQ * tnom; |
arg = -phibtemp/(2*Modelica_3_2.Constants.k*temp) + 1.1150877/( Modelica_3_2.Constants.k*(2*SpiceConstants.REFTEMP)); |
arg = -phibtemp/(2*Modelica.Constants.k*temp) + 1.1150877/(Modelica.Constants.k*(2*Spice3.Internal.SpiceConstants.REFTEMP)); |
fact2 = temp/SpiceConstants.REFTEMP; | fact2 = temp/Spice3.Internal.SpiceConstants.REFTEMP; |
pbfact = -2*vt*(1.5*Modelica_3_2.Math.log(fact2) + SpiceConstants.CHARGE *arg); |
pbfact = -2*vt*(1.5*Modelica.Math.log(fact2)+Spice3.Internal.SpiceConstants.CHARGE*arg); |
arg1 = -phibtnom/(Modelica_3_2.Constants.k*2*tnom) + 1.1150877/(2* Modelica_3_2.Constants.k*SpiceConstants.REFTEMP); |
arg1 = -phibtnom/(Modelica.Constants.k*2*tnom) + 1.1150877/(2*Modelica.Constants.k*Spice3.Internal.SpiceConstants.REFTEMP); |
fact1 = tnom/SpiceConstants.REFTEMP; | fact1 = tnom/Spice3.Internal.SpiceConstants.REFTEMP; |
pbfact1 = -2*vtnom*(1.5*Modelica_3_2.Math.log(fact1) + SpiceConstants.CHARGE*arg1); |
pbfact1 = -2 * vtnom*(1.5*Modelica.Math.log(fact1)+Spice3.Internal.SpiceConstants.CHARGE*arg1); |
pbo = (phi0-pbfact1)/fact1; ... gmanew = (junctionpot-pbo)/pbo; |
|
jucntioncap = cap0 / (1+mcoeff* (400e-6*(tnom-SpiceConstants.REFTEMP)-gmaold)) * (1+mcoeff* (400e-6*(temp-SpiceConstants.REFTEMP)-gmanew)); |
jucntioncap = cap0 / (1+mcoeff* (400e-6*(tnom-Spice3.Internal.SpiceConstants.REFTEMP)-gmaold)) * (1+mcoeff* (400e-6*(temp-Spice3.Internal.SpiceConstants.REFTEMP)-gmanew)); |
|
Component |
Version 3.2 |
Version 3.2.1 |
phij | Real | SIunits.Voltage |
f1 | Real | SIunits.Voltage |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if (satcur > 1e-101) then |
|
vte = SpiceConstants.CONSTKoverQ * temp * ncoeff; | vte = Spice3.Internal.SpiceConstants.CONSTKoverQ* temp*ncoeff; |
max_exponent = Modelica_3_2.Math.log(max_current/satcur); ... out_current = out_cond * voltage; |
|
out_cond = out_cond + SpiceConstants.CKTgmin; | out_cond = out_cond + Spice3.Internal.SpiceConstants.CKTgmin; |
elseif (voltage >= max_exponent * vte) then ... evbd = exp( voltage / vte); |
|
out_cond = satcur*evbd/vte + SpiceConstants.CKTgmin; | out_cond = satcur*evbd/vte + Spice3.Internal.SpiceConstants.CKTgmin; |
out_current = satcur *(evbd-1); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
vt := SpiceConstants.CONSTKoverQ*temp; | vt := Spice3.Internal.SpiceConstants.CONSTKoverQ* temp; |
vte = emissioncoeff * vt; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
vt := SpiceConstants.CONSTKoverQ*temp; | vt := Spice3.Internal.SpiceConstants.CONSTKoverQ* temp; |
v23 = vb; ... else |
|
tol = SpiceConstants.CKTreltol*cbv; | tol = Spice3.Internal.SpiceConstants.CKTreltol* cbv; |
v23 = vb - vt*Modelica_3_2.Math.log(1 + cbv/satcur); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if (satcur > 1.0e-101) then |
|
vte = SpiceConstants.CONSTKoverQ*temp*ncoeff; | vte = Spice3.Internal.SpiceConstants.CONSTKoverQ* temp*ncoeff; |
max_exponent = Modelica_3_2.Math.log(max_current/satcur); ... evd = exp( voltage / vte); |
|
current = satcur*(evd - 1) + SpiceConstants.CKTgmin*voltage; | current = satcur*(evd - 1) + Spice3.Internal.SpiceConstants.CKTgmin *voltage; |
cond = satcur*evd/vte + SpiceConstants.CKTgmin; | cond = satcur*evd/vte + Spice3.Internal.SpiceConstants.CKTgmin; |
elseif (voltage >= -v23) then | |
arg = 3*vte/(voltage*SpiceConstants.CONSTe); | arg = 3*vte/(voltage*Spice3.Internal.SpiceConstants.CONSTe); |
arg = arg * arg * arg; | |
current = -1.*satcur*(1 + arg) + SpiceConstants.CKTgmin*voltage; | current = -1.*satcur*(1 + arg) + Spice3.Internal.SpiceConstants.CKTgmin *voltage; |
cond = satcur*3*arg/voltage + SpiceConstants.CKTgmin; | cond = satcur*3*arg/voltage + Spice3.Internal.SpiceConstants.CKTgmin; |
else ... evrev = exp( vr / vte); |
|
current = -1.*satcur*evrev + SpiceConstants.CKTgmin*voltage; | current = -1.*satcur*evrev + Spice3.Internal.SpiceConstants.CKTgmin *voltage; |
cond = satcur*evrev/vte + SpiceConstants.CKTgmin; | cond = satcur*evrev/vte + Spice3.Internal.SpiceConstants.CKTgmin; |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if (satcur > 1.0e-101) then |
|
vte = SpiceConstants.CONSTKoverQ*temp*ncoeff; | vte = Spice3.Internal.SpiceConstants.CONSTKoverQ* temp*ncoeff; |
max_exponent = Modelica_3_2.Math.log(max_current/satcur); ... evd = exp( voltage / vte); |
|
current = satcur*(evd - 1) + SpiceConstants.CKTgmin*voltage; | current = satcur*(evd - 1) + Spice3.Internal.SpiceConstants.CKTgmin *voltage; |
cond = satcur*evd/vte + SpiceConstants.CKTgmin; | cond = satcur*evd/vte + Spice3.Internal.SpiceConstants.CKTgmin; |
else | |
arg = 3*vte/(voltage*SpiceConstants.CONSTe); | arg = 3*vte/(voltage*Spice3.Internal.SpiceConstants.CONSTe); |
arg = arg * arg * arg; | |
current = -1*satcur*(1 + arg) + SpiceConstants.CKTgmin*voltage; | current = -1*satcur*(1 + arg) + Spice3.Internal.SpiceConstants.CKTgmin *voltage; |
cond = satcur*3*arg/voltage + SpiceConstants.CKTgmin; | cond = satcur*3*arg/voltage + Spice3.Internal.SpiceConstants.CKTgmin; |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
m_drainArea | start=SpiceConstants.CKTdefaultMosAD | start=Spice3.Internal.SpiceConstants.CKTdefaultMosAD |
m_sourceArea | start=SpiceConstants.CKTdefaultMosAS | start=Spice3.Internal.SpiceConstants.CKTdefaultMosAS |
m_drainPerimeter | Present | |
m_sourcePerimeter | Present | |
m_uic | Present |
Component |
Version 3.2 |
Version 3.2.1 |
m_bulkJctBotGradingCoeff | Real | SIunits.LinearTemperatureCoefficient |
m_bulkJctSideGradingCoeff | Real | SIunits.LinearTemperatureCoefficient |
m_mjswIsGiven | Present | |
m_cgsoIsGiven | Present | |
m_cgdoIsGiven | Present | |
m_cgboIsGiven | Present | |
m_pbIsGiven | Present |
Component |
Version 3.2 |
Version 3.2.1 |
m_lEff | Real | SIunits.Length |
Component |
Version 3.2 |
Version 3.2.1 |
m_surfaceStateDensityIsGiven | | start=0 |
m_tnom | start=SpiceConstants.CKTnomTemp | start=Spice3.Internal.SpiceConstants.CKTnomTemp |
Component |
Version 3.2 |
Version 3.2.1 |
m_tSurfMob | Real | SIunits.Conversions.NonSIunits.Area_cmPerVoltageSecond |
m_tSatCurDens | Real | SIunits.CurrentDensity |
m_tCj | Real | SIunits.CapacitancePerArea |
m_tCjsw | Real | SIunits.Permittivity |
m_tDepCap | Real | SIunits.Voltage |
m_f1b | Real | SIunits.Voltage |
m_f1s | Real | SIunits.Voltage |
m_dVt | Real | SIunits.Voltage |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... out_c.m_capOx = in_vp.m_oxideCapFactor * out_c.m_lEff * in_m.m_width; |
|
|
out_c.m_tTransconductance = 0; |
out_c.m_tSurfMob = 0; out_c.m_tPhi = 0.7; out_c.m_tVto = 1.; out_c.m_tSatCurDens = 0; out_c.m_tDrainSatCur = 0; out_c.m_tSourceSatCur = 0; out_c.m_tCBDb = 0; out_c.m_tCBDs = 0; out_c.m_tCBSb = 0; out_c.m_tCBSs = 0; out_c.m_tCj = 0; out_c.m_tCjsw = 0; out_c.m_tBulkPot = 0.7; out_c.m_tDepCap = 0.35; out_c.m_tVbi = 1.; out_c.m_VBScrit = 0.7; out_c.m_VBDcrit = 0.7; out_c.m_f1b = 0; out_c.m_f2b = 0; out_c.m_f3b = 0; out_c.m_f1s = 0; out_c.m_f2s = 0; out_c.m_f3s = 0; out_c.m_dVt = 0; out_c.m_capgd = 0; out_c.m_capgs = 0; out_c.m_capgb = 0; out_c.m_qgs = 0; out_c.m_qgd = 0; out_c.m_qgb = 0; out_c.m_vds = 0; out_c.m_vgs = 0; out_c.m_vbs = 0; out_c.m_cbs = 0; out_c.m_gbs = 0; out_c.m_cbd = 0; out_c.m_gbd = 0; out_c.m_cdrain = 0; out_c.m_gds = 0; out_c.m_gm = 0; out_c.m_gmbs = 0; out_c.m_capbsb = 0; out_c.m_chargebsb = 0; out_c.m_capbss = 0; out_c.m_chargebss = 0; out_c.m_capbdb = 0; out_c.m_chargebdb = 0; out_c.m_capbds = 0; out_c.m_chargebds = 0; out_c.m_Beta = 0; out_c.m_von = 0; out_c.m_vdsat = 0; out_c.m_mode = 1; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... out_c.m_tSurfMob = in_p.m_surfaceMobility / ratio4; |
|
out_c.m_tPhi = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionPotDepTemp( in_vp.m_phi, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tPhi = Spice3.Internal.Functions.junctionPotDepTemp( in_vp.m_phi, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tVbi = in_vp.m_vt0 - in_m_type*(in_vp.m_gamma*sqrt(in_vp.m_phi)) + 0.5*( Modelica_3_2.Electrical.Spice3.Internal.Functions.energyGapDepTemp( in_p.m_tnom) - Modelica_3_2.Electrical.Spice3.Internal.Functions.energyGapDepTemp( in_m.m_dTemp)) + in_m_type*0.5*(out_c.m_tPhi - in_vp.m_phi); |
out_c.m_tVbi = in_vp.m_vt0 - in_m_type*(in_vp.m_gamma*sqrt(in_vp.m_phi)) + 0.5*(Spice3.Internal.Functions.energyGapDepTemp_old( in_p.m_tnom) - Spice3.Internal.Functions.energyGapDepTemp_old( in_m.m_dTemp)) + in_m_type*0.5*(out_c.m_tPhi - in_vp.m_phi); |
out_c.m_tVto = out_c.m_tVbi + in_m_type * in_vp.m_gamma * sqrt(out_c.m_tPhi); | |
out_c.m_tBulkPot = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionPotDepTemp( in_p.m_bulkJctPotential, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tBulkPot = Spice3.Internal.Functions.junctionPotDepTemp( in_p.m_bulkJctPotential, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tDepCap = in_p.m_fwdCapDepCoeff * out_c.m_tBulkPot; | |
if (in_p.m_jctSatCurDensity == 0.0 or in_m.m_sourceArea == 0.0 or in_m.m_drainArea == 0.0) then | |
out_c.m_tDrainSatCur = Modelica_3_2.Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCur, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tDrainSatCur = Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCur, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tSourceSatCur = out_c.m_tDrainSatCur; | |
out_c.m_VBScrit = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBScrit = Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBDcrit = out_c.m_VBScrit; | |
else | |
out_c.m_tSatCurDens = Modelica_3_2.Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCurDensity, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tSatCurDens = Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCurDensity, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tDrainSatCur = out_c.m_tSatCurDens * in_m.m_drainArea; | |
out_c.m_tSourceSatCur = out_c.m_tSatCurDens * in_m.m_sourceArea; | |
out_c.m_VBScrit = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBScrit = Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBDcrit = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tDrainSatCur); |
out_c.m_VBDcrit = Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tDrainSatCur); |
end if; | |
if ( not (in_p.m_capBDIsGiven > 0.5) or not (in_p.m_capBSIsGiven > 0.5)) then | |
(res,out_c.m_tCj) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_bulkCapFactor, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(res,out_c.m_tCj) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_bulkCapFactor, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(res,out_c.m_tCjsw) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_sideWallCapFactor, in_p.m_bulkJctSideGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(res,out_c.m_tCjsw) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_sideWallCapFactor, in_p.m_bulkJctSideGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_f1s,out_c.m_f2s,out_c.m_f3s) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctSideGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
(out_c.m_f1s,out_c.m_f2s,out_c.m_f3s) = Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctSideGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
end if; | |
if (in_p.m_capBDIsGiven > 0.5) then | |
(res,out_c.m_tCBDb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBD, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(res,out_c.m_tCBDb) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBD, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tCBDs = 0.0; ... out_c.m_tCBDb = out_c.m_tCj * in_m.m_drainArea; |
|
out_c.m_tCBDs = out_c.m_tCjsw * in_m.m_drainPerimiter; | out_c.m_tCBDs = out_c.m_tCjsw * in_m.m_drainPerimeter; |
end if; | |
if (in_p.m_capBSIsGiven > 0.5) then | |
(res,out_c.m_tCBSb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBS, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(res,out_c.m_tCBSb) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBS, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tCBSs = 0.0; ... out_c.m_tCBSb = out_c.m_tCj * in_m.m_sourceArea; |
|
out_c.m_tCBSs = out_c.m_tCjsw * in_m.m_sourcePerimiter; | out_c.m_tCBSs = out_c.m_tCjsw * in_m.m_sourcePerimeter; |
end if; | |
(out_c.m_f1b,out_c.m_f2b,out_c.m_f3b) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctBotGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
(out_c.m_f1b,out_c.m_f2b,out_c.m_f3b) = Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctBotGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
out_c.m_dVt = in_m.m_dTemp * SpiceConstants.CONSTKoverQ; | out_c.m_dVt = in_m.m_dTemp*Spice3.Internal.SpiceConstants.CONSTKoverQ; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... int_c := in_c; |
|
out_cc.m_capgd = 0; |
|
int_c.m_vgs = in_m_type * (in_m_pVoltageValues[1] - in_m_pVoltageValues[4]); ... int_c.m_vds = in_m_type * (in_m_pVoltageValues[3] - in_m_pVoltageValues[4]); |
|
if ( SpiceRoot.useInitialConditions()) and (in_m.m_dICVBSIsGiven >0.5) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVBSIsGiven > 0.5) then |
int_c.m_vbs = in_m_type * in_m.m_dICVBS; | |
elseif ( SpiceRoot.initJunctionVoltages()) then | elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
int_c.m_vbs = if (in_m.m_off >0.5) then 0. else int_c.m_VBScrit; | |
end if; | |
if ( SpiceRoot.useInitialConditions()) and (in_m.m_dICVDSIsGiven > 0.5) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVDSIsGiven > 0.5) then |
int_c.m_vds = in_m_type * in_m.m_dICVDS; | |
elseif ( SpiceRoot.initJunctionVoltages()) then | elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
int_c.m_vds = if (in_m.m_off > 0.5) then 0. else (int_c.m_VBDcrit - int_c.m_VBScrit); | |
end if; | |
if ( SpiceRoot.useInitialConditions()) and (in_m.m_dICVGSIsGiven > 0.5) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVGSIsGiven > 0.5) then |
int_c.m_vgs = in_m_type * in_m.m_dICVGS; | |
elseif ( SpiceRoot.initJunctionVoltages()) then | elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
if ( in_m.m_off > 0.5) then ... vgb = int_c.m_vgs - int_c.m_vbs; |
|
(int_c.m_cbd,int_c.m_gbd) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbd, int_c.m_gbd, vbd, in_m.m_dTemp, 1.0, int_c.m_tDrainSatCur); |
(int_c.m_cbd,int_c.m_gbd) = Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbd, int_c.m_gbd, vbd, in_m.m_dTemp, 1.0, int_c.m_tDrainSatCur); |
out_cc.iBD = in_m_type * int_c.m_cbd; | |
(int_c.m_cbs,int_c.m_gbs) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbs, int_c.m_gbs, int_c.m_vbs, in_m.m_dTemp, 1.0, int_c.m_tSourceSatCur); |
(int_c.m_cbs,int_c.m_gbs) = Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbs, int_c.m_gbs, int_c.m_vbs, in_m.m_dTemp, 1.0, int_c.m_tSourceSatCur); |
out_cc.iBS = in_m_type * int_c.m_cbs; ... if (int_c.m_mode == 1) then |
|
int_c = Mos1.drainCur( int_c.m_vbs, int_c.m_vgs, int_c.m_vds, int_c, in_p, in_C, in_vp, in_m_type); | int_c = Spice3.Internal.Mos1.drainCur( int_c.m_vbs, int_c.m_vgs, int_c.m_vds, int_c, in_p, in_C, in_vp, in_m_type); |
else | |
int_c = Mos1.drainCur( vbd, vgd, -int_c.m_vds, int_c, in_p, in_C, in_vp, in_m_type); | int_c = Spice3.Internal.Mos1.drainCur( vbd, vgd, -int_c.m_vds, int_c, in_p, in_C, in_vp, in_m_type); |
end if; ... int_c.m_chargebds = 0.0; |
|
(int_c.m_capbsb,int_c.m_chargebsb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBSb, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
(int_c.m_capbsb,int_c.m_chargebsb) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBSb, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
(int_c.m_capbdb,int_c.m_chargebdb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBDb, vbd, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
(int_c.m_capbdb,int_c.m_chargebdb) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBDb, vbd, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
if ( not (in_p.m_capBSIsGiven > 0.5)) then | |
(int_c.m_capbss,int_c.m_chargebss) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBSs, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
(int_c.m_capbss,int_c.m_chargebss) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBSs, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
end if; | |
if (not (in_p.m_capBDIsGiven > 0.5)) then | |
(int_c.m_capbds,int_c.m_chargebds) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBDs, vbd, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
(int_c.m_capbds,int_c.m_chargebds) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBDs, vbd, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
vddif | Real | SIunits.Voltage |
vddif1 | Real | SIunits.Voltage |
vddif2 | Real | Electrical.Spice3.Types.VoltageSquare |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
|
out_qm.qm_qgs = 0.0; |
out_qm.qm_qgb = 0.0; out_qm.qm_qgd = 0.0; out_qm.qm_vgs = 0.0; out_qm.qm_vgb = 0.0; out_qm.qm_vgd = 0.0; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... out_c.m_tSurfMob = in_p.m_surfaceMobility / ratio4; |
|
out_c.m_tPhi = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionPotDepTemp( in_vp.m_phi, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tPhi = Spice3.Internal.Functions.junctionPotDepTemp( in_vp.m_phi, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tVbi = in_vp.m_vt0 - in_m_type*(in_vp.m_gamma*sqrt(in_vp.m_phi)) + 0.5*( Modelica_3_2.Electrical.Spice3.Internal.Functions.energyGapDepTemp( in_p.m_tnom) - Modelica_3_2.Electrical.Spice3.Internal.Functions.energyGapDepTemp( in_m.m_dTemp)) + in_m_type*0.5*(out_c.m_tPhi - in_vp.m_phi); |
out_c.m_tVbi = in_vp.m_vt0 - in_m_type*(in_vp.m_gamma*sqrt(in_vp.m_phi)) + 0.5*(Spice3.Internal.Functions.energyGapDepTemp( in_p.m_tnom) - Spice3.Internal.Functions.energyGapDepTemp(in_m.m_dTemp)) + in_m_type*0.5*(out_c.m_tPhi - in_vp.m_phi); |
out_c.m_tVto = out_c.m_tVbi + in_m_type * in_vp.m_gamma * sqrt(out_c.m_tPhi); | |
out_c.m_tBulkPot = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionPotDepTemp( in_p.m_bulkJctPotential, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tBulkPot = Spice3.Internal.Functions.junctionPotDepTemp( in_p.m_bulkJctPotential, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tDepCap = in_p.m_fwdCapDepCoeff * out_c.m_tBulkPot; | |
if (in_p.m_jctSatCurDensity == 0.0 or in_m.m_sourceArea == 0.0 or in_m.m_drainArea == 0.0) then | |
out_c.m_tDrainSatCur = Modelica_3_2.Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCur, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tDrainSatCur = Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCur, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tSourceSatCur = out_c.m_tDrainSatCur; | |
out_c.m_VBScrit = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBScrit = Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBDcrit = out_c.m_VBScrit; | |
else | |
out_c.m_tSatCurDens = Modelica_3_2.Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCurDensity, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tSatCurDens = Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET( in_p.m_jctSatCurDensity, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tDrainSatCur = out_c.m_tSatCurDens * in_m.m_drainArea; | |
out_c.m_tSourceSatCur = out_c.m_tSatCurDens * in_m.m_sourceArea; | |
out_c.m_VBScrit = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBScrit = Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tSourceSatCur); |
out_c.m_VBDcrit = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tDrainSatCur); |
out_c.m_VBDcrit = Spice3.Internal.Functions.junctionVCrit( in_m.m_dTemp, 1.0, out_c.m_tDrainSatCur); |
end if; | |
if ( not (in_p.m_capBDIsGiven > 0.5) or not (in_p.m_capBSIsGiven > 0.5)) then | |
(out_c.m_tCj) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_bulkCapFactor, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_tCj) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_bulkCapFactor, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_tCjsw) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_sideWallCapFactor, in_p.m_bulkJctSideGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_tCjsw) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_sideWallCapFactor, in_p.m_bulkJctSideGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_f1s,out_c.m_f2s,out_c.m_f3s) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctSideGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
(out_c.m_f1s,out_c.m_f2s,out_c.m_f3s) = Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctSideGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
end if; | |
if (in_p.m_capBDIsGiven > 0.5) then | |
(out_c.m_tCBDb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBD, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_tCBDb) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBD, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tCBDs = 0.0; ... out_c.m_tCBDb = out_c.m_tCj * in_m.m_drainArea; |
|
out_c.m_tCBDs = out_c.m_tCjsw * in_m.m_drainPerimiter; | out_c.m_tCBDs = out_c.m_tCjsw * in_m.m_drainPerimeter; |
end if; | |
if (in_p.m_capBSIsGiven > 0.5) then | |
(out_c.m_tCBSb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBS, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
(out_c.m_tCBSb) = Spice3.Internal.Functions.junctionParamDepTempSPICE3( in_p.m_bulkJctPotential, in_p.m_capBS, in_p.m_bulkJctBotGradingCoeff, in_m.m_dTemp, in_p.m_tnom); |
out_c.m_tCBSs = 0.0; ... out_c.m_tCBSb = out_c.m_tCj * in_m.m_sourceArea; |
|
out_c.m_tCBSs = out_c.m_tCjsw * in_m.m_sourcePerimiter; | out_c.m_tCBSs = out_c.m_tCjsw * in_m.m_sourcePerimeter; |
end if; | |
(out_c.m_f1b,out_c.m_f2b,out_c.m_f3b) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctBotGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
(out_c.m_f1b,out_c.m_f2b,out_c.m_f3b) = Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_bulkJctBotGradingCoeff, in_p.m_fwdCapDepCoeff, out_c.m_tBulkPot); |
out_c.m_dVt = in_m.m_dTemp * SpiceConstants.CONSTKoverQ; | out_c.m_dVt = in_m.m_dTemp*Spice3.Internal.SpiceConstants.CONSTKoverQ; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... int_c.m_vds = in_m_type * (in_m_pVoltageValues[3] - in_m_pVoltageValues[4]); |
|
if ( SpiceRoot.useInitialConditions()) and (in_m.m_dICVBSIsGiven >0.5) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVBSIsGiven > 0.5) then |
int_c.m_vbs = in_m_type * in_m.m_dICVBS; | |
elseif ( SpiceRoot.initJunctionVoltages()) then | elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
int_c.m_vbs = if (in_m.m_off >0.5) then 0. else int_c.m_VBScrit; | |
end if; | |
if ( SpiceRoot.useInitialConditions()) and (in_m.m_dICVDSIsGiven > 0.5) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVDSIsGiven > 0.5) then |
int_c.m_vds = in_m_type * in_m.m_dICVDS; | |
elseif ( SpiceRoot.initJunctionVoltages()) then | elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
int_c.m_vds = if (in_m.m_off > 0.5) then 0. else (int_c.m_VBDcrit - int_c.m_VBScrit); | |
end if; | |
if ( SpiceRoot.useInitialConditions()) and (in_m.m_dICVGSIsGiven > 0.5) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_dICVGSIsGiven > 0.5) then |
int_c.m_vgs = in_m_type * in_m.m_dICVGS; | |
elseif ( SpiceRoot.initJunctionVoltages()) then | elseif ( Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
if ( in_m.m_off > 0.5) then ... end if; |
|
if (int_c.m_vds<>0 and int_c.m_vgs<>0 and int_c.m_vbs<>0 and not (SpiceRoot.useInitialConditions()) and (in_m.m_off<>0)) then | if (int_c.m_vds <> 0 and int_c.m_vgs <> 0 and int_c.m_vbs <> 0 and not ( Spice3.Internal.SpiceRoot.useInitialConditions()) and (in_m.m_off <> 0)) then |
int_c.m_vbs = -1; ... if ( int_c.m_vds >= 0) then |
|
int_c.m_vbs = SpiceRoot.limitJunctionVoltage(int_c.m_vbs); | int_c.m_vbs = Spice3.Internal.SpiceRoot.limitJunctionVoltage( int_c.m_vbs); |
vbd = int_c.m_vbs - int_c.m_vds; | |
else | |
vbd = SpiceRoot.limitJunctionVoltage(vbd); | vbd = Spice3.Internal.SpiceRoot.limitJunctionVoltage( vbd); |
int_c.m_vbs = vbd + int_c.m_vds; ... vgb = int_c.m_vgs - int_c.m_vbs; |
|
(int_c.m_cbd,int_c.m_gbd) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbd, int_c.m_gbd, vbd, in_m.m_dTemp, 1.0, int_c.m_tDrainSatCur); |
(int_c.m_cbd,int_c.m_gbd) = Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbd, int_c.m_gbd, vbd, in_m.m_dTemp, 1.0, int_c.m_tDrainSatCur); |
out_cc.iBD = in_m_type * int_c.m_cbd; | |
(int_c.m_cbs,int_c.m_gbs) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbs, int_c.m_gbs, int_c.m_vbs, in_m.m_dTemp, 1.0, int_c.m_tSourceSatCur); |
(int_c.m_cbs,int_c.m_gbs) = Spice3.Internal.Functions.junction2SPICE3MOSFET( int_c.m_cbs, int_c.m_gbs, int_c.m_vbs, in_m.m_dTemp, 1.0, int_c.m_tSourceSatCur); |
out_cc.iBS = in_m_type * int_c.m_cbs; ... if (int_c.m_mode == 1) then |
|
int_c = Mos2.drainCur( int_c.m_vbs, int_c.m_vgs, int_c.m_vds,int_m, int_c, in_p, in_C, in_vp, in_m_type); | int_c = Spice3.Internal.Mos2.drainCur( int_c.m_vbs, int_c.m_vgs, int_c.m_vds,int_m, int_c, in_p, in_C, in_vp, in_m_type); |
else | |
int_c = Mos2.drainCur( vbd, vgd, -int_c.m_vds,int_m, int_c, in_p, in_C, in_vp, in_m_type); | int_c = Spice3.Internal.Mos2.drainCur( vbd, vgd, -int_c.m_vds,int_m, int_c, in_p, in_C, in_vp, in_m_type); |
end if; ... int_c.m_chargebds = 0.0; |
|
(int_c.m_capbsb,int_c.m_chargebsb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBSb, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
(int_c.m_capbsb,int_c.m_chargebsb) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBSb, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
(int_c.m_capbdb,int_c.m_chargebdb) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBDb, vbd, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
(int_c.m_capbdb,int_c.m_chargebdb) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBDb, vbd, int_c.m_tDepCap, in_p.m_bulkJctBotGradingCoeff, int_c.m_tBulkPot, int_c.m_f1b, int_c.m_f2b, int_c.m_f3b); |
if ( not (in_p.m_capBSIsGiven > 0.5)) then | |
(int_c.m_capbss,int_c.m_chargebss) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBSs, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
(int_c.m_capbss,int_c.m_chargebss) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBSs, int_c.m_vbs, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
end if; | |
if (not (in_p.m_capBDIsGiven > 0.5)) then | |
(int_c.m_capbds,int_c.m_chargebds) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( int_c.m_tCBDs, vbd, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
(int_c.m_capbds,int_c.m_chargebds) = Spice3.Internal.Functions.junctionCap( int_c.m_tCBDs, vbd, int_c.m_tDepCap, in_p.m_bulkJctSideGradingCoeff, int_c.m_tBulkPot, int_c.m_f1s, int_c.m_f2s, int_c.m_f3s); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
intern.m_oxideCapFactor := 0; | intern.m_cgboIsGiven := 0; |
intern.m_cgdoIsGiven = 0; intern.m_cgsoIsGiven = 0; intern.m_mjswIsGiven = 0; intern.m_pbIsGiven = 0; intern.m_surfaceStateDensityIsGiven = 0; intern.m_oxideCapFactor = 0; |
|
intern.m_vtOIsGiven = if (ex.VTO > -1e40) then 1 else 0; ... intern.m_latDiff = ex.LD "In m lateral diffusion (default 0)"; |
|
intern.m_jctSatCur = ex.IS "A bulk junction saturation current (defaul 1e-14)"; |
intern.m_jctSatCur = ex.IS "A bulk junction saturation current (default 1e-14)"; |
intern.m_drainResistanceIsGiven = if (ex.RD > -1e40) then 1 else 0; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... dev.m_sourceSquares = NRS "NRS, length of source in squares"; |
|
dev.m_drainPerimiter = PD "PD, Drain perimeter"; | dev.m_drainPerimeter = PD "PD, Drain perimeter"; |
dev.m_sourcePerimiter = PS "PS, Source perimeter"; | dev.m_sourcePerimeter = PS "PS, Source perimeter"; |
dev.m_dICVDSIsGiven = if (IC > -1e40) then 1 else 0 "ICVDS IsGivenValue"; ... dev.m_off = OFF "Non-zero to indicate device is off for dc analysis"; |
|
dev.m_bPMOS = mtype "P type MOSfet model"; | dev.m_bPMOS = mtype "P type MOSFET model"; |
dev.m_nLevel = ex.LEVEL "Level"; ... dev.m_dTemp = TEMP + SpiceConstants.CONSTCtoK "Device temperature"; |
|
|
dev.m_drainPerimiter = 0; |
dev.m_sourcePerimiter = 0; dev.m_uic = false; |
Component |
Version 3.2 |
Version 3.2.1 |
m_critField | Real | Electrical.Spice3.Types.ElectricFieldStrength_cm |
m_maxDriftVel | Real | SIunits.Velocity |
m_junctionDepth | Real | SIunits.Length |
m_fastSurfaceStateDensity | Real | SIunits.Conversions.NonSIunits.PerArea_cm |
m_xd | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... intern.m_transconductance = if (ex.KP > -1e40) then ex.KP else 2e-5; |
|
intern.m_tnom = if (ex.TNOM > -1e40) then ex.TNOM + SpiceConstants.CONSTCtoK else 300.15; |
intern.m_tnom = if (ex.TNOM > -1e40) then ex.TNOM + Spice3.Internal.SpiceConstants.CONSTCtoK else 300.15; |
intern.m_jctSatCurDensity = ex.JS; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(ex.LEVEL== 1, "only MOS Level1 implemented"); |
|
dev.m_dTemp = TEMP + SpiceConstants.CONSTCtoK; | dev.m_dTemp = TEMP + Spice3.Internal.SpiceConstants.CONSTCtoK; |
|
Component |
Version 3.2 |
Version 3.2.1 |
m_gradingCoeff | Real | SIunits.LinearTemperatureCoefficient |
m_nomTemp | SIunits.Temp_C | SIunits.Temp_K |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
m_dCurrent = out_cc.m_dCurrent; |
|
(m_dCap,m_dCharge) =  Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapTransTime(  in_c.m_tJctCap,  m_dPNVoltage,  in_c.m_tJctPot*in_p.m_depletionCapCoeff,  in_p.m_gradingCoeff,  in_p.m_junctionPot,  in_c.m_tF1,  in_c.m_f2,  in_c.m_f3,  in_p.m_transitTime,  m_dCond,  m_dCurrent); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
out.m_dWidth := in_p.m_dWidth; | out.m_dLength := 0; |
out.m_dConduct = 0; out.m_dCond_dTemp = 0; out.m_dWidth = in_p.m_dWidth; |
|
if ( in_p.m_dResIsGiven < 0.5) then ... |
Component |
Version 3.2 |
Version 3.2.1 |
m_tnom | start=SpiceConstants.CKTnomTemp | start=Spice3.Internal.SpiceConstants.CKTnomTemp |
m_invRollOffF | Real | Electrical.Spice3.Types.InverseElectricCurrent |
m_invRollOffR | Real | Electrical.Spice3.Types.InverseElectricCurrent |
Component |
Version 3.2 |
Version 3.2.1 |
m_invRollOffF | Real | Electrical.Spice3.Types.InverseElectricCurrent |
m_invRollOffR | Real | Electrical.Spice3.Types.InverseElectricCurrent |
Component |
Version 3.2 |
Version 3.2.1 |
arg | Real | Electrical.Spice3.Types.GapEnergyPerEnergy |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
fact1 := in_p.m_tnom/SpiceConstants.REFTEMP; | fact1 := in_p.m_tnom/Spice3.Internal.SpiceConstants.REFTEMP; |
vt = m.m_dTemp*SpiceConstants.CONSTKoverQ; | vt = m.m_dTemp*Spice3.Internal.SpiceConstants.CONSTKoverQ; |
fact2 = m.m_dTemp/SpiceConstants.REFTEMP; | fact2 = m.m_dTemp/Spice3.Internal.SpiceConstants.REFTEMP; |
egfet = 1.16 - (7.02e-4 * m.m_dTemp * m.m_dTemp) / (m.m_dTemp + 1108); | |
arg = -egfet/(2*Modelica_3_2.Constants.k*m.m_dTemp) + 1.1150877/( Modelica_3_2.Constants.k*(SpiceConstants.REFTEMP + SpiceConstants.REFTEMP)); |
arg = -egfet/(2*Modelica.Constants.k*m.m_dTemp) + 1.1150877/(Modelica.Constants.k *(Spice3.Internal.SpiceConstants.REFTEMP + Spice3.Internal.SpiceConstants.REFTEMP)); |
pbfact = -2*vt*(1.5*Modelica_3_2.Math.log(fact2) + SpiceConstants.CHARGE *arg); |
pbfact = -2*vt*(1.5*Modelica.Math.log(fact2) + Spice3.Internal.SpiceConstants.CHARGE *arg); |
ratlog = Modelica_3_2.Math.log(m.m_dTemp/in_p.m_tnom); ... out_c.m_tBCleakCur = in_vl.m_leakBCcurrent * exp(factlog / in_p.m_leakBCemissionCoeff) / bfactor * in_p3.m_area; |
|
out_c.m_tBEcap = in_p.m_depletionCapBE/(1 + in_p.m_junctionExpBE*(4e-4 *(in_p.m_tnom - SpiceConstants.REFTEMP) - gmaold)); |
out_c.m_tBEcap = in_p.m_depletionCapBE/(1 + in_p.m_junctionExpBE*(4e-4*( in_p.m_tnom - Spice3.Internal.SpiceConstants.REFTEMP) - gmaold)); |
out_c.m_tBEpot = fact2 * pbo + pbfact; | |
gmanew = (out_c.m_tBEpot - pbo) / pbo; | |
out_c.m_tBEcap = out_c.m_tBEcap*(1 + in_p.m_junctionExpBE*(4e-4*(m.m_dTemp - SpiceConstants.REFTEMP) - gmanew)); |
out_c.m_tBEcap = out_c.m_tBEcap*(1 + in_p.m_junctionExpBE*(4e-4*(m.m_dTemp - Spice3.Internal.SpiceConstants.REFTEMP) - gmanew)); |
pbo = (in_p.m_potentialBC - pbfact) / fact1; | |
gmaold = (in_p.m_potentialBC - pbo) / pbo; | |
out_c.m_tBCcap = in_p.m_depletionCapBC/(1 + in_p.m_junctionExpBC*(4e-4 *(in_p.m_tnom - SpiceConstants.REFTEMP) - gmaold)); |
out_c.m_tBCcap = in_p.m_depletionCapBC/(1 + in_p.m_junctionExpBC*(4e-4*( in_p.m_tnom - Spice3.Internal.SpiceConstants.REFTEMP) - gmaold)); |
out_c.m_tBCpot = fact2 * pbo + pbfact; | |
gmanew = (out_c.m_tBCpot - pbo) / pbo; | |
out_c.m_tBCcap = out_c.m_tBCcap*(1 + in_p.m_junctionExpBC*(4e-4*(m.m_dTemp - SpiceConstants.REFTEMP) - gmanew)); |
out_c.m_tBCcap = out_c.m_tBCcap*(1 + in_p.m_junctionExpBC*(4e-4*(m.m_dTemp - Spice3.Internal.SpiceConstants.REFTEMP) - gmanew)); |
out_c.m_tDepCapBE = in_p.m_depletionCapCoeff * out_c.m_tBEpot; ... xfc = Modelica_3_2.Math.log(1 - in_p.m_depletionCapCoeff); |
|
out_c.m_tVcrit = vt*Modelica_3_2.Math.log(vt/(SpiceConstants.CONSTroot2 *in_p.m_satCur)); |
out_c.m_tVcrit = vt*Modelica.Math.log(vt/(Spice3.Internal.SpiceConstants.CONSTroot2 *in_p.m_satCur)); |
out_c.m_dVt = vt; ... out_c.m_tBCcap = out_c.m_tBCcap * in_p3.m_area; |
|
(out_c.m_tF1c,out_c.m_f2c,out_c.m_f3c) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_junctionExpBC, in_p.m_depletionCapCoeff, out_c.m_tBCpot); |
(out_c.m_tF1c,out_c.m_f2c,out_c.m_f3c) = Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_junctionExpBC, in_p.m_depletionCapCoeff, out_c.m_tBCpot); |
(out_c.m_tF1e,out_c.m_f2e,out_c.m_f3e) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_junctionExpBE, in_p.m_depletionCapCoeff, out_c.m_tBEpot); |
(out_c.m_tF1e,out_c.m_f2e,out_c.m_f3e) = Spice3.Internal.Functions.junctionCapCoeffs( in_p.m_junctionExpBE, in_p.m_depletionCapCoeff, out_c.m_tBEpot); |
|
Component |
Version 3.2 |
Version 3.2.1 |
temp | SIunits.Temp_K | Real |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... vbx = in_p.m_type * (in_m_pVoltageValues[2] - in_m_pVoltageValues[4]); |
|
if (SpiceRoot.useInitialConditions()) then | if (Spice3.Internal.SpiceRoot.useInitialConditions()) then |
if (in_p3.m_bICvbeIsGiven > 0.5) then ... vbx = vbe - vce; |
|
elseif (SpiceRoot.initJunctionVoltages()) then | elseif (Spice3.Internal.SpiceRoot.initJunctionVoltages()) then |
if (in_p3.m_bOff) then ... vbc = vbe - vce; |
|
(cbe,gbe) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2( vbe, in_m.m_dTemp, in_p.m_emissionCoeffF, in_c.m_tSatCur); |
(cbe,gbe) = Spice3.Internal.Functions.junction2( vbe, in_m.m_dTemp, in_p.m_emissionCoeffF, in_c.m_tSatCur); |
out_cc.iBE = in_p.m_type * cbe / in_c.m_tBetaF; | |
(cben,gben) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2( vbe, in_m.m_dTemp, in_p.m_leakBEemissionCoeff, in_c.m_tBEleakCur); |
(cben,gben) = Spice3.Internal.Functions.junction2( vbe, in_m.m_dTemp, in_p.m_leakBEemissionCoeff, in_c.m_tBEleakCur); |
out_cc.iBEN = in_p.m_type * cben; | |
(cbc,gbc) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2( vbc, in_m.m_dTemp, in_p.m_emissionCoeffR, in_c.m_tSatCur); |
(cbc,gbc) = Spice3.Internal.Functions.junction2( vbc, in_m.m_dTemp, in_p.m_emissionCoeffR, in_c.m_tSatCur); |
out_cc.iBC = in_p.m_type * cbc / in_c.m_tBetaR; | |
(cbcn,gbcn) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junction2( vbc, in_m.m_dTemp, in_p.m_leakBCemissionCoeff, in_c.m_tBCleakCur); |
(cbcn,gbcn) = Spice3.Internal.Functions.junction2( vbc, in_m.m_dTemp, in_p.m_leakBCemissionCoeff, in_c.m_tBCleakCur); |
out_cc.iBCN = in_p.m_type * cbcn; ... end if; |
|
(capbe,chargebe) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapTransTime( in_c.m_tBEcap, vbe, in_c.m_tDepCapBE, in_p.m_junctionExpBE, in_c.m_tBEpot, in_c.m_tF1e, in_c.m_f2e, in_c.m_f3e, in_p.m_transitTimeF, gbe, cbe); |
(capbe,chargebe) = Spice3.Internal.Functions.junctionCapTransTime( in_c.m_tBEcap, vbe, in_c.m_tDepCapBE, in_p.m_junctionExpBE, in_c.m_tBEpot, in_c.m_tF1e, in_c.m_f2e, in_c.m_f3e, in_p.m_transitTimeF, gbe, cbe); |
out_cc.iXX = 0; | |
aux1 = in_c.m_tBCcap*in_p.m_baseFractionBCcap; | |
(capbc,chargebc) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapTransTime( aux1, vbc, in_c.m_tDepCapBC, in_p.m_junctionExpBC, in_c.m_tBCpot, in_c.m_tF1c, in_c.m_f2c, in_c.m_f3c, in_p.m_transitTimeR, gbc, cbc); |
(capbc,chargebc) = Spice3.Internal.Functions.junctionCapTransTime( aux1, vbc, in_c.m_tDepCapBC, in_p.m_junctionExpBC, in_c.m_tBCpot, in_c.m_tF1c, in_c.m_f2c, in_c.m_f3c, in_p.m_transitTimeR, gbc, cbc); |
aux2= in_c.m_tBCcap*(1. - in_p.m_baseFractionBCcap); | |
(capbx,chargebx) = Modelica_3_2.Electrical.Spice3.Internal.Functions.junctionCap( aux2, vbx, in_c.m_tDepCapBC, in_p.m_junctionExpBC, in_c.m_tBCpot, in_c.m_tF1c, in_c.m_f2c, in_c.m_f3c); |
(capbx,chargebx) = Spice3.Internal.Functions.junctionCap( aux2, vbx, in_c.m_tDepCapBC, in_p.m_junctionExpBC, in_c.m_tBCpot, in_c.m_tF1c, in_c.m_f2c, in_c.m_f3c); |
|
Component |
Version 3.2 |
Version 3.2.1 |
TBJT | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
intern.m_satCur := ex.IS; | intern.m_type := TBJT; |
intern.m_satCur = ex.IS; |
|
intern.m_betaF = ex.BF; ... intern.m_depletionCapCoeff = ex.FC; |
|
intern.m_tnom = if (ex.TNOM > -1e40) then ex.TNOM + SpiceConstants.CONSTCtoK else 300.15; | intern.m_tnom = if (ex.TNOM > -1e40) then ex.TNOM + Spice3.Internal.SpiceConstants.CONSTCtoK else 300.15; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
m.m_dTemp :=TEMP + SpiceConstants.CONSTCtoK; | m.m_dTemp := TEMP + Spice3.Internal.SpiceConstants.CONSTCtoK; |
|
Component |
Version 3.2 |
Version 3.2.1 |
r_mFe | | B(start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
advancedFeed_x | exact=true | exact=false |
Component |
Version 3.2 |
Version 3.2.1 |
g_mFePole | | r_i=0 |
Component |
Version 3.2 |
Version 3.2.1 |
N | start=1 | |
| =1 |
Component |
Version 3.2 |
Version 3.2.1 |
R_m | start=1 | |
| =1 |
Component |
Version 3.2 |
Version 3.2.1 |
c_usefulFlux | start=0.7 | |
| =0.7 |
Component |
Version 3.2 |
Version 3.2.1 |
rho | start=0.098e-6 | |
| =0.098e-6 | |
l | start=1 | |
| =1 | |
A | start=1 | |
| =1 |
Component |
Version 3.2 |
Version 3.2.1 |
l | start=0.01 | |
| =0.01 | |
r_i | start=0 | |
| =0 | |
r_o | start=0.01 | |
| =0.01 |
Component |
Version 3.2 |
Version 3.2.1 |
l | start=0.01 | |
| =0.01 | |
r_i | start=0.01 | |
| =0.01 | |
r_o | start=0.02 | |
| =0.02 |
Component |
Version 3.2 |
Version 3.2.1 |
r_i | start=0 | |
| =0 | |
r_o | start=0.01 | |
| =0.01 |
Component |
Version 3.2 |
Version 3.2.1 |
r_i | start=0.01 | |
| =0.01 | |
r_o | start=0.015 | |
| =0.015 |
Component |
Version 3.2 |
Version 3.2.1 |
a | start=0.01 | |
| =0.01 | |
b | start=0.01 | |
| =0.01 |
Component |
Version 3.2 |
Version 3.2.1 |
a | start=0.01 | |
| =0.01 | |
b | start=0.01 | |
| =0.01 |
Component |
Version 3.2 |
Version 3.2.1 |
w | start=0.1 | |
| =0.1 | |
r | start=0.01 | |
| =0.01 |
Component |
Version 3.2 |
Version 3.2.1 |
l | start=0.1 | |
| =0.1 |
Component |
Version 3.2 |
Version 3.2.1 |
l | start=0.1 | |
| =0.1 |
Component |
Version 3.2 |
Version 3.2.1 |
l | start=0.1 | |
| =0.1 |
Component |
Version 3.2 |
Version 3.2.1 |
l | start=0.1 | |
| =0.1 |
Component |
Version 3.2 |
Version 3.2.1 |
r | start=0.005 | |
| =0.005 |
Component |
Version 3.2 |
Version 3.2.1 |
r | start=0.01 | |
| =0.01 |
Component |
Version 3.2 |
Version 3.2.1 |
r_0 | start=10e-3 | |
| =10e-3 | |
r_1 | start=17e-3 | |
| =17e-3 | |
r_2 | start=20e-3 | |
| =20e-3 |
Component |
Version 3.2 |
Version 3.2.1 |
V_m | SIunits.MagneticPotentialDifference | SIunits.MagneticPotential |
Component |
Version 3.2 |
Version 3.2.1 |
Phi | | start=0 |
Component |
Version 3.2 |
Version 3.2.1 |
V_m | | unit="A" |
Component |
Version 3.2 |
Version 3.2.1 |
Phi | | unit="Wb" |
Component |
Version 3.2 |
Version 3.2.1 |
V_m | | final quantity="MagneticPotential" |
| final unit="A" |
Component |
Version 3.2 |
Version 3.2.1 |
Phi | | final quantity="MagneticFlux" |
| final unit="Wb" |
Component |
Version 3.2 |
Version 3.2.1 |
star_e | | m=m |
star_m | | m=m |
sineVoltage_e | | m=m |
| V=fill(1, m) | |
| freqHz=fill(1, m) | |
sineVoltage_m | | m=m |
| V=fill(1, m) | |
| freqHz=fill(1, m) | |
converter_e | orientation=Modelica_3_2.Magnetic.FundamentalWave.BasicMachines.Functions.symmetricOrientation(3) | orientation=Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
m=3 | m=m | |
effectiveTurns=fill(N, 3) | effectiveTurns=fill(N, m) | |
converter_m | orientation=Modelica_3_2.Magnetic.FundamentalWave.BasicMachines.Functions.symmetricOrientation(3) | orientation=Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
effectiveTurns=fill(N, 3) | effectiveTurns=fill(N, m) | |
m=3 | m=m | |
loss_e | G=fill(Gc, 3) | G=fill(Gc, m) |
| m=m | |
loss_m | G=3*N^2*Gc/2 | G=m*N^2*Gc/2 |
powerb_e | | m=m |
powerb_m | | m=m |
RLeader | Present | |
leader_e | Present | |
leader_m | Present | |
m | Present | |
R | Present | |
resistor_e | Present | |
resistor_m | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(sineVoltage_e.plug_n, converter_e.plug_n); | initial equation |
reluctance_e.Phi = Complex(0, 0); reluctance_m.Phi = Complex(0, 0); equation  connect(sineVoltage_e.plug_n, converter_e.plug_n); |
|
connect(sineVoltage_e.plug_n, star_e.plug_p); ... connect(converter_m.port_n, mground_m.port_p); |
|
connect(leader_e.plug_p, sineVoltage_e.plug_p); | connect(resistor_e.plug_p, sineVoltage_e.plug_p); |
connect(sineVoltage_m.plug_p, leader_m.plug_p); | connect(sineVoltage_m.plug_p, resistor_m.plug_p); |
connect(leader_e.plug_n, powerb_e.pc); | connect(resistor_e.plug_n, powerb_e.pc); |
connect(powerb_e.pv, powerb_e.pc); ... connect(powerb_e.nv, sineVoltage_e.plug_n); |
|
connect(leader_m.plug_n, powerb_m.pc); | connect(resistor_m.plug_n, powerb_m.pc); |
connect(powerb_m.pc, powerb_m.pv); ... |
Component |
Version 3.2 |
Version 3.2.1 |
sineVoltage | freqHz=fill(fsNominal, m) | freqHz=fill(fNominal, m) |
idealCloser | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
aimcM | p=p | p=aimcData.p |
Rs=Rs | Rs=aimcData.Rs | |
Lssigma=Lssigma | Lssigma=aimcData.Lssigma | |
Lm=Lm | Lm=aimcData.Lm | |
Lrsigma=Lrsigma | Lrsigma=aimcData.Lrsigma | |
Rr=Rr | Rr=aimcData.Rr | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = aimcData.alpha20r | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| fsNominal=aimcData.fsNominal | |
| TsRef=aimcData.TsRef | |
| Lszero=aimcData.Lszero | |
| frictionParameters=aimcData.frictionParameters | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| TrRef=aimcData.TrRef | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| TsOperational=293.15 | |
| TrOperational=293.15 | |
aimcE | p=p | p=aimcData.p |
Rs=Rs | Rs=aimcData.Rs | |
Lssigma=Lssigma | Lssigma=aimcData.Lssigma | |
Lm=Lm | Lm=aimcData.Lm | |
Lrsigma=Lrsigma | Lrsigma=aimcData.Lrsigma | |
Rr=Rr | Rr=aimcData.Rr | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = aimcData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = aimcData.alpha20r | |
| fsNominal=aimcData.fsNominal | |
| TsRef=aimcData.TsRef | |
| Lszero=aimcData.Lszero | |
| Jr=aimcData.Jr | |
| Js=aimcData.Js | |
| frictionParameters=aimcData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimcData.statorCoreParameters | |
| strayLoadParameters=aimcData.strayLoadParameters | |
| TsOperational=293.15 | |
| TrRef=aimcData.TrRef | |
| TrOperational=293.15 | |
fsNominal | Present | |
Rs | Present | |
Lssigma | Present | |
Lm | Present | |
Lrsigma | Present | |
Rr | Present | |
fNominal | Present | |
aimcData | Present | |
currentQuasiRMSSensor | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aimcE.is = zeros(m); aimcE.ir = zeros(2); aimcM.is = zeros(m); aimcM.ir[1:2] = zeros(2); equation  connect(star.pin_n, ground.p); |
|
connect(sineVoltage.plug_n, star.plug_p); ... connect(terminalBoxM.plug_sp, aimcM.plug_sp); |
|
connect(terminalBoxM.plugSupply, currentRMSsensorM.plug_n); |
|
connect(aimcE.flange, loadInertiaE.flange_a); ... connect(currentRMSsensorE.plug_p, idealCloser.plug_n); |
|
connect(currentRMSsensorM.plug_n, currentQuasiRMSSensor.plug_p); connect(terminalBoxM.plugSupply, currentQuasiRMSSensor.plug_n); |
Component |
Version 3.2 |
Version 3.2.1 |
RStart | =0.16 | =0.16/aimsData.turnsRatio^2 |
sineVoltage | freqHz=fill(fsNominal, m) | freqHz=fill(fNominal, m) |
idealCloser | | Ron=fill(1e-5, m) |
| Goff=fill(1e-5, m) | |
currentRMSsensorM | Electrical.Machines.Sensors.CurrentQuasiRMSSensor | Electrical.MultiPhase.Sensors.CurrentQuasiRMSSensor |
aimsM | Rs=Rs | Rs=aimsData.Rs |
Lssigma=Lssigma | Lssigma=aimsData.Lssigma | |
Lm=Lm | Lm=aimsData.Lm | |
Lrsigma=Lrsigma | Lrsigma=aimsData.Lrsigma | |
Rr=Rr | Rr=aimsData.Rr | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = aimsData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = aimsData.alpha20r | |
p=p | p=aimsData.p | |
| Jr=aimsData.Jr | |
| Js=aimsData.Js | |
| fsNominal=aimsData.fsNominal | |
| TsRef=aimsData.TsRef | |
| Lszero=aimsData.Lszero | |
| frictionParameters=aimsData.frictionParameters | |
| statorCoreParameters=aimsData.statorCoreParameters | |
| strayLoadParameters=aimsData.strayLoadParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| Lrzero=aimsData.Lrzero | |
| TrRef=aimsData.TrRef | |
| useTurnsRatio=aimsData.useTurnsRatio | |
| VsNominal=aimsData.VsNominal | |
| VrLockedRotor=aimsData.VrLockedRotor | |
| rotorCoreParameters=aimsData.rotorCoreParameters | |
| TurnsRatio=aimsData.turnsRatio | |
| TsOperational=293.15 | |
| TrOperational=293.15 | |
aimsE | p=p | p=aimsData.p |
Rs=Rs | Rs=aimsData.Rs | |
Lssigma=Lssigma | Lssigma=aimsData.Lssigma | |
Lm=Lm | Lm=aimsData.Lm | |
Lrsigma=Lrsigma | Lrsigma=aimsData.Lrsigma | |
Rr=Rr | Rr=aimsData.Rr | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = aimsData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = aimsData.alpha20r | |
| fsNominal=aimsData.fsNominal | |
| TsRef=aimsData.TsRef | |
| Lszero=aimsData.Lszero | |
| Jr=aimsData.Jr | |
| Js=aimsData.Js | |
| frictionParameters=aimsData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=aimsData.statorCoreParameters | |
| strayLoadParameters=aimsData.strayLoadParameters | |
| Lrzero=aimsData.Lrzero | |
| TrRef=aimsData.TrRef | |
| useTurnsRatio=aimsData.useTurnsRatio | |
| VsNominal=aimsData.VsNominal | |
| VrLockedRotor=aimsData.VrLockedRotor | |
| rotorCoreParameters=aimsData.rotorCoreParameters | |
| TsOperational=566.3 | |
| turnsRatio=aimsData.turnsRatio | |
| TrOperational=566.3 | |
rheostatM | | m=m |
rheostatE | | m=m |
fsNominal | Present | |
p | Present | |
Rs | Present | |
Lssigma | Present | |
Lm | Present | |
Lrsigma | Present | |
Rr | Present | |
fNominal | Present | |
aimsData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(star.pin_n, ground.p); | initial equation |
aimsE.is = zeros(3); aimsE.ir = zeros(3); aimsM.is = zeros(3); aimsM.ir = zeros(3); equation  connect(star.pin_n, ground.p); |
|
connect(sineVoltage.plug_n, star.plug_p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
currentRMSsensorM | Electrical.Machines.Sensors.CurrentQuasiRMSSensor | Electrical.MultiPhase.Sensors.CurrentQuasiRMSSensor |
smpmM | Rs=Rs | Rs=smpmData.Rs |
Lssigma=Lssigma | Lssigma=smpmData.Lssigma | |
Lmd=Lmd | Lmd=smpmData.Lmd | |
Lmq=Lmq | Lmq=smpmData.Lmq | |
Lrsigmad=Lrsigmad | Lrsigmad=smpmData.Lrsigmad | |
Lrsigmaq=Lrsigmaq | Lrsigmaq=smpmData.Lrsigmaq | |
Rrd=Rrd | Rrd=smpmData.Rrd | |
Rrq=Rrq | Rrq=smpmData.Rrq | |
p=p | p=smpmData.p | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = smpmData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = smpmData.alpha20r | |
| Jr=smpmData.Jr | |
| Js=smpmData.Js | |
| fsNominal=smpmData.fsNominal | |
| TsRef=smpmData.TsRef | |
| Lszero=smpmData.Lszero | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| useDamperCage=smpmData.useDamperCage | |
| TrRef=smpmData.TrRef | |
| VsOpenCircuit=smpmData.VsOpenCircuit | |
| frictionParameters=smpmData.frictionParameters | |
| statorCoreParameters=smpmData.statorCoreParameters | |
| strayLoadParameters=smpmData.strayLoadParameters | |
| permanentMagnetLossParameters=smpmData.permanentMagnetLossParameters | |
| TsOperational=293.15 | |
| TrOperational=293.15 | |
| ir(fixed=true) | |
smpmE | Rs=Rs | Rs=smpmData.Rs |
Lssigma=Lssigma | Lssigma=smpmData.Lssigma | |
Lmd=Lmd | Lmd=smpmData.Lmd | |
Lmq=Lmq | Lmq=smpmData.Lmq | |
Lrsigmad=Lrsigmad | Lrsigmad=smpmData.Lrsigmad | |
Lrsigmaq=Lrsigmaq | Lrsigmaq=smpmData.Lrsigmaq | |
Rrd=Rrd | Rrd=smpmData.Rrd | |
Rrq=Rrq | Rrq=smpmData.Rrq | |
p=p | p=smpmData.p | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = smpmData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = smpmData.alpha20r | |
| fsNominal=smpmData.fsNominal | |
| TsRef=smpmData.TsRef | |
| Lszero=smpmData.Lszero | |
| Jr=smpmData.Jr | |
| Js=smpmData.Js | |
| frictionParameters=smpmData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=smpmData.statorCoreParameters | |
| strayLoadParameters=smpmData.strayLoadParameters | |
| VsOpenCircuit=smpmData.VsOpenCircuit | |
| useDamperCage=smpmData.useDamperCage | |
| TrRef=smpmData.TrRef | |
| permanentMagnetLossParameters=smpmData.permanentMagnetLossParameters | |
| TsOperational=293.15 | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
rotorAngleM | p=p | p=smpmM.p |
rotorAngleE | p=p | p=smpmE.p |
torqueStepM | | offsetTorque=0 |
torqueStepE | | offsetTorque=0 |
p | Present | |
Rs | Present | |
Lssigma | Present | |
Lmd | Present | |
Lmq | Present | |
Lrsigmad | Present | |
Lrsigmaq | Present | |
Rrd | Present | |
Rrq | Present | |
smpmData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(signalVoltage.plug_n, star.plug_p); | initial equation |
smpmE.is[1:2] = zeros(2); smpmM.is[1:2] = zeros(2); equation  connect(signalVoltage.plug_n, star.plug_p); |
|
connect(star.pin_n, ground.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
smeeM | Rs=Rs | Rs=smeeData.Rs |
Lssigma=Lssigma | Lssigma=smeeData.Lssigma | |
Lmd=Lmd | Lmd=smeeData.Lmd | |
Lmq=Lmq | Lmq=smeeData.Lmq | |
Lrsigmad=Lrsigmad | Lrsigmad=smeeData.Lrsigmad | |
Lrsigmaq=Lrsigmaq | Lrsigmaq=smeeData.Lrsigmaq | |
Rrd=Rrd | Rrd=smeeData.Rrd | |
Rrq=Rrq | Rrq=smeeData.Rrq | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = smeeData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = smeeData.alpha20r | |
alpha20e(displayUnit="1/K") | alpha20e(displayUnit="1/K") = smeeData.alpha20e | |
| Jr=0.29 | |
| Js=0.29 | |
| p=2 | |
| fsNominal=smeeData.fsNominal | |
| TsRef=smeeData.TsRef | |
| useDamperCage=true | |
| TrRef=smeeData.TrRef | |
| VsNominal=smeeData.VsNominal | |
| IeOpenCircuit=smeeData.IeOpenCircuit | |
| Re=smeeData.Re | |
| TeRef=smeeData.TeRef | |
| sigmae=smeeData.sigmae | |
| statorCoreParameters(VRef=100) | |
| strayLoadParameters(IRef=100) | |
| brushParameters(ILinear=0.01) | |
| TsOperational=293.15 | |
| TrOperational=293.15 | |
| TeOperational=293.15 | |
| ir(fixed=true) | |
smeeE | Rs=Rs | Rs=smeeData.Rs |
Lssigma=Lssigma | Lssigma=smeeData.Lssigma | |
Lmd=Lmd | Lmd=smeeData.Lmd | |
Lmq=Lmq | Lmq=smeeData.Lmq | |
Lrsigmad=Lrsigmad | Lrsigmad=smeeData.Lrsigmad | |
Lrsigmaq=Lrsigmaq | Lrsigmaq=smeeData.Lrsigmaq | |
Rrd=Rrd | Rrd=smeeData.Rrd | |
Rrq=Rrq | Rrq=smeeData.Rrq | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = smeeData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = smeeData.alpha20r | |
alpha20e(displayUnit="1/K") | alpha20e(displayUnit="1/K") = smeeData.alpha20e | |
| p=2 | |
| fsNominal=smeeData.fsNominal | |
| TsRef=smeeData.TsRef | |
| Jr=0.29 | |
| Js=0.29 | |
| frictionParameters(PRef=0) | |
| statorCoreParameters(PRef=0, VRef=100) | |
| strayLoadParameters(PRef=0, IRef=100) | |
| useDamperCage=true | |
| VsNominal=smeeData.VsNominal | |
| IeOpenCircuit=smeeData.IeOpenCircuit | |
| Re=smeeData.Re | |
| TeRef=smeeData.TeRef | |
| sigmae=smeeData.sigmae | |
| brushParameters(V=0, ILinear=0.01) | |
| TrRef=smeeData.TrRef | |
| TsOperational=293.15 | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
| TeOperational=293.15 | |
smeeData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(rotorAngleE.plug_n,smeeE. plug_sn); | initial equation |
smeeE.is[1:2] = zeros(2); smeeM.is[1:2] = zeros(2); equation  connect(rotorAngleE.plug_n, smeeE.plug_sn); |
|
connect(rotorAngleE.plug_p,smeeE. plug_sp); ... |
Component |
Version 3.2 |
Version 3.2.1 |
currentRMSsensorM | Electrical.Machines.Sensors.CurrentQuasiRMSSensor | Electrical.MultiPhase.Sensors.CurrentQuasiRMSSensor |
smrM | p=p | p=smrData.p |
Rs=Rs | Rs=smrData.Rs | |
Lssigma=Lssigma | Lssigma=smrData.Lssigma | |
Lmd=Lmd | Lmd=smrData.Lmd | |
Lmq=Lmq | Lmq=smrData.Lmq | |
Lrsigmad=Lrsigmad | Lrsigmad=smrData.Lrsigmad | |
Lrsigmaq=Lrsigmaq | Lrsigmaq=smrData.Lrsigmaq | |
Rrd=Rrd | Rrd=smrData.Rrd | |
Rrq=Rrq | Rrq=smrData.Rrq | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = smrData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = smrData.alpha20r | |
| Jr=smrData.Jr | |
| Js=smrData.Js | |
| fsNominal=smrData.fsNominal | |
| TsRef=smrData.TsRef | |
| Lszero=smrData.Lszero | |
| frictionParameters=smrData.frictionParameters | |
| statorCoreParameters=smrData.statorCoreParameters | |
| strayLoadParameters=smrData.strayLoadParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| useDamperCage=smrData.useDamperCage | |
| TrRef=smrData.TrRef | |
| TsOperational=293.15 | |
| TrOperational=293.15 | |
| ir(fixed=true) | |
smrE | p=p | p=smrData.p |
Rs=Rs | Rs=smrData.Rs | |
Lssigma=Lssigma | Lssigma=smrData.Lssigma | |
Lmd=Lmd | Lmd=smrData.Lmd | |
Lmq=Lmq | Lmq=smrData.Lmq | |
Lrsigmad=Lrsigmad | Lrsigmad=smrData.Lrsigmad | |
Lrsigmaq=Lrsigmaq | Lrsigmaq=smrData.Lrsigmaq | |
Rrd=Rrd | Rrd=smrData.Rrd | |
Rrq=Rrq | Rrq=smrData.Rrq | |
alpha20s(displayUnit="1/K") | alpha20s(displayUnit="1/K") = smrData.alpha20s | |
alpha20r(displayUnit="1/K") | alpha20r(displayUnit="1/K") = smrData.alpha20r | |
| fsNominal=smrData.fsNominal | |
| TsRef=smrData.TsRef | |
| Lszero=smrData.Lszero | |
| Jr=smrData.Jr | |
| Js=smrData.Js | |
| frictionParameters=smrData.frictionParameters | |
| phiMechanical(fixed=true) | |
| wMechanical(fixed=true) | |
| statorCoreParameters=smrData.statorCoreParameters | |
| strayLoadParameters=smrData.strayLoadParameters | |
| useDamperCage=smrData.useDamperCage | |
| TrRef=smrData.TrRef | |
| TsOperational=293.15 | |
| ir(fixed=true) | |
| TrOperational=293.15 | |
rotorAngleM | p=p | p=smrM.p |
rotorAngleE | p=p | p=smrE.p |
torqueStepM | | offsetTorque=0 |
torqueStepE | | offsetTorque=0 |
p | Present | |
Rs | Present | |
Lssigma | Present | |
Lmd | Present | |
Lmq | Present | |
Lrsigmad | Present | |
Lrsigmaq | Present | |
Rrd | Present | |
Rrq | Present | |
smrData | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(signalVoltage.plug_n, star.plug_p); | initial equation |
smrE.is[1:2] = zeros(2); smrM.is[1:2] = zeros(2); equation  connect(signalVoltage.plug_n, star.plug_p); |
|
connect(star.pin_n, ground.p); ... |
Component |
Version 3.2 |
Version 3.2.1 |
v | Present | |
i | Present | |
V_m | Present | |
Phi | Present |
Component |
Version 3.2 |
Version 3.2.1 |
ir | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(airGap.port_rn, rotorCage.port_n); connect(airGap.port_rp, rotorCage.port_p); |
|
connect(rotorCage.heatPortWinding, internalThermalPort.heatPortRotorWinding); | |
connect(airGap.port_rn, rotorCage.port_p); connect(airGap.port_rp, rotorCage.port_n); |
Component |
Version 3.2 |
Version 3.2.1 |
plug_rn | final m=m | final m=mr |
plug_rp | final m=m | final m=mr |
rotor | final m=m | final m=mr |
mr | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(rotor.plug_n, plug_rn); | |
connect(airGap.port_rn, rotor.port_n); connect(airGap.port_rp, rotor.port_p); |
|
connect(rotor.heatPortCore, internalThermalPort.heatPortRotorCore); ... connect(plug_rp, rotor.plug_p); |
|
connect(airGap.port_rn, rotor.port_p); connect(airGap.port_rp, rotor.port_n); |
Component |
Version 3.2 |
Version 3.2.1 |
permanentMagnet | Magnetic.FundamentalWave.Sources.ConstantMagneticPotentialDifference | Magnetic.FundamentalWave.BasicMachines.Components.PermanentMagnet |
heatFlowSensorDamperCage | Present | |
TpmOperational | Present | |
permanentMagnetLossParameters | Present | |
ir | Present | |
damperCageLossPower | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(ir, rotorCage.i); connect(damperCageLossPower, rotorCage.lossPower); if not useDamperCage then damperCageLossPower=0; end if; |
|
connect(permanentMagnet.port_p, airGap.port_rn); | |
connect(permanentMagnet.port_n, short.port_n); | connect(permanentMagnet.support, airGap.support); |
connect(permanentMagnet.port_n, rotorCage.port_n); | connect(permanentMagnet.heatPort, internalThermalPort.heatPortPermanentMagnet); |
connect(short.port_p, airGap.port_rp); | connect(permanentMagnet.flange, inertiaRotor.flange_b); |
connect(rotorCage.port_p, airGap.port_rp); | connect(airGap.port_rp, rotorCage.port_n); |
connect(rotorCage.heatPortWinding, heatFlowSensorDamperCage.port_a); | connect(short.port_n, airGap.port_rp); |
connect(heatFlowSensorDamperCage.port_b, internalThermalPort.heatPortRotorWinding); | connect(short.port_p, permanentMagnet.port_n); |
connect(rotorCage.port_p, permanentMagnet.port_n); connect(rotorCage.heatPortWinding, internalThermalPort.heatPortRotorWinding); |
Component |
Version 3.2 |
Version 3.2.1 |
brush | | final useHeatPort=true |
heatFlowSensorDamperCage | Present | |
ir | Present | |
damperCageLossPower | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(short.port_n, rotorCage.port_n); | connect(ir, rotorCage.i); |
connect(excitation.port_n, short.port_n); | connect(damperCageLossPower, rotorCage.lossPower); |
connect(excitation.port_n, rotorCage.port_n); | if not useDamperCage then |
damperCageLossPower=0; end if; |
|
connect(pin_en, excitation.pin_n); | |
connect(airGap.port_rn, excitation.port_p); | |
connect(airGap.port_rp, short.port_p); connect(airGap.port_rp, rotorCage.port_p); |
|
connect(pin_ep, brush.p); ... connect(excitation.heatPortWinding, internalThermalPort.heatPortExcitation); |
|
connect(rotorCage.heatPortWinding, heatFlowSensorDamperCage.port_a); | connect(airGap.port_rp, rotorCage.port_n); |
connect(heatFlowSensorDamperCage.port_b, internalThermalPort.heatPortRotorWinding); | connect(short.port_n, airGap.port_rp); |
connect(rotorCage.port_p, excitation.port_n); connect(short.port_p, excitation.port_n); connect(rotorCage.heatPortWinding, internalThermalPort.heatPortRotorWinding); |
Component |
Version 3.2 |
Version 3.2.1 |
heatFlowSensorDamperCage | Present | |
ir | Present | |
damperCageLossPower | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(airGap.port_rn, short.port_n); | connect(ir, rotorCage.i); |
connect(airGap.port_rn, rotorCage.port_n); | connect(damperCageLossPower, rotorCage.lossPower); |
connect(airGap.port_rp, short.port_p); | if not useDamperCage then |
connect(airGap.port_rp, rotorCage.port_p); | damperCageLossPower=0; |
connect(rotorCage.heatPortWinding, heatFlowSensorDamperCage.port_a); | end if; |
connect(heatFlowSensorDamperCage.port_b, internalThermalPort.heatPortRotorWinding); | connect(rotorCage.port_n, airGap.port_rp); |
connect(short.port_n, airGap.port_rp); connect(rotorCage.port_p, airGap.port_rn); connect(short.port_p, airGap.port_rn); connect(rotorCage.heatPortWinding, internalThermalPort.heatPortRotorWinding); |
Component |
Version 3.2 |
Version 3.2.1 |
electroMagneticConverter | final orientation=Functions.symmetricOrientation(m) | final orientation=Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
core | final G=(m/2)*GcRef/effectiveTurns^2 | final G=(m/2)*GcRef*effectiveTurns^2 |
strayReluctance | final R_m(d=3*effectiveTurns^2/2/Lsigma, q=3*effectiveTurns^2/2/Lsigma) | final R_m(d=m*effectiveTurns^2/2/Lsigma, q=m*effectiveTurns^2/2/Lsigma) |
Component |
Version 3.2 |
Version 3.2.1 |
i | each start=0 | |
winding | final orientation={2*pi*(k - 1)/m for k in 1:m} | final orientation=Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m) |
Component |
Version 3.2 |
Version 3.2.1 |
i | Magnetic.FundamentalWave.Types.SalientCurrent | Blocks.Interfaces.RealOutput |
| sizes= 2 | |
lossPower | Present |
Component |
Version 3.2 |
Version 3.2.1 |
m | constant | parameter |
| min=3 | |
frictionParameters | wRef(start=2*pi*fsNominal/p) | |
| wRef=2*pi*fsNominal/p | |
statorCoreParameters | wRef(start=2*pi*fsNominal/p) | |
| wRef=2*pi*fsNominal/p | |
strayLoadParameters | wRef(start=2*pi*fsNominal/p) | |
| wRef=2*pi*fsNominal/p | |
phiMechanical | | start=0 |
wMechanical | | start=0 |
powerBalance | final powerStator=Modelica_3_2.Electrical.Machines.SpacePhasors.Functions.activePower(vs, is) | final powerStator=Modelica.Electrical.MultiPhase.Functions.activePower(vs, is) |
final lossPowerStatorWinding=-sum(stator.heatPortWinding.Q_flow) | final lossPowerStatorWinding=sum(stator.resistor.resistor.LossPower) | |
final lossPowerStatorCore=-stator.heatPortCore.Q_flow | final lossPowerStatorCore=stator.core.lossPower | |
final lossPowerStrayLoad=-strayLoad.heatPort.Q_flow | final lossPowerStrayLoad=strayLoad.lossPower | |
final lossPowerFriction=-friction.heatPort.Q_flow | final lossPowerFriction=friction.lossPower | |
thermalAmbient | | final m=m |
thermalPort | | final m=m |
strayLoad | | final useHeatPort=true |
| final m=m | |
friction | | final useHeatPort=true |
internalThermalPort | | final m=m |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(stator.plug_n, plug_sn); | initial algorithm |
assert(not Modelica.Math.isPowerOf2(m), String(m) + " phases are currently not supported in this version of FundametalWave"); equation  connect(stator.plug_n, plug_sn); |
|
connect(thermalPort,internalThermalPort); ... |
Component |
Version 3.2 |
Version 3.2.1 |
d | | replaceable |
q | | replaceable |
Component |
Version 3.2 |
Version 3.2.1 |
ndim_pointGravity | =if enableAnimation and animateGravity and gravityType == 2 then 1 else 0 | =if enableAnimation and animateGravity and gravityType == GravityTypes.UniformGravity then 1 else 0 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Connections.root(frame_b.R); | |
assert(Modelica_3_2.Math.Vectors.length(n) > 1.e-10, "Parameter n of World object is wrong (length(n) > 0 required)"); |
assert(Modelica.Math.Vectors.length( n) > 1.e-10, "Parameter n of World object is wrong (length(n) > 0 required)"); |
frame_b.r_0 = zeros(3); ... |
Component |
Version 3.2 |
Version 3.2.1 |
body | r_0(start={0.2,-0.5,0.1}, fixed=true) | r_0(start={0.2,-0.5,0.1}, each fixed=true) |
v_0(fixed=true) | | |
| v_0(each fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
spring | c(fixed=false) = 100 | c(fixed=false, start=100) |
Component |
Version 3.2 |
Version 3.2.1 |
body1 | r_0(start={0,0.6,0}, fixed=true) | r_0(start={0,0.6,0}, each fixed=true) |
v_0(start={1,0,0}, fixed=true) | v_0(start={1,0,0}, each fixed=true) | |
body2 | r_0(start={0.6,0.6,0}, fixed=true) | r_0(start={0.6,0.6,0}, each fixed=true) |
v_0(start={0.6,0,0}, fixed=true) | v_0(start={0.6,0,0}, each fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
body1 | r_0(start={0,0.6,0}, fixed=true) | r_0(start={0,0.6,0}, each fixed=true) |
v_0(start={1,0,0}, fixed=true) | v_0(start={1,0,0}, each fixed=true) | |
body2 | r_0(start={0.6,0.6,0}, fixed=true) | r_0(start={0.6,0.6,0}, each fixed=true) |
v_0(start={0.6,0,0}, fixed=true) | v_0(start={0.6,0,0}, each fixed=true) | |
body3 | r_0(start={0,0.8,0}, fixed=true) | r_0(start={0,0.8,0}, each fixed=true) |
v_0(start={0.6,0,0}, fixed=true) | v_0(start={0.6,0,0}, each fixed=true) | |
body4 | r_0(start={0.3,0.8,0}, fixed=true) | r_0(start={0.3,0.8,0}, each fixed=true) |
v_0(start={0.6,0,0}, fixed=true) | v_0(start={0.6,0,0}, each fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
pointMass1 | r_0(start={3,0,0}, fixed=true) | r_0(start={3,0,0}, each fixed=true) |
v_0(start={0,0,-1}, fixed=true) | v_0(start={0,0,-1}, each fixed=true) | |
pointMass3 | r_0(start={2,1,0}, fixed=true) | r_0(start={2,1,0}, each fixed=true) |
v_0(start={0,0,-1}, fixed=true) | v_0(start={0,0,-1}, each fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
body1 | r_0(start={0.3,-0.2,0}, fixed=true) | r_0(start={0.3,-0.2,0}, each fixed=true) |
v_0(fixed=true) | | |
w_0_start(displayUnit="deg/s") = {0,0,0.03490658503988659} | | |
| v_0(each fixed=true) | |
| w_0_start(each displayUnit="deg/s") = {0,0,0.03490658503988659} |
Component |
Version 3.2 |
Version 3.2.1 |
body | r_0(start={0,-0.3,0}, fixed=true) | r_0(start={0,-0.3,0}, each fixed=true) |
v_0(fixed=true) | | |
| v_0(each fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
body1 | r_0(start={0.5,-0.3,0}, fixed=true) | r_0(start={0.5,-0.3,0}, each fixed=true) |
v_0(fixed=true) | | |
| v_0(each fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
body1 | r_0(start={0.3,-0.2,0}, fixed=true) | r_0(start={0.3,-0.2,0}, each fixed=true) |
v_0(fixed=true) | | |
w_0_start(displayUnit="deg/s") = {0,0,0.034906585039887} | | |
| v_0(each fixed=true) | |
| w_0_start(each displayUnit="deg/s") = {0,0,0.034906585039887} | |
body2 | r_0(start={0.6,-0.2,0}, fixed=true) | r_0(start={0.6,-0.2,0}, each fixed=true) |
v_0(fixed=true) | | |
w_0_start(displayUnit="deg/s") = {0,0,0.034906585039887} | | |
| v_0(each fixed=true) | |
| w_0_start(each displayUnit="deg/s") = {0,0,0.034906585039887} | |
body3 | r_0(start={0.9,-0.2,0}, fixed=true) | r_0(start={0.9,-0.2,0}, each fixed=true) |
v_0(fixed=true) | | |
w_0_start(displayUnit="deg/s") = {0,0,0.034906585039887} | | |
| v_0(each fixed=true) | |
| w_0_start(each displayUnit="deg/s") = {0,0,0.034906585039887} |
Component |
Version 3.2 |
Version 3.2.1 |
world | redeclare
function gravityAcceleration =
Modelica.Mechanics.MultiBody.Examples.Elementary.Utilities.theoreticalNormalGravityWGS84
(mue=1, phi=geodeticLatitude) | redeclare
function gravityAcceleration =
Modelica.Mechanics.MultiBody.Examples.Elementary.Utilities.theoreticalNormalGravityWGS84
(mue=1, phi=geodeticLatitude) |
Component |
Version 3.2 |
Version 3.2.1 |
surface | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Examples.Elementary.Utilities.sineSurface
(x_min=x_min, x_max=x_max, y_min=y_min, y_max=y_max, z_min=z_min,
z_max=z_max, wz=wz) | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Examples.Elementary.Utilities.sineSurface
(x_min=x_min, x_max=x_max, y_min=y_min, y_max=y_max, z_min=z_min,
z_max=z_max, wz=wz) |
Component |
Version 3.2 |
Version 3.2.1 |
engine | redeclare model Cylinder = Modelica.Mechanics.MultiBody.Examples.Loops.Utilities.Cylinder_analytic_CAD | redeclare model Cylinder = Modelica.Mechanics.MultiBody.Examples.Loops.Utilities.Cylinder_analytic_CAD |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... press*V = k*T; |
|
assert(s_rel >= -1.e-12, "flange_b.s - flange_a.s (= " + String(s_rel) + ") >= 0 required for GasForce component.\n" + "Most likely, the component has to be flipped."); |
assert(s_rel >= -1.e-12, "flange_b.s - flange_a.s (= " + String(s_rel, significantDigits=14) + ") >= 0 required for GasForce component.\n" + "Most likely, the component has to be flipped."); |
assert(s_rel <= L + 1.e-12, " flange_b.s - flange_a.s (= " + String(s_rel) + " <= L (" + String(L) + ") required for GasForce component.\n" + "Most likely, parameter L is not correct."); |
assert(s_rel <= L + 1.e-12, " flange_b.s - flange_a.s (= " + String(s_rel, significantDigits=14) + ") <= L (= " + String(L, significantDigits=14) + ") required for GasForce component.\n" + "Most likely, parameter L is not correct."); |
Component |
Version 3.2 |
Version 3.2.1 |
Rod | shapeType="2" | shapeType="modelica://Modelica/Resources/Data/Shapes/Engine/rod.dxf" |
Piston | shapeType="3" | shapeType="modelica://Modelica/Resources/Data/Shapes/Engine/piston.dxf" |
Component |
Version 3.2 |
Version 3.2.1 |
CrankShape | shapeType="modelica://Modelica/Resources/Data/CAD/EngineV6/1.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/Engine/crank.dxf" |
Component |
Version 3.2 |
Version 3.2.1 |
crank | | r={0,0,0} |
Component |
Version 3.2 |
Version 3.2.1 |
position1 | | w(fixed=true) |
position2 | | w(fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
gearConstraint | | phi_b(fixed=true) |
| w_b(fixed=true) | |
inertia1 | phi(fixed=true) | phi(fixed=true, start=0) |
w(fixed=true) | w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
angleBegDeg | unit="deg" | |
| each unit="deg" | |
angleEndDeg | unit="deg" | |
| each unit="deg" |
Component |
Version 3.2 |
Version 3.2.1 |
convert1 | k=1 | |
| k(unit="V/A") = 1 | |
convert2 | k=1 | |
| k(unit="V/A") = 1 |
Component |
Version 3.2 |
Version 3.2.1 |
b0 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/0.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b0.dxf" |
b1 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/1.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b1.dxf" |
b2 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/2.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b2.dxf" |
b3 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/3.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b3.dxf" |
b4 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/4.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b4.dxf" |
b5 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/5.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b5.dxf" |
b6 | shapeType="modelica://Modelica/Resources/Data/CAD/RobotR3/6.dxf" | shapeType="modelica://Modelica/Resources/Data/Shapes/RobotR3/b6.dxf" |
load | lengthDirection=rLoad | lengthDirection=to_unit1(rLoad) |
| r={0,0,0} |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... qdd = der(qd); |
|
tau = {r1.axis.tau,r2.axis.tau,r3.axis.tau,r4.axis.tau,r5.axis.tau,r6. axis.tau}; |
tau = {r1.tau, r2.tau, r3.tau, r4.tau, r5.tau, r6.tau}; |
connect(load.frame_a, b6.frame_b); ... |
Component |
Version 3.2 |
Version 3.2.1 |
connectionLine | leng |