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 (default 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 | lengthDirection=basicForce.r_0 | lengthDirection=to_unit1(basicForce.r_0) |
Component |
Version 3.2 |
Version 3.2.1 |
connectionLine | lengthDirection=basicTorque.r_0 | lengthDirection=to_unit1(basicTorque.r_0) |
Component |
Version 3.2 |
Version 3.2.1 |
connectionLine | lengthDirection=basicForce.r_0 | lengthDirection=to_unit1(basicForce.r_0) |
Component |
Version 3.2 |
Version 3.2.1 |
r_CM_0 | stateSelect=StateSelect.avoid | |
| each stateSelect=StateSelect.avoid | |
v_CM_0 | stateSelect=StateSelect.avoid | |
| each stateSelect=StateSelect.avoid |
Equations in Version 3.2 | Equations in Version 3.2.1 |
|
|
r_rel_0 = frame_b.r_0 - frame_a.r_0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
r_CM1_0 | stateSelect=StateSelect.avoid | |
| each stateSelect=StateSelect.avoid | |
r_CM2_0 | stateSelect=StateSelect.avoid | |
| each stateSelect=StateSelect.avoid | |
v_CM1_0 | stateSelect=StateSelect.avoid | |
| each stateSelect=StateSelect.avoid | |
v_CM2_0 | stateSelect=StateSelect.avoid | |
| each stateSelect=StateSelect.avoid |
Equations in Version 3.2 | Equations in Version 3.2.1 |
|
|
r_rel_0 = frame_b.r_0 - frame_a.r_0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
dummy | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... y := if u1 > u2 then u1 else u2; |
|
dummy = 0; |
|
|
Component |
Version 3.2 |
Version 3.2.1 |
dummy | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... y_d := if u1 > u2 then u1_d else u2_d; |
|
dummy = 0; |
|
|
Component |
Version 3.2 |
Version 3.2.1 |
e | =Modelica_3_2.Math.Vectors.normalize(n, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n) |
Component |
Version 3.2 |
Version 3.2.1 |
e | =Modelica_3_2.Math.Vectors.normalize(n, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n) |
Component |
Version 3.2 |
Version 3.2.1 |
e | =Modelica_3_2.Math.Vectors.normalize(n, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n) |
ey_a | =Modelica_3_2.Math.Vectors.normalize(cross(e, nnx_a), 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(cross(e, nnx_a)) |
Component |
Version 3.2 |
Version 3.2.1 |
r_rel_a_1 | SIunits.Position | Blocks.Interfaces.RealOutput |
r_rel_a_2 | SIunits.Position | Blocks.Interfaces.RealOutput |
r_rel_a_3 | SIunits.Position | Blocks.Interfaces.RealOutput |
v_rel_a_1 | SIunits.Velocity | Blocks.Interfaces.RealOutput |
v_rel_a_2 | SIunits.Velocity | Blocks.Interfaces.RealOutput |
v_rel_a_3 | SIunits.Velocity | Blocks.Interfaces.RealOutput |
a_rel_a_1 | SIunits.Acceleration | Blocks.Interfaces.RealOutput |
a_rel_a_2 | SIunits.Acceleration | Blocks.Interfaces.RealOutput |
a_rel_a_3 | SIunits.Acceleration | Blocks.Interfaces.RealOutput |
angle_1 | SIunits.Angle | Blocks.Interfaces.RealOutput |
angle_2 | SIunits.Angle | Blocks.Interfaces.RealOutput |
angle_3 | SIunits.Angle | Blocks.Interfaces.RealOutput |
angle_d_1 | SIunits.AngularVelocity | Blocks.Interfaces.RealOutput |
angle_d_2 | SIunits.AngularVelocity | Blocks.Interfaces.RealOutput |
angle_d_3 | SIunits.AngularVelocity | Blocks.Interfaces.RealOutput |
angle_dd_1 | SIunits.AngularAcceleration | Blocks.Interfaces.RealOutput |
angle_dd_2 | SIunits.AngularAcceleration | Blocks.Interfaces.RealOutput |
angle_dd_3 | SIunits.AngularAcceleration | Blocks.Interfaces.RealOutput |
w_rel_b_1 | SIunits.AngularVelocity | Blocks.Interfaces.RealOutput |
w_rel_b_2 | SIunits.AngularVelocity | Blocks.Interfaces.RealOutput |
w_rel_b_3 | SIunits.AngularVelocity | Blocks.Interfaces.RealOutput |
z_rel_b_1 | SIunits.AngularAcceleration | Blocks.Interfaces.RealOutput |
z_rel_b_2 | SIunits.AngularAcceleration | Blocks.Interfaces.RealOutput |
z_rel_b_3 | SIunits.AngularAcceleration | Blocks.Interfaces.RealOutput |
arrow | Mechanics.MultiBody.Visualizers.Advanced.Arrow | Mechanics.MultiBody.Visualizers.SignalArrow |
| graphical | |
model_r | Present | |
model_w | Present | |
R_rel | Present | |
R_rel_inv | Present | |
initPosition | Present | |
initAngle | Present | |
initAngularVelocity | Present | |
derv | Present | |
dera | Present | |
derd | Present | |
derdd | Present | |
derz | Present | |
zeroForceAndTorque1 | Present | |
zeroForceAndTorque2 | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
if use_angle then | connect(initPosition.r_rel_a[1], r_rel_a_1); |
Connections.branch(frame_a.R, frame_b.R); | connect(initPosition.r_rel_a[2], r_rel_a_2); |
R_rel = Frames.axesRotations(sequence_start, {angle_1, angle_2, angle_3}, {der(angle_1), der(angle_2), der(angle_3)}); |
connect(initPosition.r_rel_a[3], r_rel_a_3); |
if rooted(frame_a.R) then | connect(derv[1].y, v_rel_a_1); |
R_rel_inv = Frames.nullRotation(); | connect(derv[2].y, v_rel_a_2); |
frame_b.R = Frames.absoluteRotation(frame_a.R, R_rel); | connect(derv[3].y, v_rel_a_3); |
else | connect(dera[1].y, a_rel_a_1); |
R_rel_inv = Frames.inverseRotation(R_rel); | connect(dera[2].y, a_rel_a_2); |
frame_a.R = Frames.absoluteRotation(frame_b.R, R_rel_inv); | connect(dera[3].y, a_rel_a_3); |
end if; | connect(initAngle.angle[1], angle_1); |
else | connect(initAngle.angle[2], angle_2); |
R_rel = Frames.nullRotation(); | connect(initAngle.angle[3], angle_3); |
R_rel_inv = Frames.nullRotation(); | connect(derd[1].y, angle_d_1); |
angle_1 = 0; | connect(derd[2].y, angle_d_2); |
angle_2 = 0; | connect(derd[3].y, angle_d_3); |
angle_3 = 0; | connect(derdd[1].y, angle_dd_1); |
end if; | connect(derdd[2].y, angle_dd_2); |
frame_a.f = zeros(3); | connect(derdd[3].y, angle_dd_3); |
frame_a.t = zeros(3); | connect(initAngularVelocity.w_rel_b[1], w_rel_b_1); |
frame_b.f = zeros(3); | connect(initAngularVelocity.w_rel_b[2], w_rel_b_2); |
frame_b.t = zeros(3); | connect(initAngularVelocity.w_rel_b[3], w_rel_b_3); |
connect(derz[1].y, z_rel_b_1); connect(derz[2].y, z_rel_b_2); connect(derz[3].y, z_rel_b_3); connect(initPosition.r_rel_a, derv.u); connect(derv.y, dera.u); connect(initAngle.frame_a, frame_a); connect(initAngle.frame_b, frame_b); connect(initAngle.angle, derd.u); connect(derd.y, derdd.u); connect(zeroForceAndTorque1.frame_a, frame_a); connect(zeroForceAndTorque2.frame_a, frame_b); connect(initAngularVelocity.w_rel_b, derz.u); connect(frame_a, arrow.frame_a); connect(initPosition.r_rel_a, arrow.r_head); |
Component |
Version 3.2 |
Version 3.2.1 |
rodLength | fixed=not computeRodLength | fixed=false |
=Modelica_3_2.Math.Vectors.length(rRod_ia) | | |
| start=Modelica.Math.Vectors.length(rRod_ia) | |
eRod_ia | =Modelica_3_2.Math.Vectors.normalize(rRod_ia, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(rRod_ia) |
length2_n2_a | unit="m2" | unit="1" |
length_n2_a | SIunits.Length | Real |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Connections.branch(frame_a.R, frame_ia.R); | initial equation |
if not computeRodLength then rodLength = Modelica.Math.Vectors.length(rRod_ia); end if; equation  Connections.branch(frame_a.R, frame_ia.R); |
|
if kinematicConstraint then ... length2_n2_a = n2_a*n2_a; |
|
|
|
length_n2_a = sqrt(length2_n2_a); ... |
Component |
Version 3.2 |
Version 3.2.1 |
stateSelect | Present | |
phi_b | Present | |
w_b | Present | |
a_b | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
assert(cardinality(bearing) > 0, "Connector bearing of component is not connected"); |
|
phi_b = actuatedRevolute_b.phi; w_b = der(phi_b); a_b = der(w_b); |
|
connect(actuatedRevolute_a.axis, idealGear.flange_a); ... |
Component |
Version 3.2 |
Version 3.2.1 |
eAxis_ia | =Modelica_3_2.Math.Vectors.normalize(nAxis_ia, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(nAxis_ia) |
e2_ia | =Modelica_3_2.Math.Vectors.normalize(cross(n1_a, eAxis_ia), 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(cross(n1_a, eAxis_ia)) |
length2_n2_a | unit="m2" | unit="1" |
length_n2_a | SIunits.Length | Real |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... length2_n2_a = n2_a*n2_a; |
|
|
|
length_n2_a = sqrt(length2_n2_a); ... |
Component |
Version 3.2 |
Version 3.2.1 |
n_b | fixed=false | |
={0,0,1} | | |
| each fixed=false | |
| start={0,0,1} | |
e_a | =Modelica_3_2.Math.Vectors.normalize(n_a, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n_a) |
shape_rod1 | lengthDirection=rRod1_ia | lengthDirection=to_unit1(rRod1_ia) |
shape_rod2 | lengthDirection=rRod2_ib | lengthDirection=to_unit1(rRod2_ib) |
Component |
Version 3.2 |
Version 3.2.1 |
e_a | =Modelica_3_2.Math.Vectors.normalize(n_a, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n_a) |
shape_rod1 | lengthDirection=rRod1_ia | lengthDirection=to_unit1(rRod1_ia) |
shape_rod2 | lengthDirection=rRod2_ib | lengthDirection=to_unit1(rRod2_ib) |
Component |
Version 3.2 |
Version 3.2.1 |
position_a | each final quantity="Position" | each final quantity="Length" |
position_b | each final quantity="Position" | each final quantity="Length" |
e | =Modelica_3_2.Math.Vectors.normalize(n, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... k1a = k1 - C*C; |
|
|
|
k1b = Frames.Internal.maxWithoutEvent(k1a, 1.0e-12); ... |
Component |
Version 3.2 |
Version 3.2.1 |
position_a | | each final quantity="Length" |
| each final unit="m" | |
position_b | | each final quantity="Length" |
| each final unit="m" | |
e | =Modelica_3_2.Math.Vectors.normalize(n, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... k1a = k1*k1 - C; |
|
|
|
k1b = Frames.Internal.maxWithoutEvent(k1a, 1.0e-12); ... |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | SIunits.Position | Mechanics.MultiBody.Types.Axis |
sizes= 3 | ||
widthDirection | SIunits.Position | Mechanics.MultiBody.Types.Axis |
sizes= 3 |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | =r - r_shape | =to_unit1(r - r_shape) |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | =r - r_shape | =to_unit1(r - r_shape) |
R_rel | =if
rotationType == 1 then
Frames.planarRotation(Modelica_3_2.Math.Vectors.normalize(n, 0.0),
Cv.from_deg(angle), 0) else if rotationType == 2 then
Frames.from_nxy(n_x, n_y) else Frames.axesRotations(sequence,
Cv.from_deg(angles), zeros(3)) | =if
rotationType == Types.RotationTypes.RotationAxis then
Frames.planarRotation(Modelica.Math.Vectors.normalizeWithAssert(n),
Cv.from_deg(angle), 0) else if rotationType ==
Types.RotationTypes.TwoAxesVectors then Frames.from_nxy(n_x, n_y) else
Frames.axesRotations(sequence, Cv.from_deg(angles), zeros(3)) |
Component |
Version 3.2 |
Version 3.2.1 |
cylinder | lengthDirection=r_CM | lengthDirection=to_unit1(r_CM) |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | =r - r_shape | =to_unit1(r - r_shape) |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | =r - r_shape | =to_unit1(r - r_shape) |
r_CM | =r_shape + Modelica_3_2.Math.Vectors.normalize(lengthDirection)*length/2 | =r_shape + normalizeWithAssert(lengthDirection)*length/2 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... a_0 = der(v_0); |
|
assert(innerWidth <= width, "parameter innerWidth is greater as parameter width"); |
assert(innerWidth <= width, "parameter innerWidth is greater than parameter width"); |
assert(innerHeight <= height, "parameter innerHeight is greater as paraemter height"); |
assert(innerHeight <= height, "parameter innerHeight is greater than parameter height"); |
connect(frameTranslation.frame_a, frame_a); ... |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | =r - r_shape | =to_unit1(r - r_shape) |
r_CM | =r_shape + Modelica_3_2.Math.Vectors.normalize(lengthDirection)*length/2 | =r_shape + normalizeWithAssert(lengthDirection)*length/2 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... a_0 = der(v_0); |
|
assert(innerDiameter < diameter, "parameter innerDiameter is greater as parameter diameter."); |
assert(innerDiameter < diameter, "parameter innerDiameter is greater than parameter diameter"); |
connect(frameTranslation.frame_a, frame_a); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if Connections.isRoot(frame_a.R) then |
|
assert(cardinality(frame_a)==0, " A Modelica.Mechanics.MultiBody.Parts.PointMass model is connected in a way, so that no equations are present to compute frame_a.R (the orientation object in the connector). Setting frame_a.R to an arbitrary value in the PointMass model, might lead to a wrong overall model, depending on how the PointMass model is used. You can avoid this message, by providing equations that compute the orientation object, e.g., by using the Modelica.Mechanics.MultiBody.Joints.FreeMotion joint. If a PointMass model is not connected at all, the orientation object is set to a unit rotation. But this is the only case where this is done. "); |
assert(cardinality(frame_a) == 0, " A Modelica.Mechanics.MultiBody.Parts.PointMass model is connected in a way, so that no equations are present to compute frame_a.R (the orientation object in the connector). Setting frame_a.R to an arbitrary value in the PointMass model, might lead to a wrong overall model, depending on how the PointMass model is used. You can avoid this message, by providing equations that compute the orientation object, e.g., by using the Modelica.Mechanics.MultiBody.Joints.FreeMotion joint. If a PointMass model is not connected at all, the orientation object is set to a unit rotation. But this is the only case where this is done. "); |
frame_a.R = Frames.nullRotation(); ... |
Component |
Version 3.2 |
Version 3.2.1 |
e | =Modelica_3_2.Math.Vectors.normalize(n, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n) |
inertia | | stateSelect=StateSelect.never |
rotorWith3DEffects | | stateSelect=StateSelect.never |
Component |
Version 3.2 |
Version 3.2.1 |
e_a | =Modelica_3_2.Math.Vectors.normalize(n_a, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n_a) |
e_b | =Modelica_3_2.Math.Vectors.normalize(n_b, 0.0) | =Modelica.Math.Vectors.normalizeWithAssert(n_b) |
Component |
Version 3.2 |
Version 3.2.1 |
angles | fixed=true | |
| each fixed=true | |
der_angles | fixed=true | |
| each fixed=true |
Component |
Version 3.2 |
Version 3.2.1 |
r | each final quantity="Position" | each final quantity="Length" |
angles | each final quantity="Angles" | each final quantity="Angle" |
transformVector_a | Mechanics.MultiBody.Sensors.TansformAbsoluteVector | Mechanics.MultiBody.Sensors.TransformAbsoluteVector |
transformVector_z | Mechanics.MultiBody.Sensors.TansformAbsoluteVector | Mechanics.MultiBody.Sensors.TransformAbsoluteVector |
Component |
Version 3.2 |
Version 3.2.1 |
r_rel | each final quantity="Position" | each final quantity="Length" |
angles | each final quantity="Angles" | each final quantity="Angle" |
transformVector_v_rel | Mechanics.MultiBody.Sensors.TansformRelativeVector | Mechanics.MultiBody.Sensors.TransformRelativeVector |
transformVector_a_rel | Mechanics.MultiBody.Sensors.TansformRelativeVector | Mechanics.MultiBody.Sensors.TransformRelativeVector |
transformVector_z_rel | Mechanics.MultiBody.Sensors.TansformRelativeVector | Mechanics.MultiBody.Sensors.TransformRelativeVector |
Component |
Version 3.2 |
Version 3.2.1 |
r | each final quantity="Position" | each final quantity="Length" |
Component |
Version 3.2 |
Version 3.2.1 |
tansformAbsoluteVector | Mechanics.MultiBody.Sensors.TansformAbsoluteVector | Mechanics.MultiBody.Sensors.TransformAbsoluteVector |
Component |
Version 3.2 |
Version 3.2.1 |
angles | each final quantity="Angles" | each final quantity="Angle" |
Component |
Version 3.2 |
Version 3.2.1 |
w | each final unit="1/s" | each final unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
tansformRelativeVector | Mechanics.MultiBody.Sensors.TansformRelativeVector | Mechanics.MultiBody.Sensors.TransformRelativeVector |
Component |
Version 3.2 |
Version 3.2.1 |
angles | each final quantity="Angles" | each final quantity="Angle" |
displayUnit="deg" | | |
| each displayUnit="deg" |
Component |
Version 3.2 |
Version 3.2.1 |
w_rel | each final unit="1/s" | each final unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
force | final quantity="Force" | |
final unit="N" | | |
| each final quantity="Force" | |
| each final unit="N" |
Component |
Version 3.2 |
Version 3.2.1 |
force | final quantity="Force" | |
final unit="N" | | |
| each final quantity="Force" | |
| each final unit="N" |
Component |
Version 3.2 |
Version 3.2.1 |
frame_a | Present | |
frame_resolve | Present | |
r_in | Present | |
r_out | Present | |
frame_r_in | Present | |
frame_r_out | Present | |
basicTransformVector | Present | |
zeroPosition | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(basicTransformVector.frame_a, frame_a); connect(basicTransformVector.frame_resolve, frame_resolve); connect(zeroPosition.frame_resolve, basicTransformVector.frame_resolve); connect(basicTransformVector.r_out, r_out); connect(basicTransformVector.r_in, r_in); |
Component |
Version 3.2 |
Version 3.2.1 |
frame_resolve | Present | |
r_in | Present | |
r_out | Present | |
frame_r_in | Present | |
frame_r_out | Present | |
basicTransformVector | Present | |
zeroPosition | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(basicTransformVector.frame_a, frame_a); connect(basicTransformVector.frame_b, frame_b); connect(basicTransformVector.frame_resolve, frame_resolve); connect(zeroPosition.frame_resolve, basicTransformVector.frame_resolve); connect(basicTransformVector.r_out, r_out); connect(basicTransformVector.r_in, r_in); |
Component |
Version 3.2 |
Version 3.2.1 |
r | each final quantity="Position" | each final quantity="Length" |
Component |
Version 3.2 |
Version 3.2.1 |
w | final quantity="AngularVelocity" | |
final unit="rad/s" | | |
| each final quantity="AngularVelocity" | |
| each final unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
r_rel | each final quantity="Position" | each final quantity="Length" |
Component |
Version 3.2 |
Version 3.2.1 |
w_rel | final quantity="AngularVelocity" | |
final unit="rad/s" | | |
| each final quantity="AngularVelocity" | |
| each final unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
force | final quantity="Force" | |
final unit="N" | | |
| each final quantity="Force" | |
| each final unit="N" |
Component |
Version 3.2 |
Version 3.2.1 |
torque | final quantity="Torque" | |
final unit="N.m" | | |
| each final quantity="Torque" | |
| each final unit="N.m" |
Component |
Version 3.2 |
Version 3.2.1 |
lengthDirection | =r - r_shape | =to_unit1(r - r_shape) |
Component |
Version 3.2 |
Version 3.2.1 |
r_head | each final quantity="Position" | each final quantity="Length" |
Component |
Version 3.2 |
Version 3.2.1 |
surface | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.torus
(ri=ri, ro=ro, opening=opening, startAngle=startAngle,
stopAngle=stopAngle) | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.torus
(ri=ri, ro=ro, opening=opening, startAngle=startAngle,
stopAngle=stopAngle) |
Component |
Version 3.2 |
Version 3.2.1 |
torus | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.torus
(ri=ri, ro=rCurvature2, opening=Modelica_3_2.Constants.pi -
Modelica_3_2.Math.asin(rw/rCurvature2)) | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.torus
(ri=ri, ro=rCurvature2, opening=Modelica.Constants.pi -
Modelica.Math.asin(rw/rCurvature2)) |
Component |
Version 3.2 |
Version 3.2.1 |
xsi | min=0 | |
max=1 | | |
| each min=0 | |
| each max=1 |
Component |
Version 3.2 |
Version 3.2.1 |
v1 | =if d >= 0.5 then {1} else if d >= 0.25 then 1 - d:d:1 else 0.5 + d:d:1 | ={1 - (b - i)*d for i in 1:b} |
v4 | =1 - d:-d:0.5 | ={0.5 + (c - i)*d for i in 1:c} |
b | Present | |
c | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
color :=colorMap[integer((size(colorMap, 1) - 1)/(T_max - T_min)* min((max(T,T_min) - T_min), T_max) + 1), :]; |
color := colorMap[1 + integer((size(colorMap,1)-1)*(max(T_min,min(T,T_max))-T_min) / (T_max-T_min)), :]; |
|
Component |
Version 3.2 |
Version 3.2.1 |
arrowLine | length=noEvent(max(0, length - diameter*Types.Defaults.ArrowHeadLengthFraction)) | length=arrowLength |
lengthDirection=r_head | lengthDirection=to_unit1(r_head) | |
arrowHead | lengthDirection=r_head | lengthDirection=to_unit1(r_head) |
r=rvisobj + rxvisobj*arrowLine.length | r=rvisobj + rxvisobj*arrowLength | |
arrowLength | Present |
Component |
Version 3.2 |
Version 3.2.1 |
arrowLine | length=noEvent(max(0, length - 1.5*diameter*MultiBody.Types.Defaults.ArrowHeadLengthFraction)) | length=arrowLength |
lengthDirection=r_head | lengthDirection=to_unit1(r_head) | |
arrowHead1 | lengthDirection=r_head | lengthDirection=to_unit1(r_head) |
r=rvisobj + rxvisobj*arrowLine.length | r=rvisobj + rxvisobj*arrowLength | |
arrowHead2 | lengthDirection=r_head | lengthDirection=to_unit1(r_head) |
r=rvisobj + rxvisobj*(arrowLine.length + 0.5*arrowHead1.length) | r=rvisobj + rxvisobj*(arrowLength + 0.5*headLength) | |
arrowLength | Present |
Component |
Version 3.2 |
Version 3.2.1 |
xsi | min=0 | |
max=1 | | |
| each min=0 | |
| each max=1 | |
surface | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.pipeWithScalarField
(rOuter=rOuter, length=length, xsi=xsi, T=T, T_min=T_min, T_max=T_max,
colorMap=colorMapData) | redeclare
function surfaceCharacteristic =
Modelica.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.pipeWithScalarField
(rOuter=rOuter, length=length, xsi=xsi, T=T, T_min=T_min, T_max=T_max,
colorMap=colorMapData) |
Component |
Version 3.2 |
Version 3.2.1 |
inertia2 | w(fixed=true) | w(fixed=true, start=0) |
inertia3 | w(fixed=true) | w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
inertia2 | w(fixed=true) | w(fixed=true, start=0) |
inertia3 | w(fixed=true) | w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
J2 | w(fixed=true) | w(fixed=true, start=0) |
J3 | w(fixed=true) | w(fixed=true, start=0) |
J4 | w(fixed=true) | w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
Inertia2 | w(fixed=true) | w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
Inertia2 | w(fixed=true) | w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
shaft | w(fixed=true) | w(fixed=true, start=0) |
load | w(fixed=true) | w(fixed=true, start=0) |
multiSensor | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(idealGear.support, housing.flange_b); |
|
connect(housing.flange_a, springDamper.flange_b); |
|
connect(ramp.y, torque.tau); | |
connect(fixed.flange, torque.support); | |
connect(housing.flange_a, multiSensor.flange_b); connect(multiSensor.flange_a, springDamper.flange_b); |
Component |
Version 3.2 |
Version 3.2.1 |
inertia | | phi(fixed=true, start=0) |
| w(fixed=true, start=0) |
Component |
Version 3.2 |
Version 3.2.1 |
load | | phi(fixed=true, start=0) |
| w(fixed=true, start=0) | |
clutch | | phi_rel(fixed=true) |
| w_rel(fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
a_rel | Present |
Component |
Version 3.2 |
Version 3.2.1 |
phi_start | | unit="rad" |
w_start | | unit="rad/s" |
a_start | | unit="rad/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
phi_rel | | nominal=if phi_nominal >= Modelica.Constants.eps then phi_nominal else 1 |
phi_nominal | Present |
Component |
Version 3.2 |
Version 3.2.1 |
phi | | unit="rad" |
| displayUnit="deg" |
Component |
Version 3.2 |
Version 3.2.1 |
w | | unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
a | | unit="rad/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
phi_rel | | unit="rad" |
| displayUnit="deg" |
Component |
Version 3.2 |
Version 3.2.1 |
w_rel | | unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
a_rel | | unit="rad/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
tau | | unit="N.m" |
Component |
Version 3.2 |
Version 3.2.1 |
power | | unit="W" |
Component |
Version 3.2 |
Version 3.2.1 |
w_ref | | unit="rad/s" |
Component |
Version 3.2 |
Version 3.2.1 |
a_ref | | unit="rad/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
tau | | unit="N.m" |
Component |
Version 3.2 |
Version 3.2.1 |
tau | | unit="N.m" |
Component |
Version 3.2 |
Version 3.2.1 |
phi_rel | nominal=phi_nominal | nominal=if phi_nominal >= Modelica.Constants.eps then phi_nominal else 1 |
phi_nominal | | min=0.0 |
Component |
Version 3.2 |
Version 3.2.1 |
multiSensor | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
connect(forceSensor.flange_b, mass.flange_a); |
|
connect(sineForce.y, force.f); ... connect(mass.flange_b, positionSensor2.flange); |
|
connect(forceSensor.flange_b, multiSensor.flange_a); connect(multiSensor.flange_b, mass.flange_a); |
Component |
Version 3.2 |
Version 3.2.1 |
mass3 | v(fixed=false) | v(fixed=true) |
springDamper1 | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(sine2.y, brake.f_normalized); |
|
connect(brake.flange_b, massWithStopAndFriction.flange_a); |
|
connect(elastoGap.flange_b, mass1.flange_a); ... connect(massWithStopAndFriction.heatPort, convection.solid); |
|
connect(brake.flange_b, springDamper1.flange_a); connect(springDamper1.flange_b, massWithStopAndFriction.flange_a); connect(springDamper1.heatPort, convection.solid); |
Component |
Version 3.2 |
Version 3.2.1 |
c | Real | SIunits.TranslationalSpringConstant |
d | Real | SIunits.TranslationalDampingConstant |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... free = false; |
|
s = s_a - s_support; | s = flange_a.s - s_support; |
s_a = s_b; | flange_a.s = flange_b.s; |
v = der(s); ... |
Component |
Version 3.2 |
Version 3.2.1 |
s_start | | unit="m" |
v_start | | unit="m/s" |
a_start | | unit="m/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
stopped | =if s <= smin + L/2 then -1 else if s >= smax - L/2 then +1 else 0 | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... lossPower = f*v_relfric; |
|
algorithm |
|
when (initial()) then ... end when; |
|
stopped = if s <= smin + L/2 then -1 else if s >= smax - L/2 then +1 else 0; |
|
when stopped <> 0 then | |
reinit(s, if stopped < 0 then smin + L/2 else smax - L/2); | |
if (not initial() or stopped*v>0) then |
|
reinit(v, 0); | |
end if; |
|
end when; | |
Component |
Version 3.2 |
Version 3.2.1 |
s | | unit="m" |
Component |
Version 3.2 |
Version 3.2.1 |
v | | unit="m/s" |
Component |
Version 3.2 |
Version 3.2.1 |
a | | unit="m/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
s_rel | | unit="m" |
Component |
Version 3.2 |
Version 3.2.1 |
v_rel | | unit="m/s" |
Component |
Version 3.2 |
Version 3.2.1 |
a_rel | | unit="m/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
f | | unit="N" |
Component |
Version 3.2 |
Version 3.2.1 |
power | | unit="W" |
Component |
Version 3.2 |
Version 3.2.1 |
s_ref | | unit="m" |
Component |
Version 3.2 |
Version 3.2.1 |
v_ref | | unit="m/s" |
Component |
Version 3.2 |
Version 3.2.1 |
a_ref | | unit="m/s2" |
Component |
Version 3.2 |
Version 3.2.1 |
f | | unit="N" |
Component |
Version 3.2 |
Version 3.2.1 |
f | | unit="N" |
Component |
Version 3.2 |
Version 3.2.1 |
s_rel | SIunits.Distance | SIunits.Position |
Component |
Version 3.2 |
Version 3.2.1 |
s_rel | SIunits.Distance | SIunits.Position |
Component |
Version 3.2 |
Version 3.2.1 |
s | =flange.s - internalSupport.s | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
s = flange.s - internalSupport.s; |
|
connect(internalSupport.flange, support); ... |
Component |
Version 3.2 |
Version 3.2.1 |
s | =flange.s - s_support | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
s = flange.s - s_support; |
|
if not useSupport then ... |
Component |
Version 3.2 |
Version 3.2.1 |
s_a | =flange_a.s - internalSupport.s | |
s_b | =flange_b.s - internalSupport.s | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
s_a = flange_a.s - internalSupport.s; s_b = flange_b.s - internalSupport.s; |
|
connect(internalSupport.flange, support); ... |
Component |
Version 3.2 |
Version 3.2.1 |
s_a | =flange_a.s - s_support | |
s_b | =flange_b.s - s_support | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
s_a = flange_a.s - s_support; s_b = flange_b.s - s_support; |
|
if not useSupport then ... |
Component |
Version 3.2 |
Version 3.2.1 |
f | =flange.f | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
f = flange.f; |
Component |
Version 3.2 |
Version 3.2.1 |
source | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
pipe | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
pumps | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
redeclare
function flowCharacteristic =
Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow
(V_flow_nominal={0,0.25,0.5}, head_nominal={100,60,0}) | redeclare
function flowCharacteristic =
Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow
(V_flow_nominal={0,0.25,0.5}, head_nominal={100,60,0}) | |
energyDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
massDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
V=50/1000 | | |
T_start=Modelica_3_2.SIunits.Conversions.from_degC(20) | | |
| V(displayUnit="l") = 0.05 | |
reservoir | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
massDynamics=Modelica_3_2.Fluid.Types.Dynamics.FixedInitial | | |
userValve | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
sink | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
reservoirPressure | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Medium |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial |
Component |
Version 3.2 |
Version 3.2.1 |
tank | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=10) | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=10) |
s(each start=1) | | |
| T_start=Modelica.SIunits.Conversions.from_degC(20) | |
valve | | dp_start=18000 |
heater | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer |
modelStructure=Modelica_3_2.Fluid.Types.ModelStructure.a_vb | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b | |
redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | |
| p_a_start=130000 | |
radiator | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer |
redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | |
modelStructure=Modelica_3_2.Fluid.Types.ModelStructure.av_b | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b | |
| p_a_start=110000 | |
pipe | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer |
redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | |
| p_a_start=130000 |
Component |
Version 3.2 |
Version 3.2.1 |
evaporator | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
sink | p=from_bar(0.5) | p=Cv.from_bar(0.5) |
redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | |
massFlowRate | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
temperature | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
pressure | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
controller | | initType=Modelica.Blocks.Types.Init.InitialState |
pump | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
SteamValve | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
use_inputs | Present | |
q_F | Present | |
Y_Valve | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(controller.u,feedback.y); |
|
connect(feedback.u2, evaporator.V); connect(levelSetPoint.y,feedback.u1); |
|
connect(massFlowRate.m_flow, qm_S); ... connect(Y_Valve_Tab.y, SteamValve.opening); |
|
connect(q_F, MW2W.u); connect(Y_Valve, SteamValve.opening); connect(evaporator.V, feedback.u2); connect(levelSetPoint.y, feedback.u1); |
Component |
Version 3.2 |
Version 3.2.1 |
cp_D | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
p_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
sat | | Media.Interfaces.Types.SaturationProperties |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_v | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h_l | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
rho_v | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
rho_l | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T_D | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_W | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h_S | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
upperTank | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
massFlowRate | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
pressure | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
pipe | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
lowerTank | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
overflow | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
Component |
Version 3.2 |
Version 3.2.1 |
tank1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
tank2 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
level_start=0 | level_start=1.0e-10 | |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial |
Component |
Version 3.2 |
Version 3.2.1 |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial |
Component |
Version 3.2 |
Version 3.2.1 |
stateGraphRoot | Present | |
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 |
B5 | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=4.9) | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=4.9) |
P1 | redeclare
function flowCharacteristic =
Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow
(V_flow_nominal={0,0.001,0.0015}, head_nominal={100,50,0}) | redeclare
function flowCharacteristic =
Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow
(V_flow_nominal={0,0.1e-3,0.15e-3}, head_nominal={10,5,0}) |
energyDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
massDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
show_NPSHa=true | | |
checkValve=true | | |
| redeclare model Monitoring = Modelica.Fluid.Machines.BaseClasses.PumpMonitoring.PumpMonitoringNPSH | |
P2 | redeclare
function flowCharacteristic =
Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow
(V_flow_nominal={0,0.001,0.0015}, head_nominal={100,50,0}) | redeclare
function flowCharacteristic =
Modelica.Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow
(V_flow_nominal={0,0.1e-3,0.15e-3}, head_nominal={10,5,0}) |
energyDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
massDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
show_NPSHa=true | | |
checkValve=true | | |
| redeclare model Monitoring = Modelica.Fluid.Machines.BaseClasses.PumpMonitoring.PumpMonitoringNPSH | |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial |
P1_on | amplitude=100 | amplitude=200 |
P2_on | amplitude=50 | amplitude=200 |
B7 | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=4.9) | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=4.9) |
pipeB1B3 | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow |
pipeB2B3 | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow |
B6 | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=4.9) | redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=4.9) |
Component |
Version 3.2 |
Version 3.2.1 |
T_start | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_start | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_start | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
p_ambient | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_ambient | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
h_v | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h_l | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
rho_v | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
rho_l | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
rho | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
m_flow_negative | | fixed=true |
Xi | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
stateGraphRoot | Present | |
Component |
Version 3.2 |
Version 3.2.1 |
p_ambient | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_ambient | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
H_flow_top | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
port_b_H_flow_bottom | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
Component |
Version 3.2 |
Version 3.2.1 |
tank | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
flowSource | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
ambient_fixed | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
Component |
Version 3.2 |
Version 3.2.1 |
tank1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
tank2 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
Component |
Version 3.2 |
Version 3.2.1 |
flowSource | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
ambient_fixed | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
valveDiscrete | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
tank1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
Component |
Version 3.2 |
Version 3.2.1 |
ambient_fixed | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
tank1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe2 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
ambient_fixed1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
Component |
Version 3.2 |
Version 3.2.1 |
ambient_fixed1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
tank1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe1 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe2 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
ambient_fixed2 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
tank2 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
pipe3 | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
Component |
Version 3.2 |
Version 3.2.1 |
ambient_fixed | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
valveDiscrete | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater | redeclare package Medium = Modelica.Media.Water.ConstantPropertyLiquidWater |
Component |
Version 3.2 |
Version 3.2.1 |
pipe1 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe2 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe3 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe4 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe6 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
valve1 | CvData=Modelica_3_2.Fluid.Types.CvTypes.OpPoint | CvData=Modelica.Fluid.Types.CvTypes.Av |
| Av=2.5e-2^2/4*Modelica.Constants.pi | |
valve2 | CvData=Modelica_3_2.Fluid.Types.CvTypes.OpPoint | CvData=Modelica.Fluid.Types.CvTypes.Av |
| Av=2.5e-2^2/4*Modelica.Constants.pi | |
pipe7 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
valve3 | CvData=Modelica_3_2.Fluid.Types.CvTypes.OpPoint | CvData=Modelica.Fluid.Types.CvTypes.Av |
| Av=2.5e-2^2/4*Modelica.Constants.pi | |
system | | massDynamics=systemMassDynamics |
| energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial | |
| use_eps_Re=true | |
valveOpening1 | height=-0.2 | height=-1 |
startTime=1 | startTime=50 | |
valveOpening2 | height=-0.2 | height=-0.5 |
startTime=2 | startTime=100 | |
valveOpening3 | height=-0.2 | height=-0.5 |
startTime=3 | startTime=150 | |
pipe8 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe9 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe10 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipe5 | Fluid.Examples.IncompressibleFluidNetwork.Pipe | Fluid.Pipes.DynamicPipe |
pipeModelStructure | Present | |
systemMassDynamics | Present | |
filteredValveOpening | Present | |
heat8 | Present | |
pipe11 | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(valve1.port_b, pipe7.port_a); |
|
connect(pipe6.port_b, valve3.port_a); |
|
connect(valve3.port_b, sink.ports[1]); ... connect(pipe7.port_b, pipe8.port_a); |
|
connect(pipe9.port_b, valve3.port_a); |
|
connect(pipe8.port_b, pipe10.port_a); | |
connect(pipe10.port_b, valve3.port_a); |
|
connect(pipe4.port_b, pipe6.port_a); ... connect(pipe5.port_a, pipe4.port_b); |
|
connect(pipe5.port_b, valve3.port_a); | connect(heat8.port, pipe8.heatPorts); |
connect(pipe5.port_b, pipe6.port_b); connect(pipe6.port_b, pipe10.port_b); connect(pipe11.port_b, valve3.port_a); connect(pipe9.port_b, pipe11.port_a); connect(pipe10.port_b, pipe11.port_a); |
Component |
Version 3.2 |
Version 3.2.1 |
system | momentumDynamics=Modelica_3_2.Fluid.Types.Dynamics.DynamicFreeInitial | momentumDynamics=Modelica.Fluid.Types.Dynamics.SteadyStateInitial |
| energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyStateInitial | |
pipe1 | | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b |
pipe2 | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.LocalPipeFlowHeatTransfer | redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.LocalPipeFlowHeatTransfer |
| modelStructure=Modelica.Fluid.Types.ModelStructure.av_vb | |
pipe3 | | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b |
pipe4 | modelStructure=Modelica_3_2.Fluid.Types.ModelStructure.av_b | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b |
heat2 | | alpha=-1e-2*ones(pipe2.n) |
Component |
Version 3.2 |
Version 3.2.1 |
HEX | redeclare model HeatTransfer_1 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer (alpha0=1000) | redeclare model HeatTransfer_1 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.LocalPipeFlowHeatTransfer (alpha0=1000) |
redeclare model HeatTransfer_2 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer (alpha0=200) | redeclare model HeatTransfer_2 = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer (alpha0=200) | |
energyDynamics=Modelica_3_2.Fluid.Types.Dynamics.FixedInitial | | |
massDynamics=Modelica_3_2.Fluid.Types.Dynamics.SteadyStateInitial | | |
| modelStructure_1=Modelica.Fluid.Types.ModelStructure.av_b | |
| modelStructure_2=Modelica.Fluid.Types.ModelStructure.a_vb | |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyStateInitial |
| use_eps_Re=true |
Component |
Version 3.2 |
Version 3.2.1 |
use_HeatTransfer | =false | =true |
p_a_start1 | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_start1 | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_start_1 | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_start_1 | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_start_1 | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
p_a_start2 | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_start2 | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_start_2 | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_start_2 | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_start_2 | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
pipe_1 | | final modelStructure=modelStructure_1 |
pipe_2 | | final modelStructure=modelStructure_2 |
modelStructure_1 | Present | |
modelStructure_2 | Present |
Component |
Version 3.2 |
Version 3.2.1 |
T | stateSelect=StateSelect.prefer | |
| each stateSelect=StateSelect.prefer |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation |
|
if energyDynamics == Types.Dynamics.SteadyState then | if energyDynamics == Modelica.Fluid.Types.Dynamics.SteadyStateInitial then |
der(T) = zeros(n); | |
elseif energyDynamics == Types.Dynamics.FixedInitial then | elseif energyDynamics == Modelica.Fluid.Types.Dynamics.FixedInitial then |
T = ones(n)*T_start; ... assert(m[i]>0, "Wall has negative dimensions"); |
|
if energyDynamics == Types.Dynamics.SteadyState then | if energyDynamics == Modelica.Fluid.Types.Dynamics.SteadyState then |
0 = heatPort_a[i].Q_flow + heatPort_b[i].Q_flow; ... |
Component |
Version 3.2 |
Version 3.2.1 |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial |
pipe | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow (show_Res=true) | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow (show_Res=true) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... connect(traceVolume.port, pipe.port_a); |
|
connect(boundary1.ports[1], volume.ports[1]); | connect(boundary1.ports[2], volume.ports[1]); |
connect(boundary1.ports[2], traceSource.port); | connect(boundary1.ports[1], traceSource.port); |
Component |
Version 3.2 |
Version 3.2.1 |
system | | energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial |
| use_eps_Re=true | |
| m_flow_nominal=0.1 | |
| eps_m_flow=1e-2 | |
ductOut | length=1 | length=5 |
redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow (show_Res=true) | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow (show_Res=true) | |
| modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b | |
ductIn | length=1 | length=5 |
redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow (show_Res=true) | redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow (show_Res=true) | |
| modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b |
Component |
Version 3.2 |
Version 3.2.1 |
pipe1 | redeclare
model FlowModel =
Modelica.Fluid.Pipes.BaseClasses.FlowModels.NominalTurbulentPipeFlow
(m_flow_nominal=1, show_Res=true, dp_nominal=100000) | redeclare
model FlowModel =
Modelica.Fluid.Pipes.BaseClasses.FlowModels.NominalTurbulentPipeFlow
(show_Res=true, m_flow_nominal=1,
m_flow_turbulent=eps_m_flow_turbulent*1, dp_nominal=100000) |
pipe2 | redeclare
model FlowModel =
Modelica.Fluid.Pipes.BaseClasses.FlowModels.NominalLaminarFlow
(show_Res=true, dp_nominal=100000, m_flow_nominal=1) | redeclare
model FlowModel =
Modelica.Fluid.Pipes.BaseClasses.FlowModels.NominalLaminarFlow
(show_Res=true, dp_nominal=100000, m_flow_nominal=1) |
eps_m_flow_turbulent | Present |
Component |
Version 3.2 |
Version 3.2.1 |
T_onePort | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
T_twoPort | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
openTankCold2 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
openTankCold1 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
openTankHot1 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
openTankHot2 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
mFlow1 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
mFlow2 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
T_junction | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
openTankCold3 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
openTankHot3 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
mFlow3 | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
junctionIdeal | redeclare package Medium = Modelica.Media.Water.StandardWater | redeclare package Medium = Modelica.Media.Water.StandardWater |
Component |
Version 3.2 |
Version 3.2.1 |
leftBoundary1 | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
rightBoundary1 | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
suddenExpansion1 | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
leftBoundary2 | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
rightBoundary2 | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
suddenExpansion2 | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
leftAdaptor | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
rightAdaptor | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase | redeclare package Medium = Modelica.Media.Water.StandardWaterOnePhase |
Component |
Version 3.2 |
Version 3.2.1 |
m_flow_small | =0.01 | =1e-2 |
use_eps_Re | Present | |
m_flow_nominal | Present | |
eps_m_flow | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation |
Component |
Version 3.2 |
Version 3.2.1 |
level | start=max(level_start, Modelica_3_2.Constants.eps) | start=level_start_eps |
p_ambient | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_ambient | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
level_start_eps | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if massDynamics == Types.Dynamics.FixedInitial then |
|
level = level_start; | level = level_start_eps; |
elseif massDynamics == Types.Dynamics.SteadyStateInitial then ... |
Component |
Version 3.2 |
Version 3.2.1 |
m_flow_small | =system.m_flow_small | =if system.use_eps_Re then system.eps_m_flow*m_flow_nominal else system.m_flow_small |
ports_H_flow | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
ports_mC_flow | Media.Interfaces.PartialMedium.ExtraPropertyFlowRate | Media.Interfaces.Types.ExtraPropertyFlowRate |
sum_ports_mC_flow | Media.Interfaces.PartialMedium.ExtraPropertyFlowRate | Media.Interfaces.Types.ExtraPropertyFlowRate |
vessel_ps_static | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
portDensities | Present | |
m_flow_nominal | Present | |
use_Re | Present | |
portInDensities | Present | |
Re_turbulent | Present | |
m_flow_turbulent | Present | |
regularFlow | Present | |
inFlow | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... for i in 1:nPorts loop |
|
portInDensities[i] =
Medium.density(Medium.setState_phX(vessel_ps_static[i],
inStream(ports[i].h_outflow), inStream(ports[i].Xi_outflow))); |
|
if use_portsData then | |
portDensities[i] = noEvent(Medium.density(Medium.setState_phX(vessel_ps_static[i], actualStream(ports[i].h_outflow), actualStream(ports[i].Xi_outflow)))); | portVelocities[i] = smooth(0, ports[i].m_flow/portAreas[i]/Medium.density(Medium.setState_phX(vessel_ps_static[i], actualStream(ports[i].h_outflow), actualStream(ports[i].Xi_outflow)))); |
portVelocities[i] = smooth(0, ports[i].m_flow/portAreas[i]/portDensities[i]); |
|
ports_penetration[i] = Utilities.regStep(fluidLevel - portsData_height[i] - 0.1*portsData_diameter[i], 1, 1e-3, 0.1*portsData_diameter[i]); | |
m_flow_turbulent[i]=if not use_Re then m_flow_small else  max(m_flow_small, (Modelica.Constants.pi/8)*portsData_diameter[i] *(Medium.dynamicViscosity(Medium.setState_phX(vessel_ps_static[i], inStream(ports[i].h_outflow), inStream(ports[i].Xi_outflow))) + Medium.dynamicViscosity(medium.state))*Re_turbulent); |
|
else | |
portDensities[i] = medium.d; |
|
portVelocities[i] = 0; | |
ports_penetration[i] = 1; | |
m_flow_turbulent[i] = Modelica.Constants.inf; |
|
end if; | |
if fluidLevel >= portsData_height[i] then | regularFlow[i] = fluidLevel >= portsData_height[i]; |
inFlow[i] = not regularFlow[i] and (s[i] > 0 or portsData_height[i] >= fluidLevel_max); if regularFlow[i] then |
|
if use_portsData then | |
ports[i].p = vessel_ps_static[i] + (0.5/portAreas[i]^2*Utilities.regSquare2(ports[i].m_flow, m_flow_small, (portsData_zeta_in[i] - 1 + portAreas[i]^2/vesselArea^2)/portDensities[i]*ports_penetration[i], (portsData_zeta_out[i] + 1 - portAreas[i]^2/vesselArea^2)/medium.d/ports_penetration[i])); |
ports[i].p = homotopy(vessel_ps_static[i] + (0.5/portAreas[i]^2*Utilities.regSquare2(ports[i].m_flow, m_flow_turbulent[i], (portsData_zeta_in[i] - 1 + portAreas[i]^2/vesselArea^2)/portInDensities[i]*ports_penetration[i], (portsData_zeta_out[i] + 1 - portAreas[i]^2/vesselArea^2)/medium.d/ports_penetration[i])), vessel_ps_static[i]); |
else ... s[i] = fluidLevel - portsData_height[i]; |
|
elseif s[i] > 0 or portsData_height[i] >= fluidLevel_max then | elseif inFlow[i] then |
ports[i].p = vessel_ps_static[i]; ... |
Component |
Version 3.2 |
Version 3.2.1 |
p_a_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(true, "Unknown model structure"); | assert(false, "Unknown model structure"); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
H_flows | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(true, "Unknown model structure"); | assert(false, "Unknown model structure"); |
end if; ... port_b.p = mediums[n].p; |
|
vsFM[1] = vs[1:iLumped-1]*lengths[1:iLumped-1]/sum(lengths[1:iLumped-1]); vsFM[2] = vs[iLumped:n]*lengths[iLumped:n]/sum(lengths[iLumped:n]); |
|
elseif modelStructure == ModelStructure.av_b then ... m_flows[n+1] = flowModel.m_flows[1]; |
|
vsFM[1] = vs*lengths/sum(lengths); vsFM[2] = m_flows[n+1]/Medium.density(state_b)/crossAreas[n]/nParallel; |
|
elseif modelStructure == ModelStructure.a_vb then ... port_b.p = mediums[n].p; |
|
vsFM[1] = m_flows[1]/Medium.density(state_a)/crossAreas[1]/nParallel; vsFM[2] = vs*lengths/sum(lengths); |
|
elseif modelStructure == ModelStructure.a_v_b then ... m_flows[n+1] = flowModel.m_flows[2]; |
|
vsFM[1] = m_flows[1]/Medium.density(state_a)/crossAreas[1]/nParallel; vsFM[2] = vs*lengths/sum(lengths); vsFM[3] = m_flows[n+1]/Medium.density(state_b)/crossAreas[n]/nParallel; |
|
else | |
assert(true, "Unknown model structure"); | assert(false, "Unknown model structure"); |
end if; | |
if modelStructure <> ModelStructure.a_v_b then vsFM[1] = vs[1:iLumped-1]*lengths[1:iLumped-1]/sum(lengths[1:iLumped-1]); vsFM[2] = vs[iLumped:n]*lengths[iLumped:n]/sum(lengths[iLumped:n]); |
|
else | |
vsFM[1] = vs[1:iLumped-1]*lengths[1:iLumped-1]/sum(lengths[1:iLumped-1]); vsFM[2] = vs[2:n-1]*lengths[2:n-1]/sum(lengths[2:n-1]); vsFM[3] = vs[iLumped:n]*lengths[iLumped:n]/sum(lengths[iLumped:n]); end if; else |
|
if modelStructure == ModelStructure.av_vb then ... else |
|
assert(true, "Unknown model structure"); | assert(false, "Unknown model structure"); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
p_a_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
rhos | SIunits.Density | Media.Interfaces.Types.Density |
rhos_act | SIunits.Density | Media.Interfaces.Types.Density |
mus | SIunits.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
mus_act | SIunits.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if use_Ib_flows then |
|
Ib_flows = {rhos[i]*vs[i]*vs[i]*crossAreas[i] - rhos[i+1]*vs[i+1]*vs[i+1]*crossAreas[i+1] for i in 1:n-1}; | Ib_flows = nParallel*{rhos[i]*vs[i]*vs[i]*crossAreas[i] - rhos[i+1]*vs[i+1]*vs[i+1]*crossAreas[i+1] for i in 1:n-1}; |
else ... |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | | protected |
=system.dp_small | | |
| start=1 | |
| fixed=false | |
m_flow_small | =system.m_flow_small | =if system.use_eps_Re then system.eps_m_flow*m_flow_nominal else system.m_flow_small |
constantPressureLossCoefficient | | protected |
continuousFlowReversal | | protected |
diameters | | protected |
Res_turbulent_internal | Present | |
dp_fric_nominal | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
for i in 1:n-1 loop | initial equation |
if system.use_eps_Re then dp_small = dp_fric_nominal/m_flow_nominal*m_flow_small; else dp_small = system.dp_small; end if; equation  for i in 1:n-1 loop |
|
assert(m_flows[i] > -m_flow_small or allowFlowReversal, "Reverting
flow occurs even though allowFlowReversal is false"); ... if from_dp and not WallFriction.dp_is_zero then |
|
m_flows = WallFriction.massFlowRate_dp( dps_fg - {g*dheights[i]*rhos_act[i] for i in 1:n-1}, rhos_act, rhos_act, mus_act, mus_act, pathLengths_internal, diameters, (roughnesses[1:n-1]+roughnesses[2:n])/2, dp_small)*nParallel; |
m_flows = homotopy( actual= WallFriction.massFlowRate_dp( dps_fg - {g*dheights[i]*rhos_act[i] for i in 1:n-1}, rhos_act, rhos_act, mus_act, mus_act, pathLengths_internal, diameters, (roughnesses[1:n-1]+roughnesses[2:n])/2, dp_small/(n-1), Res_turbulent_internal)*nParallel, simplified= m_flow_nominal/dp_nominal*(dps_fg - g*dheights*rho_nominal)); |
else | |
dps_fg = WallFriction.pressureLoss_m_flow( m_flows/nParallel, rhos_act, rhos_act, mus_act, mus_act, pathLengths_internal, diameters, (roughnesses[1:n-1]+roughnesses[2:n])/2, m_flow_small/nParallel) + {g*dheights[i]*rhos_act[i] for i in 1:n-1}; |
dps_fg = homotopy( actual= WallFriction.pressureLoss_m_flow( m_flows/nParallel, rhos_act, rhos_act, mus_act, mus_act, pathLengths_internal, diameters, (roughnesses[1:n-1]+roughnesses[2:n])/2, m_flow_small/nParallel, Res_turbulent_internal) + {g*dheights[i]*rhos_act[i] for i in 1:n-1}, simplified= dp_nominal/m_flow_nominal*m_flows + g*dheights*rho_nominal); |
end if; ... if from_dp and not WallFriction.dp_is_zero then |
|
m_flows = WallFriction.massFlowRate_dp_staticHead( dps_fg, rhos[1:n-1], rhos[2:n], mus[1:n-1], mus[2:n], pathLengths_internal, diameters, g*dheights, (roughnesses[1:n-1]+roughnesses[2:n])/2, dp_small/n)*nParallel; |
m_flows = homotopy( actual= WallFriction.massFlowRate_dp_staticHead( dps_fg, rhos[1:n-1], rhos[2:n], mus[1:n-1], mus[2:n], pathLengths_internal, diameters, g*dheights, (roughnesses[1:n-1]+roughnesses[2:n])/2, dp_small/(n-1), Res_turbulent_internal)*nParallel, simplified= m_flow_nominal/dp_nominal*(dps_fg - g*dheights*rho_nominal)); |
else | |
dps_fg = WallFriction.pressureLoss_m_flow_staticHead( m_flows/nParallel, rhos[1:n-1], rhos[2:n], mus[1:n-1], mus[2:n], pathLengths_internal, diameters, g*dheights, (roughnesses[1:n-1]+roughnesses[2:n])/2, m_flow_small/nParallel); |
dps_fg = homotopy( actual= WallFriction.pressureLoss_m_flow_staticHead( m_flows/nParallel, rhos[1:n-1], rhos[2:n], mus[1:n-1], mus[2:n], pathLengths_internal, diameters, g*dheights, (roughnesses[1:n-1]+roughnesses[2:n])/2, m_flow_small/nParallel, Res_turbulent_internal), simplified= dp_nominal/m_flow_nominal*m_flows + g*dheights*rho_nominal); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
dps_fg_turbulent | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
m_flow_turbulent | Present | |
Res_turbulent_nominal | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... pathLengths_nominal[i] = zetas[i]*diameters[i]*(2*  Modelica_3_2.Math.log10(3.7/((roughnesses[i] + roughnesses[i +  1])/2/diameters[i])))^2; |
|
Res_turbulent_nominal[i] = m_flow_turbulent/nParallel / (pi/4*diameters[i]*mus_act[i]); |
|
end for; |
Component |
Version 3.2 |
Version 3.2.1 |
use_Re | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation if system.use_eps_Re then dp_nominal = dp_fric_nominal + g*sum(dheights)*rho_nominal; end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
initial equation if system.use_eps_Re then dp_nominal = dp_fric_nominal + g*sum(dheights)*rho_nominal; else dp_nominal = 1e3*dp_small; end if; |
Component |
Version 3.2 |
Version 3.2.1 |
ds | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
mus | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambdas | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... Nus_2[i]=smooth(0,1.077*(abs(Res[i])*Prs[i]*diameters[i]/lengths[i]/(if vs[i]>=0 then (i-0.5) else (n-i+0.5)))^(1/3)); |
|
Nus[i]=spliceFunction(Nus_turb[i], Nus_lam[i], Res[i]-6150, 3850); | Nus[i]=Modelica.Media.Air.MoistAir.Utilities.spliceFunction(Nus_turb[i], Nus_lam[i], Res[i]-6150, 3850); |
end for; |
Component |
Version 3.2 |
Version 3.2.1 |
use_Re_turbulent | Present |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
zeta = (length/diameter)/(2*Math.log10(3.7 /(roughness/diameter)))^2; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
zeta = (length/diameter)/(2*Math.log10(3.7 /(roughness/diameter)))^2; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
if dp>=dp_a then ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
if m_flow>=m_flow_a then ... |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
zeta = (length/diameter)/(2*Math.log10(3.7 /(roughness/diameter)))^2; ... yd0 = (rho_a + rho_b)/(k0*(mu_a + mu_b)); |
|
dp_turbulent = ((mu_a + mu_b)*diameter*pi/8)^2*Re_turbulent^2/(k_inv*(rho_a+rho_b)/2); | dp_turbulent = max(((mu_a + mu_b)*diameter*pi/8)^2*Re_turbulent^2/(k_inv*(rho_a+rho_b)/2), dp_small); |
m_flow = Modelica_3_2.Fluid.Utilities.regRoot2(  dp,  dp_turbulent,  rho_a*k_inv,  rho_b*k_inv,  use_yd0=true,  yd0=yd0); ... |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
zeta = (length/diameter)/(2*Math.log10(3.7 /(roughness/diameter)))^2; ... yd0 = k0*(mu_a + mu_b)/(rho_a + rho_b); |
|
m_flow_turbulent = (pi/8)*diameter*(mu_a + mu_b)*Re_turbulent; | m_flow_turbulent = max((pi/8)*diameter*(mu_a + mu_b)*Re_turbulent, m_flow_small); |
dp = Modelica_3_2.Fluid.Utilities.regSquare2(  m_flow,  m_flow_turbulent,  k/rho_a,  k/rho_b,  use_yd0=true,  yd0=yd0); ... |
Component |
Version 3.2 |
Version 3.2.1 |
Re1 | =745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta) | =min(745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta), Re_turbulent) |
Re2 | constant | |
=4000 | =Re_turbulent |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
dp_a = max(dp_grav_a, dp_grav_b)+dp_small; ... |
Component |
Version 3.2 |
Version 3.2.1 |
Re1 | =745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta) | =min(745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta), Re_turbulent) |
Re2 | constant | |
=4000 | =Re_turbulent |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(roughness > 1.e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
assert(roughness > 1e-10, "roughness > 0 required for quadratic turbulent wall friction characteristic"); |
m_flow_a = if dp_grav_a<dp_grav_b then  Internal.m_flow_of_dp_fric(dp_grav_b - dp_grav_a, rho_a, rho_b, mu_a, mu_b, length, diameter, Re1, Re2, Delta)+m_flow_small else  m_flow_small; ... |
Component |
Version 3.2 |
Version 3.2.1 |
Re1 | =(745*Math.exp(if Delta <= 0.0065 then 1 else 0.0065/Delta))^0.97 | =min((745*Math.exp(if Delta <= 0.0065 then 1 else 0.0065/Delta))^0.97, Re_turbulent) |
Re2 | =4000 | =Re_turbulent |
Component |
Version 3.2 |
Version 3.2.1 |
Re1 | =745*Math.exp(if Delta <= 0.0065 then 1 else 0.0065/Delta) | =min(745*Math.exp(if Delta <= 0.0065 then 1 else 0.0065/Delta), Re_turbulent) |
Re2 | =4000 | =Re_turbulent |
Component |
Version 3.2 |
Version 3.2.1 |
Re1 | =(745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta))^0.97 | =min((745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta))^0.97, Re_turbulent) |
Re2 | constant | |
=4000 | =Re_turbulent |
Component |
Version 3.2 |
Version 3.2.1 |
Re1 | =745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta) | =min(745*exp(if Delta <= 0.0065 then 1 else 0.0065/Delta), Re_turbulent) |
Re2 | constant | |
=4000 | =Re_turbulent |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | SIunits.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
| protected | |
m_flow_nominal | Present | |
dp_fric_nominal | Present |
Component |
Version 3.2 |
Version 3.2.1 |
p_a_nominal | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_nominal | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
p_a_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
m_flow_start | =1 | =system.m_flow_start |
rho_nominal | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
rho | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
V_flow | =m_flow/rho | |
V_flow_single | =V_flow/nParallel | |
s | start=m_flow_start | start=m_flow_start/unit_m_flow |
show_NPSHa | Present | |
state_a | Present | |
rho_in | Present | |
NPSHa | Present | |
NPSPa | Present | |
NPDPa | Present | |
V_flow_single_init | Present | |
delta_head_init | Present | |
unit_m_flow | Present | |
monitoring | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
V_flow = homotopy(m_flow/rho,  m_flow/rho_nominal); V_flow_single = V_flow/nParallel; |
|
if not checkValve then | |
head = (N/N_nominal)^2*flowCharacteristic(V_flow_single*(N_nominal/N)); | head = homotopy((N/N_nominal)^2*flowCharacteristic(V_flow_single*N_nominal/N), N/N_nominal*(flowCharacteristic(0)+delta_head_init*V_flow_single)); |
s = 0; | |
elseif s > 0 then head = (N/N_nominal)^2*flowCharacteristic(V_flow_single*(N_nominal/N)); V_flow_single = s*unitMassFlowRate/rho; |
|
else | |
head = (N/N_nominal)^2*flowCharacteristic(0) - s*unitHead; | head = homotopy(if s > 0 then (N/N_nominal)^2*flowCharacteristic(V_flow_single*N_nominal/N) else (N/N_nominal)^2*flowCharacteristic(0) - s*unitHead, N/N_nominal*(flowCharacteristic(0)+delta_head_init*V_flow_single)); |
V_flow_single = 0; | V_flow_single = homotopy(if s > 0 then s*unitMassFlowRate/rho else 0, s*unitMassFlowRate/rho_nominal); |
end if; | |
if use_powerCharacteristic then | |
W_single = (N/N_nominal)^3*(rho/rho_nominal)*powerCharacteristic(V_flow_single*(N_nominal/N)); | W_single = homotopy((N/N_nominal)^3*(rho/rho_nominal)*powerCharacteristic(V_flow_single*N_nominal/N), N/N_nominal*V_flow_single/V_flow_single_init*powerCharacteristic(V_flow_single_init)); |
eta = dp_pump*V_flow_single/W_single; | |
else | |
eta = efficiencyCharacteristic(V_flow_single*(N_nominal/N)); | eta = homotopy(efficiencyCharacteristic(V_flow_single*(N_nominal/N)), efficiencyCharacteristic(V_flow_single_init)); |
W_single = dp_pump*V_flow_single/eta; | W_single = homotopy(dp_pump*V_flow_single/eta, dp_pump*V_flow_single_init/eta); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
head := c[1] + V_flow*c[2]; | assert(c[2] <= -Modelica.Constants.small, "Wrong pump curve -- head_nominal must be monotonically decreasing with increasing V_flow_nominal", level=AssertionLevel.warning); |
head = c[1] + V_flow*c[2]; |
|
|
Component |
Version 3.2 |
Version 3.2.1 |
V_flow_min | Present | |
V_flow_max | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
head := c[1] + V_flow*c[2] + V_flow^2*c[3]; | assert(max(c[2].+2*c[3]*V_flow_nominal) <= -Modelica.Constants.small, "Wrong pump curve -- head_nominal must be monotonically decreasing with increasing V_flow_nominal", level=AssertionLevel.warning); |
|
if V_flow < V_flow_min then |
head = max(head_nominal) + (V_flow-V_flow_min)*(c[2]+2*c[3]*V_flow_min); elseif V_flow > V_flow_max then head = min(head_nominal) + (V_flow-V_flow_max)*(c[2]+2*c[3]*V_flow_max); else head = c[1] + V_flow*(c[2] + V_flow*c[3]); end if; |
Component |
Version 3.2 |
Version 3.2.1 |
V_flow_nominal_pow | ={{V_flow_nominal[i]^(j - 1) for j in 1:N} for i in 1:N} | ={{if j > 1 then V_flow_nominal[i]^(j - 1) else 1 for j in 1:N} for i in 1:N} |
V_flow_min | Present | |
V_flow_max | Present | |
max_dhdV | Present | |
poly | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
head := sum(V_flow^(i-1)*c[i] for i in 1:N); | assert(max_dhdV <= -Modelica.Constants.small, "Wrong pump curve -- head_nominal must be monotonically decreasing with increasing V_flow_nominal", level=AssertionLevel.warning); |
|
if V_flow < V_flow_min then |
poly = c[N]*(N-1); for i in 1:N-2 loop poly = V_flow_min*poly + c[N-i]*(N-i-1); end for; head = max(head_nominal) + (V_flow-V_flow_min)*poly; elseif V_flow > V_flow_max then poly = c[N]*(N-1); for i in 1:N-2 loop poly = V_flow_max*poly + c[N-i]*(N-i-1); end for; head = min(head_nominal) + (V_flow-V_flow_max)*poly; else poly = c[N]; for i in 1:N-1 loop poly = V_flow*poly + c[N-i]; end for; head = poly; end if; |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turbulent | Present | |
use_Re | Present | |
dp_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if checkValve then |
|
m_flow = relativeFlowCoefficient*Av*sqrt(Medium.density(state_a))* Modelica_3_2.Fluid.Utilities.regRoot2( dp, dp_small, 1.0, 0.0, use_yd0=true, yd0=0.0); |
m_flow = homotopy(relativeFlowCoefficient*Av*sqrt(Medium.density(state_a))* Utilities.regRoot2(dp,dp_turbulent,1.0,0.0,use_yd0=true,yd0=0.0), relativeFlowCoefficient*m_flow_nominal*dp/dp_nominal); |
elseif not allowFlowReversal then | |
m_flow = relativeFlowCoefficient*Av*sqrt(Medium.density(state_a))* Utilities.regRoot(dp, dp_small); |
m_flow = homotopy(relativeFlowCoefficient*Av*sqrt(Medium.density(state_a))* Utilities.regRoot(dp, dp_turbulent), relativeFlowCoefficient*m_flow_nominal*dp/dp_nominal); |
else | |
m_flow = relativeFlowCoefficient*Av* Modelica_3_2.Fluid.Utilities.regRoot2( dp, dp_small, Medium.density(state_a), Medium.density(state_b)); |
m_flow = homotopy(relativeFlowCoefficient*Av* Utilities.regRoot2(dp,dp_turbulent,Medium.density(state_a),Medium.density(state_b)), relativeFlowCoefficient*m_flow_nominal*dp/dp_nominal); |
end if; |
Component |
Version 3.2 |
Version 3.2.1 |
T_in | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
p_sat | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_in | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_out | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Re_turbulent | Present | |
use_Re | Present | |
dp_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if checkValve then |
|
m_flow = valveCharacteristic(opening_actual)*Av*sqrt(Medium.density( state_a))*Modelica_3_2.Fluid.Utilities.regRoot2( dpEff, dp_small, 1.0, 0.0, use_yd0=true, yd0=0.0); |
m_flow = homotopy(valveCharacteristic(opening_actual)*Av*sqrt(Medium.density(state_a))* Utilities.regRoot2(dpEff,dp_turbulent,1.0,0.0,use_yd0=true,yd0=0.0), valveCharacteristic(opening_actual)*m_flow_nominal*dp/dp_nominal); |
elseif not allowFlowReversal then | |
m_flow = valveCharacteristic(opening_actual)*Av*sqrt(Medium.density(state_a))* Utilities.regRoot(dpEff, dp_small); |
m_flow = homotopy(valveCharacteristic(opening_actual)*Av*sqrt(Medium.density(state_a))* Utilities.regRoot(dpEff, dp_turbulent), valveCharacteristic(opening_actual)*m_flow_nominal*dp/dp_nominal); |
else | |
m_flow = valveCharacteristic(opening_actual)*Av* Modelica_3_2.Fluid.Utilities.regRoot2( dpEff, dp_small, Medium.density(state_a), Medium.density(state_b)); |
m_flow = homotopy(valveCharacteristic(opening_actual)*Av* Utilities.regRoot2(dpEff,dp_turbulent,Medium.density(state_a),Medium.density(state_b)), valveCharacteristic(opening_actual)*m_flow_nominal*dp/dp_nominal); |
end if; |
Component |
Version 3.2 |
Version 3.2.1 |
p_nominal | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Re_turbulent | Present | |
use_Re | Present | |
dp_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... |
|
equation p = noEvent(if dp>=0 then port_a.p else port_b.p); |
equation p = max(port_a.p, port_b.p); |
Fxt = Fxt_full*xtCharacteristic(opening_actual); | |
x = dp/p; | |
xs = smooth(0, if x < -Fxt then -Fxt else if x > Fxt then Fxt else x); | xs = max(-Fxt, min(x, Fxt)); |
Y = 1 - abs(xs)/(3*Fxt); | |
if checkValve then | |
m_flow = valveCharacteristic(opening_actual)*Av*Y*sqrt(Medium.density(state_a))* (if xs>=0 then Utilities.regRoot(p*xs, dp_small) else 0); |
m_flow = homotopy(valveCharacteristic(opening_actual)*Av*Y*sqrt(Medium.density(state_a))* (if xs>=0 then Utilities.regRoot(p*xs, dp_turbulent) else 0), valveCharacteristic(opening_actual)*m_flow_nominal*dp/dp_nominal); |
elseif not allowFlowReversal then | |
m_flow = valveCharacteristic(opening_actual)*Av*sqrt(Medium.density(state_a))* Utilities.regRoot(p*xs, dp_small); |
m_flow = homotopy(valveCharacteristic(opening_actual)*Av*Y*sqrt(Medium.density(state_a))* Utilities.regRoot(p*xs, dp_turbulent), valveCharacteristic(opening_actual)*m_flow_nominal*dp/dp_nominal); |
else | |
m_flow = valveCharacteristic(opening_actual)*Av*Y* smooth(0, Utilities.regRoot(p*xs, dp_small)*(if xs>=0 then sqrt(Medium.density(state_a)) else sqrt(Medium.density(state_b)))); |
m_flow = homotopy(valveCharacteristic(opening_actual)*Av*Y* Utilities.regRoot2(p*xs, dp_turbulent, Medium.density(state_a), Medium.density(state_b)), valveCharacteristic(opening_actual)*m_flow_nominal*dp/dp_nominal); |
end if; |
Component |
Version 3.2 |
Version 3.2.1 |
dp_nominal | SIunits.Pressure | SIunits.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
Av | =0 | |
rho_nominal | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
dp_small | | protected |
=system.dp_small | =if system.use_eps_Re then dp_nominal/m_flow_nominal*m_flow_small else system.dp_small |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
d_a | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
d_b | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
dp_nominal | SIunits.AbsolutePressure | SIunits.Pressure |
m_flow_nominal | =1 | =if system.use_eps_Re then system.m_flow_nominal else 1e2*system.m_flow_small |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
| protected | |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
use_Re | Present | |
Re_turbulent | Present | |
m_flow_turbulent | Present | |
dp_turbulent | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if from_dp then |
|
m_flow = Utilities.regRoot2( dp_fg, dp_small, Medium.density(state_a)/BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal), Medium.density(state_b)/BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal)); |
m_flow = homotopy(Utilities.regRoot2( dp_fg, dp_turbulent, Medium.density(state_a)/BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal), Medium.density(state_b)/BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal)), m_flow_nominal*dp_fg/dp_nominal); |
else | |
dp_fg = Utilities.regSquare2( m_flow, m_flow_small, BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal)/Medium.density(state_a), BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal)/Medium.density(state_b)); |
dp_fg = homotopy(Utilities.regSquare2( m_flow, m_flow_turbulent, BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal)/Medium.density(state_a), BaseClasses.lossConstant_D_zeta(diameter, zeta_nominal)/Medium.density(state_b)), dp_nominal*m_flow/m_flow_nominal); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
ports_b_Xi_inStream | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
ports_b_C_inStream | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Component |
Version 3.2 |
Version 3.2.1 |
use_Re | =false | =system.use_eps_Re |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
| protected | |
m_flow_small | Present | |
m_flow_nominal | Present | |
state_nominal | Present | |
dp_nominal | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if from_dp then |
|
m_flow = if use_Re then massFlowRate_dp_and_Re( dp_fg, Medium.density(state_a), Medium.density(state_b), Medium.dynamicViscosity(state_a), Medium.dynamicViscosity(state_b), data) else massFlowRate_dp(dp_fg, Medium.density(state_a), Medium.density(state_b), data, dp_small); |
m_flow = homotopy(if use_Re then massFlowRate_dp_and_Re( dp_fg, Medium.density(state_a), Medium.density(state_b), Medium.dynamicViscosity(state_a), Medium.dynamicViscosity(state_b), data) else massFlowRate_dp(dp_fg, Medium.density(state_a), Medium.density(state_b), data, dp_small), m_flow_nominal*dp_fg/dp_nominal); |
else | |
dp_fg = if use_Re then pressureLoss_m_flow_and_Re( m_flow, Medium.density(state_a), Medium.density(state_b), Medium.dynamicViscosity(state_a), Medium.dynamicViscosity(state_b), data) else pressureLoss_m_flow(m_flow, Medium.density(state_a), Medium.density(state_b), data, m_flow_small); |
dp_fg = homotopy(if use_Re then pressureLoss_m_flow_and_Re( m_flow, Medium.density(state_a), Medium.density(state_b), Medium.dynamicViscosity(state_a), Medium.dynamicViscosity(state_b), data) else pressureLoss_m_flow(m_flow, Medium.density(state_a), Medium.density(state_b), data, m_flow_small), dp_nominal*m_flow/m_flow_nominal); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
dp_small | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
| protected | |
m_flow_small | Present | |
m_flow_nominal | Present | |
state_nominal | Present | |
dp_nominal | Present |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
sum(ports.m_flow) = -m_flow_in_internal; | if Medium.ThermoStates == IndependentVariables.ph or Medium.ThermoStates == IndependentVariables.phX then |
medium.h = Medium.specificEnthalpy(Medium.setState_pTX(medium.p, T_in_internal, X_in_internal)); else |
|
medium.T = T_in_internal; | |
end if; sum(ports.m_flow) = -m_flow_in_internal; |
|
medium.Xi = X_in_internal[1:Medium.nXi]; ... |
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
sum(ports.m_flow) = -m_flow_in_internal; | if Medium.ThermoStates == IndependentVariables.ph or Medium.ThermoStates == IndependentVariables.phX then |
medium.h = h_in_internal; | |
medium.Xi = X_in_internal[1:Medium.nXi]; | else |
ports.C_outflow = fill(C_in_internal, nPorts); | medium.T = Medium.temperature(Medium.setState_phX(medium.p, h_in_internal, X_in_internal)); |
end if; sum(ports.m_flow) = -m_flow_in_internal; medium.Xi = X_in_internal[1:Medium.nXi]; ports.C_outflow = fill(C_in_internal, nPorts); |
Component |
Version 3.2 |
Version 3.2.1 |
rho_a_inflow | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
rho_b_inflow | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
T_a_inflow | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T_b_inflow | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
s_a_inflow | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
s_b_inflow | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
CVec | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Component |
Version 3.2 |
Version 3.2.1 |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
rho_a_inflow | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
rho_b_inflow | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
port_a | Present | |
port_b | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port_a.m_flow = 0; | p_rel = port_a.p - port_b.p; |
port_b.m_flow = 0; port_a.h_outflow = 0; port_b.h_outflow = 0; port_a.Xi_outflow = zeros(Medium.nXi); port_b.Xi_outflow = zeros(Medium.nXi); port_a.C_outflow = zeros(Medium.nC); port_b.C_outflow = zeros(Medium.nC); p_rel = port_a.p - port_b.p; |
Component |
Version 3.2 |
Version 3.2.1 |
port_a | Present | |
port_b | Present | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port_a.m_flow = 0; | T_rel = Medium.temperature(Medium.setState_phX(port_a.p, inStream(port_a.h_outflow), inStream(port_a.Xi_outflow))) - Medium.temperature(Medium.setState_phX(port_b.p, inStream(port_b.h_outflow), inStream(port_b.Xi_outflow))); |
port_b.m_flow = 0; port_a.h_outflow = 0; port_b.h_outflow = 0; port_a.Xi_outflow = zeros(Medium.nXi); port_b.Xi_outflow = zeros(Medium.nXi); port_a.C_outflow = zeros(Medium.nC); port_b.C_outflow = zeros(Medium.nC); T_rel = Medium.temperature(Medium.setState_phX(port_a.p, inStream(port_a.h_outflow), inStream(port_a.Xi_outflow))) -  Medium.temperature(Medium.setState_phX(port_b.p, inStream(port_b.h_outflow), inStream(port_b.Xi_outflow))); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.m_flow = 0; | |
port.h_outflow = 0; | port.h_outflow = Medium.h_default; |
port.Xi_outflow = zeros(Medium.nXi); | port.Xi_outflow = Medium.X_default[1:Medium.nXi]; |
port.C_outflow = zeros(Medium.nC); |
Component |
Version 3.2 |
Version 3.2.1 |
m_flow_nominal | Present | |
m_flow_small | Present |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h_outflow | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Xi_outflow | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C_outflow | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Component |
Version 3.2 |
Version 3.2.1 |
dp_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
m_flow_small | =system.m_flow_small | =if system.use_eps_Re then system.eps_m_flow*system.m_flow_nominal else system.m_flow_small |
port_a_T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
port_b_T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_start | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_start | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_start | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C_start | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
mbC_flow | Media.Interfaces.PartialMedium.ExtraPropertyFlowRate | Media.Interfaces.Types.ExtraPropertyFlowRate |
Component |
Version 3.2 |
Version 3.2.1 |
p_a_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
p_b_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
ps_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_start | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_start | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_start | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C_start | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
Cs | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
mbC_flows | Media.Interfaces.PartialMedium.ExtraPropertyFlowRate | Media.Interfaces.Types.ExtraPropertyFlowRate |
Component |
Version 3.2 |
Version 3.2.1 |
d_a | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
d_b | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
eta_a | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
eta_b | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
kc := IN_var.lambda/d_hyd*(if IN_con.target == TYP.Rough then 0.023*Re^(4/5)* Pr^IN_con.exp_Pr else if IN_con.target == TYP.Middle then 0.023*Re^(4/5)*Pr ^(1/3)*(IN_var.eta/IN_var.eta_wall)^0.14 else if IN_con.target == 3 and Pr <= 1.5 then 0.0214*max(1, abs(Re^0.8 - 100))*Pr^0.4 else if IN_con.target == TYP.Finest then 0.012*max(1, abs(Re^0.87 - 280))*Pr^0.4 else 0); |
kc := IN_var.lambda/d_hyd*(if IN_con.target == TYP.Rough then 0.023*Re^(4/5)* Pr^IN_con.exp_Pr else if IN_con.target == TYP.Middle then 0.023*Re^(4/5)*Pr ^(1/3)*(IN_var.eta/IN_var.eta_wall)^0.14 else if IN_con.target == TYP.Finest and Pr <= 1.5 then 0.0214*max(1, abs(Re^0.8 - 100))*Pr^0.4 else if IN_con.target == TYP.Finest then 0.012*max(1, abs(Re^0.87 - 280))*Pr^0.4 else 0); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... Nu = kc*IN_con.d_hyd/max(MIN, IN_var.lambda); |
|
failureStatus = 0; |
|
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(true, "No choice of roughness is selected"); | assert(false, "No choice of roughness is selected"); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(true, "No choice of roughness is selected"); | assert(false, "No choice of roughness is selected"); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
v_lam | =Re_lam_leave*IN_var.eta/(IN_var.rho*d_hyd) | =(2*(d_hyd/IN_var.eta)^exp/(A*C1*zeta_LOC*B*(IN_var.rho)^(1
-
exp)))^(1/pow)*Fluid.Dissipation.Utilities.Functions.General.SmoothPower(abs(dp),
dp_min, 1/pow) |
v_smooth | =if
abs(dp) > dp_lam then
(2*abs(dp))^0.5*(A*C1*zeta_LOC*IN_var.rho)^(-0.5) else
(2*(d_hyd/IN_var.eta)^exp/(A*C1*zeta_LOC*B*(IN_var.rho)^(1 -
exp)))^(1/pow)*Modelica_3_2.Fluid.Dissipation.Utilities.Functions.General.SmoothPower(abs(dp),
dp_min, 1/pow) | =if
abs(dp) > dp_lam_max then v_turb else if abs(dp) < dp_lam_trans
then v_lam else SMOOTH(dp_lam_max, dp_lam_trans, abs(dp))*v_turb +
SMOOTH(dp_lam_trans, dp_lam_max, abs(dp))*v_lam |
dp_lam | Present | |
v_lam_trans | Present | |
v_lam_max | Present | |
dp_lam_trans | Present | |
dp_lam_max | Present | |
v_turb | Present |
Component |
Version 3.2 |
Version 3.2.1 |
l_bar | SIunits.Length | Real |
Component |
Version 3.2 |
Version 3.2.1 |
l_bar | SIunits.Length | Real |
Component |
Version 3.2 |
Version 3.2.1 |
Re_turb | =if
IN_con.roughness == 1 then (max(MIN, lambda_FRI_calc)/0.3164)^(1/1.75)
else -2*sqrt(max(lambda_FRI_calc,
MIN))*Modelica_3_2.Math.log10(2.51/sqrt(max(lambda_FRI_calc, MIN)) +
k/3.7) | =if
IN_con.roughness == Roughness.Neglected then (max(MIN,
lambda_FRI_calc)/0.3164)^(1/1.75) else -2*sqrt(max(lambda_FRI_calc,
MIN))*Modelica.Math.log10(2.51/sqrt(max(lambda_FRI_calc, MIN)) + k/3.7) |
Component |
Version 3.2 |
Version 3.2.1 |
voidFractionApproach | Fluid.Dissipation.Utilities.Types.Roughness | Fluid.Dissipation.Utilities.Types.VoidFractionApproach |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
DP_geo := (eps*rho_g + (1 - eps)*rho_l)*9.81*length*sin(min(PI/2, max(0, abs( phi)))); |
DP_geo := (eps*rho_g + (1 - eps)*rho_l)*9.81*length*sin(phi); |
|
Component |
Version 3.2 |
Version 3.2.1 |
voidFractionApproach | Fluid.Dissipation.Utilities.Types.Roughness | Fluid.Dissipation.Utilities.Types.VoidFractionApproach |
A_cross | Real | SIunits.Area |
dp_mom_cor | =SMOOTH(delta_xflow,
0.05, 0)*abs(mdot_A*meanVelEnd + mdotCorEnd*deltaVelEnd/Across) -
abs(mdot_A*meanVelEnd + mdotCorEnd*deltaVelEnd/Across) | =SMOOTH(delta_xflow,
0.05, 0)*abs(mdot_A*meanVelEnd + mdotCorEnd*deltaVelEnd/Across) -
abs(mdot_A*meanVelSta + mdotCorEnd*deltaVelSta/Across) |
Component |
Version 3.2 |
Version 3.2.1 |
voidFractionApproach | Fluid.Dissipation.Utilities.Types.Roughness | Fluid.Dissipation.Utilities.Types.VoidFractionApproach |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
rho_2ph := if massFlowRateCorrection then rho_hom else if voidFractionApproach == Modelica_3_2.Fluid.Dissipation.Utilities.Types.VoidFractionApproach.Homogeneous then rho_hom else if voidFractionApproach == Modelica_3_2.Fluid.Dissipation.Utilities.Types.VoidFractionApproach.Momentum then rho_mom else if voidFractionApproach == Modelica_3_2.Fluid.Dissipation.Utilities.Types.VoidFractionApproach.Energy then rho_kin else MIN; |
rho_2ph := if not massFlowRateCorrection then rho_hom else if voidFractionApproach == Modelica.Fluid.Dissipation.Utilities.Types.VoidFractionApproach.Homogeneous then rho_hom else if voidFractionApproach == Modelica.Fluid.Dissipation.Utilities.Types.VoidFractionApproach.Momentum then rho_mom else if voidFractionApproach == Modelica.Fluid.Dissipation.Utilities.Types.VoidFractionApproach.Energy then rho_kin else MIN; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
assert(y > -1/Modelica_3_2.Math.exp(1), "Lambert-w-function is only valid for inputs y > -1/Modelica.Math.exp(1)!"); |
assert(y > -1/Modelica.Math.exp(1), "Lambert-w-function is only valid for inputs y > -1/Modelica.Math.exp(1)!"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
dresult := if x >= 0.999*(func - nofunc) + nofunc and func > nofunc or x <= 0.999*(func - nofunc) + nofunc and nofunc > func or x <= 0.001*(func - nofunc) + nofunc and func > nofunc or x >= 0.001*(func - nofunc) + nofunc and nofunc > func then 0 else (1 - Modelica_3_2.Math.tanh(Modelica_3_2.Math.tan(m*x + b)) ^2)*(1 + Modelica_3_2.Math.tan(m*x + b)^2)*m*dx; |
dresult := if x >= 0.999*(func - nofunc) + nofunc and func > nofunc or x <= 0.999*(func - nofunc) + nofunc and nofunc > func or x <= 0.001*(func - nofunc) + nofunc and func > nofunc or x >= 0.001*(func - nofunc) + nofunc and nofunc > func then 0 else (1 - Modelica.Math.tanh(Modelica.Math.tan(m* x + b))^2)*(1 + Modelica.Math.tan(m*x + b)^2)*m*dx/2; |
|
Component |
Version 3.2 |
Version 3.2.1 |
MM | SIunits.MolarMass | Fluid.Dissipation.Utilities.Types.MolarMass_gpmol |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(x0<x1, "regFun3(): Data points not sorted appropriately (x0 = "+String(x0)+" > x1 = "+String(x1)+"). Please flip arguments."); |
|
if y0d*y1d >= 0 then else assert(abs(y0d)<Modelica.Constants.eps or abs(y1d)<Modelica.Constants.eps, "regFun3(): Derivatives at data points do not allow co-monotone interpolation, as both are non-zero, of opposite sign and have an absolute value larger than machine eps (y0d = " +  String(y0d) + ", y1d = " + String(y1d) + "). Please correct arguments."); end if; |
|
h0 = x1 - x0; ... if abs(Delta0)<=0 then |
|
y = y0; | y = y0 + Delta0*(x-x0); |
c = 0; |
|
elseif abs(y1d + y0d - 2*Delta0) < 100*Modelica_3_2.Constants.eps then | |
y = (y0d+y1d-2*Delta0)*(x-x0)^3/h0^2+(-2*y0d-y1d+3*Delta0)*(x-x0)^2/h0+y0d*(x-x0)+y0; | y = y0 + (x-x0)*(y0d + (x-x0)/h0*( (-2*y0d-y1d+3*Delta0) + (x-x0)*(y0d+y1d-2*Delta0)/h0)); |
aux01 = (x0+x1)/2; ... else |
|
y = (y0d+y1d-2*Delta0)*(x-x0)^3/h0^2+(-2*y0d-y1d+3*Delta0)*(x-x0)^2/h0+y0d*(x-x0)+y0; | y = y0 + (x-x0)*(y0d + (x-x0)/h0*( (-2*y0d-y1d+3*Delta0) + (x-x0)*(y0d+y1d-2*Delta0)/h0)); |
aux01 = (x0+x1)/2; ... |
Component |
Version 3.2 |
Version 3.2.1 |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
Component |
Version 3.2 |
Version 3.2.1 |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
k | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
a | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
h_is | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
medium | p(start=1.e5, stateSelect=StateSelect.prefer) | p(start=1.e5, fixed=true, stateSelect=StateSelect.prefer) |
h(start=1.0e5, stateSelect=StateSelect.prefer) | h(start=1.0e5, fixed=true, stateSelect=StateSelect.prefer) | |
V | | fixed=true |
H_flow_ext | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
Component |
Version 3.2 |
Version 3.2.1 |
medium1 | p(start=1.e5, stateSelect=StateSelect.prefer) | p(start=1.e5, fixed=true, stateSelect=StateSelect.prefer) |
T(start=300, stateSelect=StateSelect.prefer) | T(start=300, fixed=true, stateSelect=StateSelect.prefer) | |
cp1 | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
eta1 | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda1 | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
medium2 | p(start=1.e5, stateSelect=StateSelect.prefer) | p(start=1.e5, fixed=true, stateSelect=StateSelect.prefer) |
T(start=300, stateSelect=StateSelect.prefer) | T(start=300, fixed=true, stateSelect=StateSelect.prefer) | |
cp2 | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
eta2 | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda2 | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
Component |
Version 3.2 |
Version 3.2.1 |
medium | T(start=274.0) | T(start=274.0, fixed=true) |
p(start=1.0e5) | p(start=1.0e5, fixed=true) | |
MMx | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
MM | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
unitTime | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... state1.T = 300 + 10*time; |
|
state1.X = {time, 1-time}; | state1.X = {time,1 - time}/unitTime; |
state2.p = 1.e5*(1+time/2); | |
state2.T = 340 - 20*time; | |
state2.X = {0.5*time, 1-0.5*time}; | state2.X = {0.5*time,1 - 0.5*time}/unitTime; |
smoothState = Medium.setSmoothState(m_flow_ext, state1, state2, 0.2); ... |
Component |
Version 3.2 |
Version 3.2.1 |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
eta_d | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
eta_b | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda_d | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
lambda_b | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
cp_d | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cp_b | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
x | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
s_b | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
s_d | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
medium | p(start=700.0) | p(start=2000.0, fixed=true) |
h(start=8.0e5) | h(start=8.0e5, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
medium | T(start=200.0) | T(start=200.0, fixed=true) |
p(start=1.0e5) | p(start=1.0e5, fixed=true) | |
medium2 | T(start=300.0) | T(start=300.0, fixed=true) |
X(start={0.2,0.8}) | X(start={0.2,0.8}, fixed=true) | |
p(start=2.0e5) | p(start=2.0e5, fixed=true) | |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
s2 | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
a | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
h_is | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
state | T(start=200.0) | T(start=200.0, fixed=true) |
p(start=1.0e5) | p(start=1.0e5, fixed=true) | |
medium2 | T(start=300.0) | T(start=300.0, fixed=true) |
X(start={0.2,0.1,0.3,0.4}) | X(start={0.2,0.1,0.3,0.4}, fixed=true) | |
p(start=2.0e5) | p(start=2.0e5, fixed=true) | |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
s2 | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
a | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
h_is | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
MMx | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
MM | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Component |
Version 3.2 |
Version 3.2.1 |
H_flow_ext | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
medium | p(start=1.e5) | p(start=1.e5, fixed=true) |
T(start=300) | T(start=300, fixed=true) | |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
a | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
Component |
Version 3.2 |
Version 3.2.1 |
H_flow_ext | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
medium | p(start=1.e5) | p(start=1.e5, fixed=true) |
T(start=300) | T(start=300, fixed=true) | |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
a | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
H_flow | Media.Interfaces.PartialMedium.EnthalpyFlowRate | Media.Interfaces.Types.EnthalpyFlowRate |
Xi | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
C | Media.Interfaces.PartialMedium.ExtraProperty | Media.Interfaces.Types.ExtraProperty |
mC_flow | Media.Interfaces.PartialMedium.ExtraPropertyFlowRate | Media.Interfaces.Types.ExtraPropertyFlowRate |
Component |
Version 3.2 |
Version 3.2.1 |
p_start | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
d_start | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T_start | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_start | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_start | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
T_ambient | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_ambient | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_ambient | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p_ambient | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
d_ambient | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T_ambient | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_ambient | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_ambient | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
dp_nominal | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
h_min | =Medium.h_T(Medium.data, T_min) | =Medium.specificEnthalpy(Medium.setState_pT(p, T_min)) |
h_max | =Medium.h_T(Medium.data, T_max) | =Medium.specificEnthalpy(Medium.setState_pT(p, T_max)) |
h1 | | start=h_min |
| fixed=true | |
s1 | | start=s_min |
| fixed=true |
Equations in Version 3.2 | Equations in Version 3.2.1 |
h1 = if time < 0 then h_min else if time > 1 then h_max else h_min + time/timeUnit*(h_max - h_min); |
der(h1) = if time < 1.0 then 1/timeUnit*(h_max - h_min) else 0.0; |
s1 = if time < 0 then s_min else if time > 1 then s_max else s_min + time/timeUnit*(s_max - s_min); |
der(s1) = if time < 1.0 then 1/timeUnit*(s_max - s_min) else 0.0; |
Th = Medium.temperature_phX(p, h1, fill(0.0,0)); ... |
Component |
Version 3.2 |
Version 3.2.1 |
h1 | | start=h_min |
| fixed=true | |
s1 | | start=s_min |
| fixed=true |
Equations in Version 3.2 | Equations in Version 3.2.1 |
h1 = if time < 0 then h_min else if time > 1 then h_max else h_min + time/timeUnit*(h_max - h_min); |
der(h1) = if time < 1.0 then 1/timeUnit*(h_max - h_min) else 0.0; |
s1 = if time < 0 then s_min else if time > 1 then s_max else s_min + time/timeUnit*(s_max - s_min); |
der(s1) = if time < 1.0 then 1/timeUnit*(s_max - s_min) else 0.0; |
Th = Medium.temperature_phX(p, h1, fill(0.0,0)); ... |
Component |
Version 3.2 |
Version 3.2.1 |
h_min | | parameter |
h_max | | parameter |
s_min | | parameter |
s_max | | parameter |
h1 | | start=h_min |
| fixed=true | |
s1 | | start=s_min |
| fixed=true | |
X | | parameter |
| =Medium.reference_X |
Equations in Version 3.2 | Equations in Version 3.2.1 |
X = Medium.reference_X; | der(h1) = if time < 1.0 then 1/timeUnit*(h_max - h_min) else 0.0; |
h1 = if time < 0 then h_min else if time > 1 then h_max else h_min + time/timeUnit*(h_max - h_min); |
der(s1) = if time < 1.0 then 1/timeUnit*(s_max - s_min) else 0.0; |
s1 = if time < 0 then s_min else  if time > 1 then s_max else  s_min + time/timeUnit*(s_max - s_min); |
|
Th = Medium.temperature_phX(p, h1, X); ... |
Component |
Version 3.2 |
Version 3.2.1 |
cp_const | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
ThermoStates | Media.Interfaces.PartialMedium.Choices.IndependentVariables | Media.Interfaces.Choices.IndependentVariables |
reference_p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
reference_T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
reference_X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
p_default | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T_default | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h_default | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X_default | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
record |
| shortClass
|
iupacName | Present | |
casRegistryNumber | Present | |
chemicalFormula | Present | |
structureFormula | Present | |
molarMass | Present |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
u | Media.Interfaces.PartialMedium.SpecificInternalEnergy | Media.Interfaces.Types.SpecificInternalEnergy |
R | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
MM | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Component |
Version 3.2 |
Version 3.2.1 |
lambda | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
Component |
Version 3.2 |
Version 3.2.1 |
Pr | Media.Interfaces.PartialMedium.PrandtlNumber | Media.Interfaces.Types.PrandtlNumber |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
u | Media.Interfaces.PartialMedium.SpecificEnergy | Media.Interfaces.Types.SpecificEnergy |
Component |
Version 3.2 |
Version 3.2.1 |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
g | Media.Interfaces.PartialMedium.SpecificEnergy | Media.Interfaces.Types.SpecificEnergy |
Component |
Version 3.2 |
Version 3.2.1 |
f | Media.Interfaces.PartialMedium.SpecificEnergy | Media.Interfaces.Types.SpecificEnergy |
Component |
Version 3.2 |
Version 3.2.1 |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
Component |
Version 3.2 |
Version 3.2.1 |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
Component |
Version 3.2 |
Version 3.2.1 |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
Component |
Version 3.2 |
Version 3.2.1 |
p_downstream | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h_is | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
a | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
Component |
Version 3.2 |
Version 3.2.1 |
beta | Media.Interfaces.PartialMedium.IsobaricExpansionCoefficient | Media.Interfaces.Types.IsobaricExpansionCoefficient |
Component |
Version 3.2 |
Version 3.2.1 |
ddph | Media.Interfaces.PartialMedium.DerDensityByPressure | Media.Interfaces.Types.DerDensityByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
ddhp | Media.Interfaces.PartialMedium.DerDensityByEnthalpy | Media.Interfaces.Types.DerDensityByEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
ddpT | Media.Interfaces.PartialMedium.DerDensityByPressure | Media.Interfaces.Types.DerDensityByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
ddTp | Media.Interfaces.PartialMedium.DerDensityByTemperature | Media.Interfaces.Types.DerDensityByTemperature |
Component |
Version 3.2 |
Version 3.2.1 |
dddX | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
MM | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
package |
| shortClass
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
cp_const | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
beta_const | Media.Interfaces.PartialMedium.IsobaricExpansionCoefficient | Media.Interfaces.Types.IsobaricExpansionCoefficient |
MM_const | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
reference_d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
reference_h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
reference_s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
fluidConstants | Media.Interfaces.PartialMixtureMedium.FluidConstants | Media.Interfaces.PartialMedium.FluidConstants |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
MMX | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Mmix | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Component |
Version 3.2 |
Version 3.2.1 |
Tsat | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
psat | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
r0 | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
smoothModel | | =false |
onePhase | | =false |
fluidConstants | Media.Interfaces.PartialTwoPhaseMedium.FluidConstants | Media.Interfaces.PartialMedium.FluidConstants |
Component |
Version 3.2 |
Version 3.2.1 |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
dl | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
dv | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
dTp | Real | Media.Interfaces.Types.DerTemperatureByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
dTp | Real | Media.Interfaces.Types.DerTemperatureByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
sigma | Media.Interfaces.PartialMedium.SurfaceTension | Media.Interfaces.Types.SurfaceTension |
Component |
Version 3.2 |
Version 3.2.1 |
function | partial
|
|
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
ddldp | Media.Interfaces.PartialMedium.DerDensityByPressure | Media.Interfaces.Types.DerDensityByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
ddvdp | Media.Interfaces.PartialMedium.DerDensityByPressure | Media.Interfaces.Types.DerDensityByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
dhldp | Media.Interfaces.PartialMedium.DerEnthalpyByPressure | Media.Interfaces.Types.DerEnthalpyByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
dhvdp | Media.Interfaces.PartialMedium.DerEnthalpyByPressure | Media.Interfaces.Types.DerEnthalpyByPressure |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
x | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
x | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
x | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
eps | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
cp_const | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv_const | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
d_const | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
eta_const | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda_const | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
a_const | Media.Interfaces.PartialMedium.VelocityOfSound | Media.Interfaces.Types.VelocityOfSound |
T_min | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T_max | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T0 | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
MM_const | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state := ThermodynamicState(p=p, T=Modelica_3_2.Math.exp(s/cp_const + Modelica_3_2.Math.log(reference_T))) "here the incompressible limit is used, with cp as heat capacity"; |
state := ThermodynamicState(p=p, T=Modelica.Math.exp(s/cp_const + Modelica.Math.log(reference_T))) "Here the incompressible limit is used, with cp as heat capacity"; |
|
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(false,"pressure can not be computed from temperature and density for an incompressible fluid!"); | assert(false, "Pressure can not be computed from temperature and density for an incompressible fluid!"); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
cp_const | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
cv_const | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
R_gas | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
MM_const | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
eta_const | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda_const | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
T_min | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T_max | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T0 | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
fluidConstants | Present |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
u := cp_const*(state.T-T0) - R_gas*state.T; | u := (cp_const - R_gas)*(state.T - T0); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
MINPOS | protected | |
AMIN | protected | |
AMAX | protected | |
ANOM | protected | |
MOLMIN | protected | |
MOLMAX | protected | |
MOLNOM | protected | |
DMIN | protected | |
=MINPOS | =1e-6 | |
DMAX | protected | |
=1.0e5 | =30.0e3 | |
DNOM | protected | |
LAMMIN | protected | |
LAMNOM | protected | |
LAMMAX | protected | |
ETAMIN | protected | |
ETAMAX | protected | |
ETANOM | protected | |
EMIN | protected | |
EMAX | protected | |
ENOM | protected | |
SMIN | protected | |
SMAX | protected | |
SNOM | protected | |
MDOTMIN | protected | |
MDOTMAX | protected | |
MDOTNOM | protected | |
MASSXMIN | protected | |
MASSXMAX | protected | |
MASSXNOM | protected | |
MMIN | protected | |
MMAX | protected | |
MNOM | protected | |
MMMIN | protected | |
MMMAX | protected | |
MMNOM | protected | |
MOLEYMIN | protected | |
MOLEYMAX | protected | |
MOLEYNOM | protected | |
GMIN | protected | |
GMAX | protected | |
GNOM | protected | |
POWMIN | protected | |
POWMAX | protected | |
POWNOM | protected | |
PMIN | protected | |
PMAX | protected | |
PNOM | protected | |
COMPPMIN | protected | |
COMPPMAX | protected | |
COMPPNOM | protected | |
KAPPAMIN | protected | |
KAPPAMAX | protected | |
KAPPANOM | protected | |
SEMIN | protected | |
SEMAX | protected | |
SENOM | protected | |
SHMIN | protected | |
SHMAX | protected | |
SHNOM | protected | |
SSMIN | protected | |
SSMAX | protected | |
SSNOM | protected | |
CPMIN | protected | |
CPMAX | protected | |
CPNOM | protected | |
TMIN | protected | |
=MINPOS | =1.0 | |
TMAX | protected | |
=1.0e5 | =6000.0 | |
TNOM | protected | |
LMIN | protected | |
LMAX | protected | |
LNOM | protected | |
VELMIN | protected | |
VELMAX | protected | |
VELNOM | protected | |
VMIN | protected | |
VMAX | protected | |
VNOM | protected | |
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
type | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
package | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
fluidConstants | Present | |
airConstants | Present |
Component |
Version 3.2 |
Version 3.2.1 |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
eta := Incompressible.TableBased.Polynomials_Temp.evaluate({(-4.96717436974791E-011), 5.06626785714286E-008, 1.72937731092437E-005}, Cv.to_degC(state.T)); | eta := 1e-6*Polynomials_Temp.evaluateWithRange( {9.7391102886305869E-15,-3.1353724870333906E-11,4.3004876595642225E-08, -3.8228016291758240E-05,5.0427874367180762E-02,1.7239260139242528E+01}, Cv.to_degC(123.15), Cv.to_degC(1273.15), Cv.to_degC(state.T)); |
|
Component |
Version 3.2 |
Version 3.2.1 |
lambda | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
lambda := Incompressible.TableBased.Polynomials_Temp.evaluate({(-4.8737307422969E-008), 7.67803133753502E-005, 0.0241814385504202},Cv.to_degC(state.T)); | lambda := 1e-3*Polynomials_Temp.evaluateWithRange( {6.5691470817717812E-15,-3.4025961923050509E-11,5.3279284846303157E-08, -4.5340839289219472E-05,7.6129675309037664E-02,2.4169481088097051E+01}, Cv.to_degC(123.15), Cv.to_degC(1273.15), Cv.to_degC(state.T)); |
|
Component |
Version 3.2 |
Version 3.2.1 |
x_water | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
X_liquid | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
X_steam | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
X_air | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
X_sat | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
x_sat | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
p_steam_sat | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Equations in Version 3.2 | Equations in Version 3.2.1 |
assert(T >= 200.0 and T <= 423.15, " Temperature T is not in the allowed range 200.0 K <= (T =" + String(T) + " K) <= 423.15 K required from medium model \"" + mediumName + "\"."); |
assert(T >= 190 and T <= 647, " Temperature T is not in the allowed range 190.0 K <= (T =" + String(T) + " K) <= 647.0 K required from medium model \"" + mediumName + "\"."); |
MM = 1/(Xi[Water]/MMX[Water]+(1.0-Xi[Water])/MMX[Air]); ... |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
X_sat | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
x_sat | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
x_sat | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X_steam | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
psat | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
Tcritical | Present | |
pcritical | Present | |
r1 | Present | |
a | Present | |
n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
psat := 611.657*Math.exp(17.2799 - 4102.99/(Tsat - 35.719)); | psat := exp(((a[1]*r1^n[1] + a[2]*r1^n[2] + a[3]*r1^n[3] + a[4]*r1^n[4] + a[5]*r1^n[5] + a[6]*r1^n[6])*Tcritical)/Tsat)*pcritical; |
|
Component |
Version 3.2 |
Version 3.2.1 |
Tcritical | Present | |
pcritical | Present | |
r1 | Present | |
r1_der | Present | |
a | Present | |
n | Present | |
r2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
psat_der:=611.657*Math.exp(17.2799 - 4102.99/(Tsat - 35.719))*4102.99*dTsat/(Tsat - 35.719)/(Tsat - 35.719); | psat_der := exp((r2*Tcritical)/Tsat)*pcritical*((a[1]*(r1^(n[1] - 1)*n[1] *r1_der) + a[2]*(r1^(n[2] - 1)*n[2]*r1_der) + a[3]*(r1^(n[3] - 1)*n[3]* r1_der) + a[4]*(r1^(n[4] - 1)*n[4]*r1_der) + a[5]*(r1^(n[5] - 1)*n[5]* r1_der) + a[6]*(r1^(n[6] - 1)*n[6]*r1_der))*Tcritical/Tsat - r2* Tcritical*dTsat/Tsat^2); |
|
Component |
Version 3.2 |
Version 3.2.1 |
Ttriple | Present | |
ptriple | Present | |
r1 | Present | |
a | Present | |
n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
psat := 611.657*Math.exp(22.5159*(1.0 - 273.16/Tsat)); | psat := exp(a[1] - a[1]*r1^n[1] + a[2] - a[2]*r1^n[2])*ptriple; |
|
Component |
Version 3.2 |
Version 3.2.1 |
Ttriple | Present | |
ptriple | Present | |
r1 | Present | |
r1_der | Present | |
a | Present | |
n | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
psat_der:=611.657*Math.exp(22.5159*(1.0 - 273.16/Tsat))*22.5159*273.16*dTsat/Tsat/Tsat; | psat_der := exp(a[1] - a[1]*r1^n[1] + a[2] - a[2]*r1^n[2])*ptriple*(-(a[1] *(r1^(n[1] - 1)*n[1]*r1_der)) - (a[2]*(r1^(n[2] - 1)*n[2]*r1_der))); |
|
Component |
Version 3.2 |
Version 3.2.1 |
Tsat | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
T_min | =200 | =190 |
T_max | =400 | =647 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
T:=Internal.solve(p, T_min, T_max); | T := Internal.solve( p, T_min, T_max, f_nonlinear_data=Internal.f_nonlinear_Data()); |
|
Component |
Version 3.2 |
Version 3.2.1 |
Tcritical | Present | |
dcritical | Present | |
pcritical | Present | |
n | Present | |
a | Present | |
m | Present | |
b | Present | |
o | Present | |
c | Present | |
tau | Present | |
r1 | Present | |
r2 | Present | |
dp | Present | |
dpp | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
r0:=(2405900-2500500)/(40-0)*(T-273.16)+2500500; | r0 := -(((dp - dpp)*exp(r1)*pcritical*(r2 + r1*tau))/(dp*dpp*tau)) "Difference of equations (7) and (6)"; |
|
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
cp_fl | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h := SingleGasNasa.h_Tlow(data=steam, T=T, refChoice=3, h_off=46479.819+2501014.5)*X[Water] + SingleGasNasa.h_Tlow(data=dryair, T=T, refChoice=3, h_off=25104.684)*(1.0-X[Water]); |
h := Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5)*X[Water] + Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684)*(1.0 - X[Water]); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h := SingleGasNasa.h_Tlow(data=steam, T=T, refChoice=3, h_off=46479.819+2501014.5); | h := Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h := SingleGasNasa.h_Tlow(data=dryair, T=T, refChoice=3, h_off=25104.684); | h := Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
T := Internal.solve(h, 240, 400, p, X[1:nXi], steam); | T := Internal.solve( h, 190, 647, p, X[1:nXi], steam); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... X_air = 1 - X[Water]; |
|
h = {SingleGasNasa.h_Tlow(data=steam, T=T, refChoice=3, h_off=46479.819+2501014.5), SingleGasNasa.h_Tlow(data=dryair, T=T, refChoice=3, h_off=25104.684)}* {X_steam, X_air} + enthalpyOfWater(T)*X_liquid; |
h = {Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5), Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684)}*{X_steam,X_air} + enthalpyOfWater(T)*X_liquid; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... X_sat= min(x_sat*(1 - X[Water]), 1.0); |
|
X_liquid = Utilities.spliceFunction(X[Water] - X_sat, 0.0, X[Water] - X_sat,1e-6); | X_liquid = Utilities.smoothMax( X[Water] - X_sat, 0.0, 1e-5); |
X_steam = X[Water] - X_liquid; ... dx_sat= k_mair*(dps*(p-p_steam_sat)-p_steam_sat*(dp-dps))/(p-p_steam_sat)/(p-p_steam_sat); |
|
dX_liq= Utilities.spliceFunction_der(X[Water] - X_sat, 0.0, X[Water] - X_sat,1e-6,(1+x_sat)*dX[Water]-(1-X[Water])*dx_sat,0.0,(1+x_sat)*dX[Water]-(1-X[Water])*dx_sat,0.0); | dX_liq = Utilities.smoothMax_der( X[Water] - X_sat, 0.0, 1e-5, (1 + x_sat)*dX[Water] - (1 - X[Water])*dx_sat, 0, 0); |
dX_steam= dX[Water]-dX_liq; | |
h_der = X_steam* Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_Tlow_der( data=steam, T=T, refChoice=3, h_off=46479.819 + 2501014.5, dT=dT) + dX_steam* Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_Tlow( data=steam, T=T, refChoice=3, h_off=46479.819 + 2501014.5) + X_air* Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_Tlow_der( data=dryair, T=T, refChoice=3, h_off=25104.684, dT=dT) + dX_air* Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_Tlow( data=dryair, T=T, refChoice=3, h_off=25104.684) + X_liquid*enthalpyOfWater_der(T=T, dT=dT) + dX_liq*enthalpyOfWater(T); |
h_der = X_steam*Modelica.Media.IdealGases.Common.Functions.h_Tlow_der( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5, dT=dT) + dX_steam*Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5) + X_air* Modelica.Media.IdealGases.Common.Functions.h_Tlow_der( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684, dT=dT) + dX_air*Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684) + X_liquid*enthalpyOfWater_der(T=T, dT=dT) + dX_liq*enthalpyOfWater(T); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p2 | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h_is | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
X := if reducedX then cat(1,state.X,{1-sum(state.X)}) else state.X; | X := state.X; |
h = {SingleGasNasa.h_Tlow(data=steam, T=state.T, refChoice=3, h_off=46479.819+2501014.5), SingleGasNasa.h_Tlow(data=dryair, T=state.T, refChoice=3, h_off=25104.684)}*X; |
h = {Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=state.T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5), Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=state.T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684)}*X; |
h_is = h + gamma/(gamma - 1.0)*(state.T*gasConstant(state))* ((p2/state.p)^((gamma - 1)/gamma) - 1.0); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... R_gas= dryair.R*X_air/(1-X_liquid)+steam.R* X_steam/(1-X_liquid); |
|
u = X_steam*SingleGasNasa.h_Tlow(data=steam, T=T, refChoice=3, h_off=46479.819+2501014.5)+ X_air*SingleGasNasa.h_Tlow(data=dryair, T=T, refChoice=3, h_off=25104.684) + enthalpyOfWater(T)*X_liquid-R_gas*T; |
u = X_steam*Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5) + X_air* Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684) + enthalpyOfWater(T)*X_liquid - R_gas*T; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... dR_gas= (steam.R*(dX_steam*(1-X_liquid)+dX_liq*X_steam)+dryair.R*(dX_air*(1-X_liquid)+dX_liq*X_air))/(1-X_liquid)/(1-X_liquid); |
|
u_der= X_steam*SingleGasNasa.h_Tlow_der(data=steam, T=T, refChoice=3, h_off=46479.819+2501014.5, dT=dT)+ dX_steam*SingleGasNasa.h_Tlow(data=steam, T=T, refChoice=3, h_off=46479.819+2501014.5) + X_air*SingleGasNasa.h_Tlow_der(data=dryair, T=T, refChoice=3, h_off=25104.684, dT=dT) + dX_air*SingleGasNasa.h_Tlow(data=dryair, T=T, refChoice=3, h_off=25104.684) + X_liquid*enthalpyOfWater_der(T=T, dT=dT) + dX_liq*enthalpyOfWater(T) - dR_gas*T-R_gas*dT; |
u_der = X_steam*Modelica.Media.IdealGases.Common.Functions.h_Tlow_der( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5, dT=dT) + dX_steam*Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=steam, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=46479.819 + 2501014.5) + X_air* Modelica.Media.IdealGases.Common.Functions.h_Tlow_der( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684, dT=dT) + dX_air*Modelica.Media.IdealGases.Common.Functions.h_Tlow( data=dryair, T=T, refChoice=ReferenceEnthalpy.UserDefined, h_off=25104.684) + X_liquid*enthalpyOfWater_der(T=T, dT=dT) + dX_liq*enthalpyOfWater(T) - dR_gas*T - R_gas*dT; |
|
Component |
Version 3.2 |
Version 3.2.1 |
Y | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
s := SingleGasNasa.s0_Tlow(dryair, state.T)*(1 - state.X[Water]) + SingleGasNasa.s0_Tlow(steam, state.T)*state.X[Water] - (state.X[ Water]*Modelica_3_2.Constants.R/MMX[Water]*(if state.X[Water] < Modelica_3_2.Constants.eps then state.X[Water] else Modelica_3_2.Math.log(Y[Water]*state.p/reference_p)) + (1 - state.X[ Water])*Modelica_3_2.Constants.R/MMX[Air]*(if (1 - state.X[Water]) < Modelica_3_2.Constants.eps then (1 - state.X[Water]) else Modelica_3_2.Math.log(Y[Air]*state.p/reference_p))); |
s := s_pTX( state.p, state.T, state.X); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
cv:= SingleGasNasa.cp_Tlow(dryair, state.T)*(1-state.X[Water]) + SingleGasNasa.cp_Tlow(steam, state.T)*state.X[Water] - gasConstant(state); |
cv := Modelica.Media.IdealGases.Common.Functions.cp_Tlow(dryair, state.T) *(1 - state.X[Water]) + Modelica.Media.IdealGases.Common.Functions.cp_Tlow(steam, state.T)* state.X[Water] - gasConstant(state); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
eta := Polynomials_Temp.evaluate({(-4.96717436974791E-011), 5.06626785714286E-008, 1.72937731092437E-005}, Cv.to_degC(state.T)); |
eta := 1e-6*Polynomials_Temp.evaluateWithRange( {9.7391102886305869E-15,-3.1353724870333906E-11,4.3004876595642225E-08, -3.8228016291758240E-05,5.0427874367180762E-02,1.7239260139242528E+01}, Cv.to_degC(123.15), Cv.to_degC(1273.15), Cv.to_degC(state.T)); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
lambda := Polynomials_Temp.evaluate({(-4.8737307422969E-008), 7.67803133753502E-005, 0.0241814385504202}, Cv.to_degC(state.T)); |
lambda := 1e-3*Polynomials_Temp.evaluateWithRange( {6.5691470817717812E-15,-3.4025961923050509E-11,5.3279284846303157E-08, -4.5340839289219472E-05,7.6129675309037664E-02,2.4169481088097051E+01}, Cv.to_degC(123.15), Cv.to_degC(1273.15), Cv.to_degC(state.T)); |
|
Component |
Version 3.2 |
Version 3.2.1 |
fluidConstants | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.PartialMedium.FluidConstants |
excludeEnthalpyOfFormation | Present | |
referenceChoice | Present | |
h_offset | Present |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... R = data.R; |
|
h = h_T(data, T, excludeEnthalpyOfFormation, referenceChoice, h_offset); | h = Modelica.Media.IdealGases.Common.Functions.h_T( data, T, Modelica.Media.IdealGases.Common.Functions.excludeEnthalpyOfFormation, Modelica.Media.IdealGases.Common.Functions.referenceChoice, Modelica.Media.IdealGases.Common.Functions.h_offset); |
u = h - R*T; ... |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h := h_T(data,state.T); | h := Modelica.Media.IdealGases.Common.Functions.h_T( data,state.T); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
u := h_T(data,state.T) - data.R*state.T; | u := Modelica.Media.IdealGases.Common.Functions.h_T( data,state.T) - data.R*state.T; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
s := s0_T(data, state.T) - data.R*Modelica_3_2.Math.log(state.p/ reference_p); |
s := Modelica.Media.IdealGases.Common.Functions.s0_T( data, state.T) - data.R*Modelica.Math.log(state.p/reference_p); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
g := h_T(data,state.T) - state.T*specificEntropy(state); | g := Modelica.Media.IdealGases.Common.Functions.h_T( data,state.T) - state.T*specificEntropy(state); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
f := h_T(data,state.T) - data.R*state.T - state.T*specificEntropy(state); | f := Modelica.Media.IdealGases.Common.Functions.h_T( data,state.T) - data.R*state.T - state.T*specificEntropy(state); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
cp := cp_T(data, state.T); | cp := Modelica.Media.IdealGases.Common.Functions.cp_T( data, state.T); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
cv := cp_T(data, state.T) - data.R; | cv := Modelica.Media.IdealGases.Common.Functions.cp_T( data, state.T) - data.R; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
a := sqrt(max(0,data.R*state.T*cp_T(data, state.T)/specificHeatCapacityCv(state))); | a := sqrt(max(0,data.R*state.T*Modelica.Media.IdealGases.Common.Functions.cp_T( data, state.T)/specificHeatCapacityCv(state))); |
|
Component |
Version 3.2 |
Version 3.2.1 |
exclEnthForm | =excludeEnthalpyOfFormation | =Functions.excludeEnthalpyOfFormation |
refChoice | Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Media.Interfaces.Choices.ReferenceEnthalpy |
h_off | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h_is := h_T(data,state.T,exclEnthForm,refChoice,h_off) + gamma/(gamma - 1.0)*state.p/density(state)*((p2/state.p)^((gamma - 1)/gamma) - 1.0); |
h_is := Modelica.Media.IdealGases.Common.Functions.h_T( data,state.T,exclEnthForm,refChoice,h_off) + gamma/(gamma - 1.0)*state.p/density(state)*((p2/state.p)^((gamma - 1)/gamma) - 1.0); |
|
Component |
Version 3.2 |
Version 3.2.1 |
exclEnthForm | =excludeEnthalpyOfFormation | =Functions.excludeEnthalpyOfFormation |
refChoice | Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Media.Interfaces.Choices.ReferenceEnthalpy |
h_off | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
mu | Media.Interfaces.PartialMedium.DipoleMoment | Media.Interfaces.Types.DipoleMoment |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
Tstar := 1.2593*T/Tc; | eta := Functions.dynamicViscosityLowPressure(T,Tc,M,Vc,w,mu,k); |
Ov = 1.16145*Tstar^(-0.14874) + 0.52487*exp(-0.7732*Tstar) + 2.16178*exp(-2.43787 *Tstar); |
|
eta = Const1_SI*Fc*sqrt(M*T)/(Vc^(2/3)*Ov); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(fluidConstants[1].hasDipoleMoment, "Failed to compute dynamicViscosity: For the species \"" + mediumName + "\" no critical data is available."); |
|
eta = dynamicViscosityLowPressure(state.T, fluidConstants[1].criticalTemperature, fluidConstants[1].molarMass, fluidConstants[1].criticalMolarVolume, fluidConstants[1].acentricFactor, fluidConstants[1].dipoleMoment); |
eta = Modelica.Media.IdealGases.Common.Functions.dynamicViscosityLowPressure( state.T, fluidConstants[1].criticalTemperature, fluidConstants[1].molarMass, fluidConstants[1].criticalMolarVolume, fluidConstants[1].acentricFactor, fluidConstants[1].dipoleMoment); |
|
Component |
Version 3.2 |
Version 3.2.1 |
Cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
data | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
lambda := if method == 1 then eta*(Cp - data.R + (9/4)*data.R) else eta*(Cp - data.R)*(1.32 + 1.77/((Cp/Modelica_3_2.Constants.R) - 1.0)); |
lambda := Functions.thermalConductivityEstimate(Cp,eta,method,data); |
|
Component |
Version 3.2 |
Version 3.2.1 |
method | =1 | =Functions.methodForThermalConductivity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(fluidConstants[1].hasCriticalData, "Failed to compute thermalConductivity: For the species \"" + mediumName + "\" no critical data is available."); |
|
lambda = thermalConductivityEstimate(specificHeatCapacityCp(state), dynamicViscosity(state), method=method); |
lambda = Modelica.Media.IdealGases.Common.Functions.thermalConductivityEstimate( specificHeatCapacityCp(state), dynamicViscosity(state), method=method,data=data); |
|
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
referenceChoice | Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Media.Interfaces.Choices.ReferenceEnthalpy |
h_offset | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
MMX | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
methodForThermalConductivity | Present |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state := if size(X,1) == nX then ThermodynamicState(p=p,T=T, X=X) else ThermodynamicState(p=p,T=T, X=cat(1,X,{1-sum(X)})); |
state := if size(X,1) == 0 then ThermodynamicState(p=p,T=T,X=reference_X) else if size(X,1) == nX then ThermodynamicState(p=p,T=T, X=X) else ThermodynamicState(p=p,T=T, X=cat(1,X,{1-sum(X)})); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state := if size(X,1) == nX then ThermodynamicState(p=p,T=T_hX(h,X),X=X) else ThermodynamicState(p=p,T=T_hX(h,X), X=cat(1,X,{1-sum(X)})); |
state := if size(X,1) == 0 then ThermodynamicState(p=p,T=T_hX(h,reference_X),X=reference_X) else if size(X,1) == nX then ThermodynamicState(p=p,T=T_hX(h,X),X=X) else ThermodynamicState(p=p,T=T_hX(h,X), X=cat(1,X,{1-sum(X)})); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state := if size(X,1) == nX then ThermodynamicState(p=p,T=T_psX(p,s,X),X=X) else ThermodynamicState(p=p,T=T_psX(p,s,X), X=cat(1,X,{1-sum(X)})); |
state := if size(X,1) == 0 then ThermodynamicState(p=p,T=T_psX(p,s,reference_X),X=reference_X) else if size(X,1) == nX then ThermodynamicState(p=p,T=T_psX(p,s,X),X=X) else ThermodynamicState(p=p,T=T_psX(p,s,X), X=cat(1,X,{1-sum(X)})); |
|
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state := if size(X,1) == nX then ThermodynamicState(p=d*(data.R*X)*T,T=T,X=X) else ThermodynamicState(p=d*(data.R*cat(1,X,{1-sum(X)}))*T,T=T, X=cat(1,X,{1-sum(X)})); |
state := if size(X,1) == 0 then ThermodynamicState(p=d*(data.R*reference_X)*T,T=T,X=reference_X) else if size(X,1) == nX then ThermodynamicState(p=d*(data.R*X)*T,T=T,X=X) else ThermodynamicState(p=d*(data.R*cat(1,X,{1-sum(X)}))*T,T=T, X=cat(1,X,{1-sum(X)})); |
|
Component |
Version 3.2 |
Version 3.2.1 |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
refChoice | Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Media.Interfaces.Choices.ReferenceEnthalpy |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h :=(if fixedX then reference_X else X)* {SingleGasNasa.h_T(data[i], T, exclEnthForm, refChoice, h_off) for i in 1:nX}; |
h :=(if fixedX then reference_X else X)* {Modelica.Media.IdealGases.Common.Functions.h_T( data[i], T, exclEnthForm, refChoice, h_off) for i in 1:nX}; |
|
Component |
Version 3.2 |
Version 3.2.1 |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
refChoice | Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Media.Interfaces.Choices.ReferenceEnthalpy |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
h_der := if fixedX then dT*sum((SingleGasNasa.cp_T(data[i], T)*reference_X[i]) for i in 1:nX) else dT*sum((SingleGasNasa.cp_T(data[i], T)*X[i]) for i in 1:nX)+ sum((SingleGasNasa.h_T(data[i], T)*dX[i]) for i in 1:nX); |
h_der := if fixedX then dT*sum((Modelica.Media.IdealGases.Common.Functions.cp_T( data[i], T)*reference_X[i]) for i in 1:nX) else dT*sum((Modelica.Media.IdealGases.Common.Functions.cp_T( data[i], T)*X[i]) for i in 1:nX)+ sum((Modelica.Media.IdealGases.Common.Functions.h_T( data[i], T)*dX[i]) for i in 1:nX); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
cp := {SingleGasNasa.cp_T(data[i], state.T) for i in 1:nX}*state.X; | cp := {Modelica.Media.IdealGases.Common.Functions.cp_T( data[i], state.T) for i in 1:nX}*state.X; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
cv := {SingleGasNasa.cp_T(data[i], state.T) for i in 1:nX}*state.X -data.R*state.X; | cv := {Modelica.Media.IdealGases.Common.Functions.cp_T( data[i], state.T) for i in 1:nX}*state.X -data.R*state.X; |
|
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
s := sum(SingleGasNasa.s0_T(data[i], T)*X[i] for i in 1:size(X,1)); | s := sum(Modelica.Media.IdealGases.Common.Functions.s0_T( data[i], T)*X[i] for i in 1:size(X,1)); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p2 | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h_is | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
h_component | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
gamma | Media.Interfaces.PartialMedium.IsentropicExponent | Media.Interfaces.Types.IsentropicExponent |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... X := if reducedX then cat(1,state.X,{1-sum(state.X)}) else state.X; |
|
h_component = {SingleGasNasa.h_T(data[i], state.T, excludeEnthalpyOfFormation, referenceChoice, h_offset) for i in 1:nX}; |
h_component = {Modelica.Media.IdealGases.Common.Functions.h_T( data[i], state.T, excludeEnthalpyOfFormation, referenceChoice, h_offset) for i in 1:nX}; |
h = h_component*X; ... |
Component |
Version 3.2 |
Version 3.2.1 |
yi | Media.Interfaces.PartialMedium.MoleFraction | Media.Interfaces.Types.MoleFraction |
M | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
etam | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Component |
Version 3.2 |
Version 3.2.1 |
etaX | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... for i in 1:nX loop |
|
etaX[i] = SingleGasNasa.dynamicViscosityLowPressure(state.T, fluidConstants[i].criticalTemperature, fluidConstants[i].molarMass, fluidConstants[i].criticalMolarVolume, fluidConstants[i].acentricFactor, fluidConstants[i].dipoleMoment); |
etaX[i] = Modelica.Media.IdealGases.Common.Functions.dynamicViscosityLowPressure( state.T, fluidConstants[i].criticalTemperature, fluidConstants[i].molarMass, fluidConstants[i].criticalMolarVolume, fluidConstants[i].acentricFactor, fluidConstants[i].dipoleMoment); |
end for; ... |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Tc | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Vcrit | Media.Interfaces.PartialMedium.MolarVolume | Media.Interfaces.Types.MolarVolume |
MolecularWeights | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
y | Media.Interfaces.PartialMedium.MoleFraction | Media.Interfaces.Types.MoleFraction |
etaMixture | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
Component |
Version 3.2 |
Version 3.2.1 |
y | Media.Interfaces.PartialMedium.MoleFraction | Media.Interfaces.Types.MoleFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Tc | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Pc | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
M | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
lambda | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
lambdam | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
gamma | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
Component |
Version 3.2 |
Version 3.2.1 |
method | =1 | =methodForThermalConductivity |
lambdaX | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
cp | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(fluidConstants[i].hasCriticalData, "Critical data for "+ fluidConstants[i].chemicalFormula + " not known. Can not compute thermal conductivity."); |
|
eta[i] = SingleGasNasa.dynamicViscosityLowPressure(state.T, fluidConstants[i].criticalTemperature, fluidConstants[i].molarMass, fluidConstants[i].criticalMolarVolume, fluidConstants[i].acentricFactor, fluidConstants[i].dipoleMoment); |
eta[i] = Modelica.Media.IdealGases.Common.Functions.dynamicViscosityLowPressure( state.T, fluidConstants[i].criticalTemperature, fluidConstants[i].molarMass, fluidConstants[i].criticalMolarVolume, fluidConstants[i].acentricFactor, fluidConstants[i].dipoleMoment); |
cp[i] = SingleGasNasa.cp_T(data[i],state.T); | cp[i] = Modelica.Media.IdealGases.Common.Functions.cp_T( data[i],state.T); |
lambdaX[i] = SingleGasNasa.thermalConductivityEstimate(Cp=cp[i], eta= eta[i], method=method); |
lambdaX[i] = Modelica.Media.IdealGases.Common.Functions.thermalConductivityEstimate( Cp=cp[i], eta= eta[i], method=method,data=data[i]); |
end for; ... |
Component |
Version 3.2 |
Version 3.2.1 |
dddX | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
refChoice | Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Media.Interfaces.Choices.ReferenceEnthalpy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Xfull | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
X | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Xfull | Media.Interfaces.PartialMedium.MassFraction | Media.Interfaces.Types.MassFraction |
Component |
Version 3.2 |
Version 3.2.1 |
N2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
O2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
CL2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
F2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
CO2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
CO | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
H2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
H2O | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
N2O | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
NO | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
NO2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
NH3 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
SO2 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
SO3 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
Ar | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
He | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
Ne | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
CH4 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C2H6 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C3H8 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C4H10_n_butane | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C5H12_n_pentane | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C6H14_n_hexane | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C7H16_n_heptane | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C2H4 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C3H6_propylene | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C4H8_1_butene | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C5H10_1_pentene | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C6H12_1_hexene | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C7H14_1_heptene | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C2H2_vinylidene | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C6H6 | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C8H18_n_octane | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C8H10_ethylbenz | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
CH3OH | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C2H5OH | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C3H7OH | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
C4H9OH | Media.IdealGases.Common.SingleGasNasa.FluidConstants | Media.Interfaces.Types.IdealGas.FluidConstants |
Component |
Version 3.2 |
Version 3.2.1 |
eta | Media.Interfaces.PartialMedium.DynamicViscosity | Media.Interfaces.Types.DynamicViscosity |
lambda | Media.Interfaces.PartialMedium.ThermalConductivity | Media.Interfaces.Types.ThermalConductivity |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
cv | Media.Interfaces.PartialMedium.SpecificHeatCapacity | Media.Interfaces.Types.SpecificHeatCapacity |
u | Present | |
h | Present | |
d | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
medium.p = 1e5; | medium.p = 1.013e5; |
medium.T = Medium.T_min + time/timeUnit*Ta; |
Component |
Version 3.2 |
Version 3.2.1 |
T_min | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T_max | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
T0 | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
h0 | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
s0 | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
MM_const | Media.Interfaces.PartialMedium.MolarMass | Media.Interfaces.Types.MolarMass |
invTK | =if size(tableViscosity, 1) > 0 then invertTemp(tableViscosity[:, 1], TinK) else fill(0, 0) | =if
size(tableViscosity, 1) > 0 then (if TinK then 1 ./
tableViscosity[:, 1] else 1 ./ Cv.from_degC(tableViscosity[:, 1])) else
fill(0, neta) |
poly_rho | =if hasDensity then Poly.fitting(tableDensity[:, 1], tableDensity[:, 2], npol) else zeros(npol + 1) | =if hasDensity then Poly.fitting(tableDensity[:, 1], tableDensity[:, 2], npolDensity) else zeros(npolDensity + 1) |
poly_Cp | =if hasHeatCapacity then Poly.fitting(tableHeatCapacity[:, 1], tableHeatCapacity[:, 2], npol) else zeros(npol + 1) | =if
hasHeatCapacity then Poly.fitting(tableHeatCapacity[:, 1],
tableHeatCapacity[:, 2], npolHeatCapacity) else zeros(npolHeatCapacity
+ 1) |
poly_eta | =if hasViscosity then Poly.fitting(invTK, Math.log(tableViscosity[:, 2]), npol) else zeros(npol + 1) | =if hasViscosity then Poly.fitting(invTK, Math.log(tableViscosity[:, 2]), npolViscosity) else zeros(npolViscosity + 1) |
poly_pVap | =if hasVaporPressure then Poly.fitting(tableVaporPressure[:, 1], tableVaporPressure[:, 2], npol) else zeros(npol + 1) | =if
hasVaporPressure then Poly.fitting(tableVaporPressure[:, 1],
tableVaporPressure[:, 2], npolVaporPressure) else
zeros(npolVaporPressure + 1) |
poly_lam | =if
size(tableConductivity, 1) > 0 then
Poly.fitting(tableConductivity[:, 1], tableConductivity[:, 2], npol)
else zeros(npol + 1) | =if
size(tableConductivity, 1) > 0 then
Poly.fitting(tableConductivity[:, 1], tableConductivity[:, 2],
npolConductivity) else zeros(npolConductivity + 1) |
npolDensity | Present | |
npolHeatCapacity | Present | |
npolViscosity | Present | |
npolVaporPressure | Present | |
npolConductivity | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... h = if enthalpyOfT then h_T(T) else h_pT(p,T,densityOfT); |
|
if singleState then | u = h - (if singleState then reference_p/d else state.p/d); |
u = h_T(T) - reference_p/d; else u = h - p/d; end if; |
|
d = Poly.evaluate(poly_rho,if TinK then T else T_degC); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(false, "for incompressible media with d(T) only, state can not be set from density and temperature"); | assert(false, "For incompressible media with d(T) only, state can not be set from density and temperature"); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
Component |
Version 3.2 |
Version 3.2.1 |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
u := if enthalpyOfT then h_T(state.T) else h_pT(state.p,state.T) - (if singleState then reference_p/density(state) else state.p/density(state)); |
u := (if enthalpyOfT then h_T(state.T) else h_pT(state.p,state.T)) - (if singleState then reference_p else state.p)/density(state); |
|
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
waterConstants | Media.Interfaces.PartialTwoPhaseMedium.FluidConstants | Media.Interfaces.Types.TwoPhase.FluidConstants |
simpleWaterConstants | Present |
Component |
Version 3.2 |
Version 3.2.1 |
simpleWaterConstants | Present |
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... assert(not ((d < bubbleDensity(sat) and d > dewDensity(sat)) and T <  fluidConstants[1].criticalTemperature), "With onePhase=true this model may only be called with one-phase states d > dl or d < dv!" + "(d = " + String(d) + ", T = " + String(T) + ")"); |
|
end if; end if; |
|
else | |
assert(true,"no events for pT-model"); end if; end if; else |
|
phase = 0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | s := if dT_explicit then IF97_Utilities.s_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.s_pT(state.p, state.T) else IF97_Utilities.s_ph( state.p, state.h, state.phase); |
s = IF97_Utilities.s_dT(state.d, state.T, state.phase); |
|
elseif pT_explicit then s = IF97_Utilities.s_pT(state.p, state.T); else s = IF97_Utilities.s_ph(state.p, state.h, state.phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | cp := if dT_explicit then IF97_Utilities.cp_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.cp_pT(state.p, state.T) else IF97_Utilities.cp_ph( state.p, state.h, state.phase); |
cp = IF97_Utilities.cp_dT(state.d, state.T, state.phase); |
|
elseif pT_explicit then cp = IF97_Utilities.cp_pT(state.p, state.T); else cp = IF97_Utilities.cp_ph(state.p, state.h, state.phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | cv := if dT_explicit then IF97_Utilities.cv_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.cv_pT(state.p, state.T) else IF97_Utilities.cv_ph( state.p, state.h, state.phase); |
cv = IF97_Utilities.cv_dT(state.d, state.T, state.phase); |
|
elseif pT_explicit then cv = IF97_Utilities.cv_pT(state.p, state.T); else cv = IF97_Utilities.cv_ph(state.p, state.h, state.phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | gamma := if dT_explicit then IF97_Utilities.isentropicExponent_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.isentropicExponent_pT(state.p, state.T) else IF97_Utilities.isentropicExponent_ph( state.p, state.h, state.phase); |
gamma = IF97_Utilities.isentropicExponent_dT(state.d, state.T, state. phase); |
|
elseif pT_explicit then gamma = IF97_Utilities.isentropicExponent_pT(state.p, state.T); else gamma = IF97_Utilities.isentropicExponent_ph(state.p, state.h, state.  phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | kappa := if dT_explicit then IF97_Utilities.kappa_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.kappa_pT(state.p, state.T) else IF97_Utilities.kappa_ph( state.p, state.h, state.phase); |
kappa = IF97_Utilities.kappa_dT(state.d, state.T, state.phase); |
|
elseif pT_explicit then kappa = IF97_Utilities.kappa_pT(state.p, state.T); else kappa = IF97_Utilities.kappa_ph(state.p, state.h, state.phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | beta := if dT_explicit then IF97_Utilities.beta_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.beta_pT(state.p, state.T) else IF97_Utilities.beta_ph( state.p, state.h, state.phase); |
beta = IF97_Utilities.beta_dT(state.d, state.T, state.phase); |
|
elseif pT_explicit then beta = IF97_Utilities.beta_pT(state.p, state.T); else beta = IF97_Utilities.beta_ph(state.p, state.h, state.phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | a := if dT_explicit then IF97_Utilities.velocityOfSound_dT( state.d, state.T, state.phase) else if pT_explicit then IF97_Utilities.velocityOfSound_pT(state.p, state.T) else IF97_Utilities.velocityOfSound_ph( state.p, state.h, state.phase); |
a = IF97_Utilities.velocityOfSound_dT(state.d, state.T, state.phase); |
|
elseif pT_explicit then a = IF97_Utilities.velocityOfSound_pT(state.p, state.T); else a = IF97_Utilities.velocityOfSound_ph(state.p, state.h, state.phase); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if ph_explicit or pT_explicit then | dl := if ph_explicit then IF97_Utilities.BaseIF97.Regions.rhol_p(sat.psat) else IF97_Utilities.BaseIF97.Regions.rhol_T(sat.Tsat); |
dl = IF97_Utilities.BaseIF97.Regions.rhol_p(sat.psat); |
|
else dl = IF97_Utilities.BaseIF97.Regions.rhol_T(sat.Tsat); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if ph_explicit or pT_explicit then | dv := if ph_explicit or pT_explicit then IF97_Utilities.BaseIF97.Regions.rhov_p(sat.psat) else IF97_Utilities.BaseIF97.Regions.rhov_T(sat.Tsat); |
dv = IF97_Utilities.BaseIF97.Regions.rhov_p(sat.psat); |
|
else dv = IF97_Utilities.BaseIF97.Regions.rhov_T(sat.Tsat); end if; |
Component |
Version 3.2 |
Version 3.2.1 |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
sat | Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Media.Interfaces.Types.SaturationProperties |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
Component |
Version 3.2 |
Version 3.2.1 |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
s | Media.Interfaces.PartialMedium.SpecificEntropy | Media.Interfaces.Types.SpecificEntropy |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
h | Media.Interfaces.PartialMedium.SpecificEnthalpy | Media.Interfaces.Types.SpecificEnthalpy |
Component |
Version 3.2 |
Version 3.2.1 |
p | Media.Interfaces.PartialMedium.AbsolutePressure | Media.Interfaces.Types.AbsolutePressure |
T | Media.Interfaces.PartialMedium.Temperature | Media.Interfaces.Types.Temperature |
phase | Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Media.Interfaces.Types.FixedPhase |
d | Media.Interfaces.PartialMedium.Density | Media.Interfaces.Types.Density |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state.phase := phase; | state := ThermodynamicState( phase=phase, p=sat.psat, T=sat.Tsat, h=dewEnthalpy(sat), d=dewDensity(sat)); |
state.p = sat.psat; |
|
state.T = sat.Tsat; state.h = dewEnthalpy(sat); state.d = dewDensity(sat); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
state.phase := phase; | state := ThermodynamicState( phase=phase, p=sat.psat, T=sat.Tsat, h=bubbleEnthalpy(sat), d=bubbleDensity(sat)); |
state.p = sat.psat; |
|
state.T = sat.Tsat; state.h = bubbleEnthalpy(sat); state.d = bubbleDensity(sat); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | s := if dT_explicit then IF97_Utilities.s_dT( state.d, state.T, state.phase, Region) else if pT_explicit then IF97_Utilities.s_pT( state.p, state.T, Region) else IF97_Utilities.s_ph( state.p, state.h, state.phase, Region); |
s = IF97_Utilities.s_dT(state.d, state.T, state.phase, Region); |
|
elseif pT_explicit then s = IF97_Utilities.s_pT(state.p, state.T, Region); else s = IF97_Utilities.s_ph(state.p, state.h, state.phase, Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | cp := if dT_explicit then IF97_Utilities.cp_dT( state.d, state.T, Region) else if pT_explicit then IF97_Utilities.cp_pT( state.p, state.T, Region) else IF97_Utilities.cp_ph( state.p, state.h, Region); |
cp = IF97_Utilities.cp_dT(state.d, state.T, Region); |
|
elseif pT_explicit then cp = IF97_Utilities.cp_pT(state.p, state.T, Region); else cp = IF97_Utilities.cp_ph(state.p, state.h, Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | cv := if dT_explicit then IF97_Utilities.cv_dT( state.d, state.T, state.phase, Region) else if pT_explicit then IF97_Utilities.cv_pT( state.p, state.T, Region) else IF97_Utilities.cv_ph( state.p, state.h, state.phase, Region); |
cv = IF97_Utilities.cv_dT(state.d, state.T, state.phase, Region); |
|
elseif pT_explicit then cv = IF97_Utilities.cv_pT(state.p, state.T, Region); else cv = IF97_Utilities.cv_ph(state.p, state.h, state.phase, Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | gamma := if dT_explicit then IF97_Utilities.isentropicExponent_dT( state.d, state.T, state.phase, Region) else if pT_explicit then IF97_Utilities.isentropicExponent_pT( state.p, state.T, Region) else IF97_Utilities.isentropicExponent_ph( state.p, state.h, state.phase, Region); |
gamma = IF97_Utilities.isentropicExponent_dT(state.d, state.T, state.phase, Region); |
|
elseif pT_explicit then gamma = IF97_Utilities.isentropicExponent_pT(state.p, state.T, Region); else gamma = IF97_Utilities.isentropicExponent_ph(state.p, state.h,  state.phase, Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | kappa := if dT_explicit then IF97_Utilities.kappa_dT( state.d, state.T, state.phase, Region) else if pT_explicit then IF97_Utilities.kappa_pT( state.p, state.T, Region) else IF97_Utilities.kappa_ph( state.p, state.h, state.phase, Region); |
kappa = IF97_Utilities.kappa_dT(state.d, state.T, state.phase, Region); |
|
elseif pT_explicit then kappa = IF97_Utilities.kappa_pT(state.p, state.T, Region); else kappa = IF97_Utilities.kappa_ph(state.p, state.h, state.phase, Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | beta := if dT_explicit then IF97_Utilities.beta_dT( state.d, state.T, state.phase, Region) else if pT_explicit then IF97_Utilities.beta_pT( state.p, state.T, Region) else IF97_Utilities.beta_ph( state.p, state.h, state.phase, Region); |
beta = IF97_Utilities.beta_dT(state.d, state.T, state.phase, Region); |
|
elseif pT_explicit then beta = IF97_Utilities.beta_pT(state.p, state.T, Region); else beta = IF97_Utilities.beta_ph(state.p, state.h, state.phase, Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if dT_explicit then | a := if dT_explicit then IF97_Utilities.velocityOfSound_dT( state.d, state.T, state.phase, Region) else if pT_explicit then IF97_Utilities.velocityOfSound_pT( state.p, state.T, Region) else IF97_Utilities.velocityOfSound_ph( state.p, state.h, state.phase, Region); |
a = IF97_Utilities.velocityOfSound_dT(state.d, state.T, state.phase, Region); |
|
elseif pT_explicit then a = IF97_Utilities.velocityOfSound_pT(state.p, state.T, Region); else a = IF97_Utilities.velocityOfSound_ph(state.p, state.h, state.phase,  Region); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if ph_explicit or pT_explicit then | dl := if ph_explicit or pT_explicit then IF97_Utilities.BaseIF97.Regions.rhol_p(sat.psat) else IF97_Utilities.BaseIF97.Regions.rhol_T(sat.Tsat); |
dl = IF97_Utilities.BaseIF97.Regions.rhol_p(sat.psat); |
|
else dl = IF97_Utilities.BaseIF97.Regions.rhol_T(sat.Tsat); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if ph_explicit or pT_explicit then | dv := if ph_explicit or pT_explicit then IF97_Utilities.BaseIF97.Regions.rhov_p(sat.psat) else IF97_Utilities.BaseIF97.Regions.rhov_T(sat.Tsat); |
dv = IF97_Utilities.BaseIF97.Regions.rhov_p(sat.psat); |
|
else dv = IF97_Utilities.BaseIF97.Regions.rhov_T(sat.Tsat); end if; |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if region < 0 then |
|
assert(false, "region computation from p and s failed: function called outside the legal region"); | assert(false, "Region computation from p and s failed: function called outside the legal region"); |
else ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(false,"out of valid region for IF97, pressure above region 5!"); | assert(false, "Out of valid region for IF97, pressure above region 5!"); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... g.R = data.RH2O; |
|
assert(p > triple.ptriple, "IF97 medium function g2 called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p > 0.0, "IF97 medium function g2 called with too low pressure\n" + "p = " + String(p) + " Pa <= 0.0 Pa"); |
assert(p <= 100.0e6, "IF97 medium function g2: the input pressure (= " + String(p) + " Pa) is higher than 100 Mpa"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(p > triple.ptriple, "IF97 medium function g2metastable called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p > 0.0, "IF97 medium function g2metastable called with too low pressure\n" + "p = " + String(p) + " Pa <= 0.0 Pa"); |
assert(p <= 100.0e6, "IF97 medium function g2metastable: the input pressure (= " + String(p) + " Pa) is higher than 100 Mpa"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(p > triple.ptriple, "IF97 medium function g5 called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p > 0.0, "IF97 medium function g5 called with too low pressure\n" + "p = " + String(p) + " Pa <= 0.0 Pa"); |
assert(p <= data.PLIMIT5, "IF97 medium function g5: input pressure (= " + String(p) + " Pa) is higher than 10 Mpa in region 5"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(p > triple.ptriple, "IF97 medium function g2pitau called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p > 0.0, "IF97 medium function g2pitau called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p <= 100.0e6, "IF97 medium function g2pitau: the input pressure (= " + String(p) + " Pa) is higher than 100 Mpa"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(p > triple.ptriple, "IF97 medium function g5pitau called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p > 0.0, "IF97 medium function g5pitau called with too low pressure\n" + "p = " + String(p) + " Pa <= " + String(triple.ptriple) + " Pa (triple point pressure)"); |
assert(p <= data.PLIMIT5, "IF97 medium function g5pitau: input pressure (= " + String(p) + " Pa) is higher than 10 Mpa in region 5"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(false, "the scientific method works only for temperature up to 623.15 K"); |
assert(false, "The scientific method works only for temperature up to 623.15 K"); |
end if; ... else |
|
assert(false, "thermal conductivity can only be called in the one-phase regions below 623.15 K\n" + "(p = " + String(p) + " Pa, T = " + String(T) + " K, region = " + String(region) + ")"); |
assert(false, "Thermal conductivity can only be called in the one-phase regions below 623.15 K\n" + "(p = " + String(p) + " Pa, T = " + String(T) + " K, region = " + String(region) + ")"); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
damping | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
found := false; |
|
assert(p >= data.PLIMIT4A, "BaseIF97.dofpt3: function called outside of region 3! p too low\n" + "p = " + String(p) + " Pa < " + String(data.PLIMIT4A) + " Pa"); ... supercritical = p > data.PCRIT; |
|
damping = if supercritical then 1.0 else 1.0; Tmax = Regions.boundary23ofp(p); if supercritical then |
|
dmax = dofp13(p); | |
dmin = dofp23(p); | |
Tmax = Regions.boundary23ofp(p); | dguess = dmax - (T - data.TLIMIT1)/(data.TLIMIT1 - Tmax)*(dmax - dmin); |
if supercritical then dguess = dmin + (T - data.TLIMIT1)/(data.TLIMIT1 - Tmax)*(dmax -  dmin); |
|
else ... if liquid then |
|
dguess = 0.5*(Regions.rhol_p_R4b(p) + dmax); | dmax = dofp13(p); |
dmin = Regions.rhol_p_R4b(p); dguess = 1.1*Regions.rhol_T(T) "Guess: 10 percent more than on the phase boundary for same T"; |
|
else | |
dguess = 0.5*(Regions.rhov_p_R4b(p) + dmin); | dmax = Regions.rhov_p_R4b(p); |
dmin = dofp23(p); dguess = 0.9*Regions.rhov_T(T) "Guess: 10% less than on the phase boundary for same T"; |
|
end if; ... end if; |
|
deld = dp/nDerivs.pd; | deld = dp/nDerivs.pd*damping; |
d = d - deld; ... end if; |
|
assert(error <> 1, "error in inverse function dofpt3: iteration failed"); | assert(error <> 1, "Error in inverse function dofpt3: iteration failed"); |
|
Component |
Version 3.2 |
Version 3.2.1 |
found | | =false |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... subregion = if h < (Regions.hl_p(p) + 10.0) then 1 else  if h > (Regions.hv_p(p) - 10.0) then 2 else 0; |
|
assert(subregion <> 0,"inverse iteration of dt from ph called in 2 phase region: this can not work"); | assert(subregion <> 0, "Inverse iteration of dt from ph called in 2 phase region: this can not work"); |
else ... end if; |
|
assert(error <> 1, "error in inverse function dtofph3: iteration failed"); |
assert(error <> 1, "Error in inverse function dtofph3: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... subregion = if s < (Regions.sl_p(p) + 10.0) then 1 else  if s > (Regions.sv_p(p) - 10.0) then 2 else 0; |
|
assert(subregion <> 0,"inverse iteration of dt from ps called in 2 phase region: this is illegal!"); | assert(subregion <> 0, "Inverse iteration of dt from ps called in 2 phase region: this is illegal!"); |
else ... end if; |
|
assert(error <> 1, "error in inverse function dtofps3: iteration failed"); |
assert(error <> 1, "Error in inverse function dtofps3: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
assert(error <> 1, "error in inverse function dtofpsdt3: iteration failed"); |
assert(error <> 1, "Error in inverse function dtofpsdt3: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
assert(error <> 1, "error in inverse function pofdt125: iteration failed"); |
assert(error <> 1, "Error in inverse function pofdt125: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
assert(error <> 1, "error in inverse function tofph5: iteration failed"); | assert(error <> 1, "Error in inverse function tofph5: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
assert(error <> 1, "error in inverse function tofps5: iteration failed"); | assert(error <> 1, "Error in inverse function tofps5: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... end if; |
|
assert(error <> 1, "error in inverse function tofpst5: iteration failed"); |
assert(error <> 1, "Error in inverse function tofpst5: iteration failed"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(phase ==1, "extraDerivs_ph: properties are not implemented in 2 phase region"); |
assert(phase == 1, "ExtraDerivs_ph: properties are not implemented in 2 phase region"); |
region = Regions.region_ph(p=p,h= h,phase= phase); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... aux.pt = aux.R*aux.rho*f.delta*(f.fdelta - f.tau*f.fdeltatau); |
|
aux.cv = abs(aux.R*(-f.tau*f.tau*f.ftautau)) "can be close to neg. infinity near critical point"; |
aux.cv = abs(aux.R*(-f.tau*f.tau*f.ftautau)) "Can be close to neg. infinity near critical point"; |
aux.cp = (aux.rho*aux.rho*aux.pd*aux.cv + aux.T*aux.pt*aux.pt)/(aux.rho*aux.rho*aux.pd); ... (aux.T,error) = BaseIF97.Inverses.tofph5(p=aux.p,h= aux.h,reldh= 1.0e-7); |
|
assert(error == 0, "error in inverse iteration of steam tables"); | assert(error == 0, "Error in inverse iteration of steam tables"); |
g = BaseIF97.Basic.g5(aux.p, aux.T); ... else |
|
assert(false, "error in region computation of IF97 steam tables" + "(p = " + String(p) + ", h = " + String(h) + ")"); |
assert(false, "Error in region computation of IF97 steam tables" + "(p = " + String(p) + ", h = " + String(h) + ")"); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... aux.x = 0.0; |
|
aux.dpT = -aux.vt/aux.vp; |
|
elseif (aux.region == 2) then ... aux.x = 1.0; |
|
aux.dpT = -aux.vt/aux.vp; |
|
elseif (aux.region == 3) then ... aux.x = 0.0; |
|
aux.dpT = aux.pt; |
|
elseif (aux.region == 4) then ... (aux.T,error) = BaseIF97.Inverses.tofps5(p=p,s=s,relds= 1.0e-7); |
|
assert(error == 0, "error in inverse iteration of steam tables"); | assert(error == 0, "Error in inverse iteration of steam tables"); |
g = BaseIF97.Basic.g5(p, aux.T); ... aux.cv = aux.R*(-g.tau*g.tau*g.gtautau + ((g.gpi - g.tau*g.gtaupi)*(g.gpi - g.tau*g.gtaupi)/g.gpipi)); |
|
aux.dpT = -aux.vt/aux.vp; aux.x = 1.0; |
|
else | |
assert(false, "error in region computation of IF97 steam tables" + "(p = " + String(p) + ", s = " + String(s) + ")"); |
assert(false, "Error in region computation of IF97 steam tables" + "(p = " + String(p) + ", s = " + String(s) + ")"); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(check, "this function can not be called with two-phase inputs!"); | assert(check, "This function can not be called with two-phase inputs!"); |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... aux.x = 0.0; |
|
aux.dpT = -aux.vt/aux.vp; |
|
elseif (aux.region == 2) then ... aux.x = 1.0; |
|
aux.dpT = -aux.vt/aux.vp; |
|
elseif (aux.region == 3) then ... aux.x = 0.0; |
|
aux.dpT = aux.pt; |
|
elseif (aux.region == 5) then ... aux.cv = aux.R*(-g.tau*g.tau*g.gtautau + ((g.gpi - g.tau*g.gtaupi)*(g.gpi - g.tau*g.gtaupi)/g.gpipi)); |
|
aux.x = 1.0; aux.dpT = -aux.vt/aux.vp; |
|
else | |
assert(false, "error in region computation of IF97 steam tables" + "(p = " + String(p) + ", T = " + String(T) + ")"); |
assert(false, "Error in region computation of IF97 steam tables" + "(p = " + String(p) + ", T = " + String(T) + ")"); |
end if; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... else |
|
assert(false, "error in region computation of IF97 steam tables" + "(rho = " + String(rho) + ", T = " + String(T) + ")"); |
assert(false, "Error in region computation of IF97 steam tables" + "(rho = " + String(rho) + ", T = " + String(T) + ")"); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
pump | | constantVolumeFlow=1 |
pipe | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor | T(start=TAmb) | T(start=TAmb, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
pump | | constantVolumeFlow=1 |
pipe1 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| V_flow(start=0) | |
| T0fixed=true | |
pipe2 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| V_flow(start=0) | |
| T0fixed=true | |
pipe3 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor1 | T(start=TAmb) | T(start=TAmb, fixed=true) |
heatCapacitor2 | T(start=TAmb) | T(start=TAmb, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
outerPump | | constantVolumeFlow=1 |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor | T(start=TAmb) | T(start=TAmb, fixed=true) |
pipe1 | | h_g=0 |
| T0fixed=true | |
innerPump | | constantVolumeFlow=1 |
outerPipe | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
innerPipe | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
idealPump | | V_flow0=2 |
| V_flow(start=0) | |
| wNominal(displayUnit="rad/s") = 1 | |
| dp0(displayUnit="Pa") = 2 | |
valve | | m=0 |
| y1=1 | |
| Kv1=1 | |
| kv0=0.01 | |
| dp0(displayUnit="Pa") = 1 | |
| rho0=10 | |
| frictionLoss=0 | |
pipe | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor | T(start=TAmb) | T(start=TAmb, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
pump | | constantVolumeFlow=1 |
pipe | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor | T(start=TAmb) | T(start=TAmb, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
pump | | constantVolumeFlow=1 |
pipe1 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| V_flow(start=0) | |
| T0fixed=true | |
pipe2 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| V_flow(start=0) | |
| T0fixed=true | |
pipe3 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor1 | T(start=TAmb) | T(start=TAmb, fixed=true) |
heatCapacitor2 | T(start=TAmb) | T(start=TAmb, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
pump | | constantVolumeFlow=1 |
pipe | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor | T(start=TMass) | T(start=TMass, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
ambient1 | | constantAmbientPressure=0 |
pump | | constantVolumeFlow=1 |
pipe1 | | V_flow(start=0) |
| V_flowLaminar=0.1 | |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
pipe2 | | V_flow(start=0) |
| V_flowLaminar=0.1 | |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
pipe3 | | V_flowLaminar=0.1 |
| dpLaminar(displayUnit="Pa") = 0.1 | |
| V_flowNominal=1 | |
| dpNominal(displayUnit="Pa") = 1 | |
| h_g=0 | |
| T0fixed=true | |
ambient2 | | constantAmbientPressure=0 |
heatCapacitor1 | T(start=TMass1) | T(start=TMass1, fixed=true) |
heatCapacitor2 | T(start=TMass2) | T(start=TMass2, fixed=true) |
Component |
Version 3.2 |
Version 3.2.1 |
offset | start=1 | |
| =1 | |
startTime | start=0.2 | |
| =0.2 | |
interval | start=0.2 | |
| =0.2 | |
height_1 | start=-1 | |
| =-1 | |
duration_1 | start=0.2 | |
| =0.2 | |
height_2 | start=1 | |
| =1 | |
duration_2 | start=0.2 | |
| =0.2 |
Component |
Version 3.2 |
Version 3.2.1 |
dp | =flowPort_a.p - flowPort_b.p | |
V_flow | =flowPort_a.m_flow/medium.rho | |
T | | fixed=T0fixed |
T_a | =flowPort_a.h/medium.cp | |
T_b | =flowPort_b.h/medium.cp | |
dT | =if noEvent(V_flow >= 0) then T - T_a else T_b - T | |
h | =medium.cp*T | |
T_q | =T - noEvent(sign(V_flow))*(1 - tapT)*dT | |
T0fixed | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
dp=flowPort_a.p - flowPort_b.p; V_flow=flowPort_a.m_flow/medium.rho; T_a=flowPort_a.h/medium.cp; T_b=flowPort_b.h/medium.cp; dT=if noEvent(V_flow>=0) then T-T_a else T_b-T; h = medium.cp*T; T_q = T - noEvent(sign(V_flow))*(1 - tapT)*dT; |
|
flowPort_a.m_flow + flowPort_b.m_flow = 0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
T_port | =flowPort.h/medium.cp | |
h | =medium.cp*T | |
Equations in Version 3.2 | Equations in Version 3.2.1 |
flowPort.H_flow = semiLinear(flowPort.m_flow,flowPort.h,h); | T_port=flowPort.h/medium.cp; |
h = medium.cp*T; flowPort.H_flow = semiLinear(flowPort.m_flow,flowPort.h,h); |
Component |
Version 3.2 |
Version 3.2.1 |
TRes | =heatingResistor.heatPort.T | =heatingResistor.T_heatPort |
heatingResistor | T_ref=from_degC(20) | T_ref=293.15 |
alpha=1/(235 + 20) | alpha=1/255 |
Component |
Version 3.2 |
Version 3.2.1 |
windingLosses | T_ref=from_degC(95) | T_ref=368.15 |
Component |
Version 3.2 |
Version 3.2.1 |
Gc | | unit="W/K" |
Component |
Version 3.2 |
Version 3.2.1 |
T | | unit="K" |
Component |
Version 3.2 |
Version 3.2.1 |
T_rel | | unit="K" |
| displayUnit="K" |
Component |
Version 3.2 |
Version 3.2.1 |
Q_flow | | unit="W" |
Component |
Version 3.2 |
Version 3.2.1 |
Q_flow | | unit="W" |
Component |
Version 3.2 |
Version 3.2.1 |
T | | unit="K" |
Component |
Version 3.2 |
Version 3.2.1 |
Q_flow | | unit="W" |
Component |
Version 3.2 |
Version 3.2.1 |
Celsius | | unit="degC" |
Kelvin | | unit="K" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Kelvin = from_degC(Celsius); | Kelvin = Modelica.SIunits.Conversions.from_degC(Celsius); |
Component |
Version 3.2 |
Version 3.2.1 |
Kelvin | | unit="K" |
Celsius | | unit="degC" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Celsius = to_degC(Kelvin); | Celsius = Modelica.SIunits.Conversions.to_degC(Kelvin); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.T = from_degC(T); | port.T = Modelica.SIunits.Conversions.from_degC(T); |
Component |
Version 3.2 |
Version 3.2.1 |
T | | unit="degC" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.T = from_degC(T); | port.T = Modelica.SIunits.Conversions.from_degC(T); |
Component |
Version 3.2 |
Version 3.2.1 |
T | | unit="degC" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
T = to_degC(port.T); | T = Modelica.SIunits.Conversions.to_degC(port.T); |
port.Q_flow = 0; |
Component |
Version 3.2 |
Version 3.2.1 |
Fahrenheit | | unit="degF" |
Kelvin | | unit="K" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Kelvin = from_degF(Fahrenheit); | Kelvin = Modelica.SIunits.Conversions.from_degF(Fahrenheit); |
Component |
Version 3.2 |
Version 3.2.1 |
Kelvin | | unit="K" |
Fahrenheit | | unit="degF" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Fahrenheit = to_degF(Kelvin); | Fahrenheit = Modelica.SIunits.Conversions.to_degF(Kelvin); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.T = from_degF(T); | port.T = Modelica.SIunits.Conversions.from_degF(T); |
Component |
Version 3.2 |
Version 3.2.1 |
T | | unit="degF" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.T = from_degF(T); | port.T = Modelica.SIunits.Conversions.from_degF(T); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
T = to_degF(port.T); | T = Modelica.SIunits.Conversions.to_degF(port.T); |
port.Q_flow = 0; |
Component |
Version 3.2 |
Version 3.2.1 |
Rankine | | unit="degRk" |
Kelvin | | unit="K" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Kelvin = from_degRk(Rankine); | Kelvin = Modelica.SIunits.Conversions.from_degRk(Rankine); |
Component |
Version 3.2 |
Version 3.2.1 |
Kelvin | | unit="K" |
Rankine | | unit="degRk" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
Rankine = to_degRk(Kelvin); | Rankine = Modelica.SIunits.Conversions.to_degRk(Kelvin); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.T = from_degRk(T); | port.T = Modelica.SIunits.Conversions.from_degRk(T); |
Component |
Version 3.2 |
Version 3.2.1 |
T | | unit="degRk" |
Equations in Version 3.2 | Equations in Version 3.2.1 |
port.T = from_degRk(T); | port.T = Modelica.SIunits.Conversions.from_degRk(T); |
Equations in Version 3.2 | Equations in Version 3.2.1 |
T = to_degRk(port.T); | T = Modelica.SIunits.Conversions.to_degRk(port.T); |
port.Q_flow = 0; |
Component |
Version 3.2 |
Version 3.2.1 |
result | | =0.0 |
eps | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if p == 2 then | if size(v,1) > 0 then |
if p >= 2-eps and p <= 2+eps then |
|
result= sqrt(v*v); | |
elseif p == Modelica_3_2.Constants.inf then | elseif p >= Modelica.Constants.inf then |
result= max(abs(v)); | |
elseif p == 1 then | elseif p >= 1-eps and p <= 1+eps then |
result= sum(abs(v)); | |
elseif p >= 1 then result = (sum(abs(v[i])^p for i in 1:size(v, 1)))^(1/p); |
|
else | |
result= (sum(abs(v[i])^p for i in 1:size(v, 1)))^(1/p); | assert(false, "Optional argument \"p\" (= " + String(p) + ") of function \"norm\" >= 1 required"); |
end if; | |
end if; |
|
|
Component |
Version 3.2 |
Version 3.2.1 |
eps | | min=0.0 |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... y2 = y[i+1]; |
|
assert(x2 > x1, "Abszissa table vector values must be increasing"); | assert(x2 > x1, "Abscissa table vector values must be increasing"); |
yi = y1 + (y2 - y1)*(xi - x1)/(x2 - x1); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(norm_b > 0, "Vector b in function housholderVector is zero vector, but at least one element should be different from zero"); | assert(norm_b > 0, "Vector b in function householderVector is zero vector, but at least one element should be different from zero"); |
assert(norm_a > 0, "Vector a in function housholderVector is zero vector, but at least one element should be different from zero"); | assert(norm_a > 0, "Vector a in function householderVector is zero vector, but at least one element should be different from zero"); |
alpha = if norm(a + norm_a/norm_b*b,2) > norm(a - norm_a/norm_b*b,2) then norm_a/norm_b else -norm_a/norm_b; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if n > 0 then |
|
assert(abs(p[1]) > 0, "Computing the roots of a polynomial with function \"Modelica.Math.Vectors.Utilities.roots\"\n" + "failed because the first element of the coefficient vector is zero, but should not be."); |
assert(abs(p[1]) > 0, "Computing the roots of a polynomial with function \"Modelica.Math.Vectors.Utilities.roots\"\n" + "failed because the first element of the coefficient vector is zero, but should not be."); |
A[1, :] = -p[2:np]/p[1]; ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
assert(nrow >= ncol, "\nInput matrix A[" + String(nrow) + "," + String(ncol) + "] has more columns as rows. This is not allowed when calling Modelica.Matrices.QR(A)."); |
assert(nrow >= ncol, "\nInput matrix A[" + String(nrow) + "," + String(ncol) + "] has more columns as rows. This is not allowed when calling Modelica.Matrices.QR(A)."); |
if pivoting then ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if size(A, 1) > 1 then |
|
(S,QZ,alphaReal,alphaImag) = Matrices.LAPACK.dgees(A); | (S,QZ,alphaReal,alphaImag,info) = Matrices.LAPACK.dgees(A); |
assert(info == 0, "The output info of LAPACK.dgees should be zero, else if\n  info < 0: if info = -i, the i-th argument of dgees had an illegal value\n  info > 0: if INFO = i, and i is <= N: the QR algorithm failed to compute all the  eigenvalues; elements 1:ILO-1 and i+1:N of WR and WI  contain those eigenvalues which have converged; if  JOBVS = 'V', VS contains the matrix which reduces A  to its partially converged Schur form.\n"); ... S = A; |
|
if size(A, 1) > 0 then | QZ = fill(1, size(A, 1), size(A, 2)); |
QZ = [1]; | alphaReal = fill(1, size(A, 1)); |
alphaReal = {1}; | alphaImag = fill(0, size(A, 1)); |
alphaImag = {0}; | end if; |
else |
|
QZ = fill(1, 0, 0); alphaReal = fill(1, 0); alphaImag = fill(0, 0); end if; end if; |
Component |
Version 3.2 |
Version 3.2.1 |
eps2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if min(size(A)) > 0 then |
|
if p == 2 then | if p >= 2-eps2 and p <= 2+eps2 then |
s = Modelica_3_2.Math.Matrices.singularValues(A); ... |
Component |
Version 3.2 |
Version 3.2.1 |
eps | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
if p == 1 then | if min(size(A)) > 0 then |
if p >= 1-eps and p <= 1+eps then |
|
for i in 1:size(A, 2) loop ... end for; |
|
elseif p == 2 then | elseif p >= 2-eps and p <= 2+eps then |
result = max(singularValues(A)); | |
elseif p == Modelica_3_2.Constants.inf then | elseif p >= Modelica.Constants.inf then |
for i in 1:size(A, 1) loop ... else |
|
assert(false, "Optional argument \"p\" of function \"norm\" must be 1, 2 or Modelica.Constants.inf"); |
assert(false, "Optional argument \"p\" (= " + String(p) + ") of function \"norm\" must be 1, 2 or Modelica.Constants.inf"); |
end if; | |
end if; |
|
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
result := if min(size(A))>0 then sqrt(sum(A.*A)) else -1e100; | result := if min(size(A)) > 0 then sqrt(sum(A .* A)) else 0.0; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
... (X,scale,info) = Matrices.LAPACK.dtrsyl(S, T, Chat); |
|
assert(info == 0, "Solving of Sylvester equation with Matrices.continuousSylvester was not successful.\n The value of info is " + String(info) + ", but should be zero. A value unequal to zero means:\n < 0: if INFO = -i, the i-th argument had an illegal value\n = 1: A and B have common or very close eigenvalues; perturbed values were used to solve the equation (but the matrices A and B are unchanged)."); |
assert(info == 0, "Solving of Sylvester equation with Matrices.continuousSylvester was not successful.\n The value of info is " + String(info) + ", but should be zero. A value unequal to zero means:\n < 0: if INFO = -i, the i-th argument had an illegal value\n = 1: A and B have common or very close eigenvalues; perturbed values were used to solve the equation (but the matrices A and B are unchanged)."); |
X = if AisSchur and BisSchur then scale*X else if AisSchur then scale*X*  transpose(V) else if BisSchur then scale*U*X else scale*U*X*transpose(V); ... |
Component |
Version 3.2 |
Version 3.2.1 |
dummy | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
external "Fortran 77" dgeev("N", "V", n, Awork, n, eigenReal, eigenImag, eigenVectors, n, eigenVectors, n, work, size(work, 1), info); |
external "Fortran 77" dgeev( "N", "V", n, Awork, n, eigenReal, eigenImag, dummy, 1, eigenVectors, n, work, size(work, 1), info); |
Component |
Version 3.2 |
Version 3.2.1 |
dummyFunctionPointerNotUsed | Present | |
lwork | Present | |
work | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
external "FORTRAN 77" c_inter_dgees("V", "N", n, T, lda, sdim, eval_real, eval_imag, Z, lda, bwork, info); | external"FORTRAN 77" dgees("V","N",dummyFunctionPointerNotUsed,n,T,lda,sdim,eval_real,eval_imag,Z,lda,work,lwork,bwork,info); |
Component |
Version 3.2 |
Version 3.2.1 |
lda | =max(1, m) | =max(1, size(A, 1)) |
Equations in Version 3.2 | Equations in Version 3.2.1 |
external "Fortran 77" dlange2(norm, m, n, A, lda, work, anorm); |
external "Fortran 77" anorm = dlange( norm, m, n, A, lda, work); |
Component |
Version 3.2 |
Version 3.2.1 |
iwork | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
external "Fortran 77" dgeevx( "B", "V", "V", "E", n, AS, n, alphaReal, alphaImag, lEigenVectors, n, rEigenVectors, n, ilo, ihi, scale, abnrm, rconde, rcondv, work, lwork, info); |
external "Fortran 77" dgeevx( "B", "V", "V", "E", n, AS, n, alphaReal, alphaImag, lEigenVectors, n, rEigenVectors, n, ilo, ihi, scale, abnrm, rconde, rcondv, work, lwork, iwork, info); |
Component |
Version 3.2 |
Version 3.2.1 |
n | Present | |
ilo | Present | |
ihi | Present | |
Z | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... I_err = abs(I_numerical - I_analytical); |
|
|
|
print("Function 1 ( integral(sin(x)*dx) from x=0 to x=1): "); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... I[3] = Modelica_3_2.Math.Nonlinear.quadratureLobatto(  function  Modelica_3_2.Math.Nonlinear.Examples.UtilityFunctions.fun6(k=k),  a3,  b3,  Tolerance); |
|
|
|
print("Function 1 (integral(sin(x)*dx)): "); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... u_err = abs(u_numerical - u_analytical); |
|
|
|
print("Solve 3 nonlinear equations with relative tolerance = " + String(tolerance) +"\n"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... u[3] = Modelica_3_2.Math.Nonlinear.solveOneNonlinearEquation(  function  Modelica_3_2.Math.Nonlinear.Examples.UtilityFunctions.fun3(p=p, m=  m), u_min3,  u_max3,  tolerance); |
|
|
|
print("Solve 3 nonlinear equations with relative tolerance = " + String(tolerance) +"\n"); ... |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... if fa > 0.0 and fb > 0.0 or fa < 0.0 and fb < 0.0 then |
|
error( "The arguments u_min and u_max to solveOneNonlinearEquation(..)\n" + "do not bracket the root of the single non-linear equation:\n" + " u_min = " + String(u_min) + "\n" + " u_max = " + String(u_max) + "\n" + " fa = f(u_min) = " + String(fa) + "\n" + " fb = f(u_max) = " + String(fb) + "\n" + "fa and fb must have opposite sign which is not the case"); |
error( "The arguments u_min and u_max provided in the function call\n"+ " solveOneNonlinearEquation(f,u_min,u_max)\n" + "do not bracket the root of the single non-linear equation 0=f(u):\n" + " u_min = " + String(u_min) + "\n" + " u_max = " + String(u_max) + "\n" + " fa = f(u_min) = " + String(fa) + "\n" + " fb = f(u_max) = " + String(fb) + "\n" + "fa and fb must have opposite sign which is not the case"); |
end if; ... |
Component |
Version 3.2 |
Version 3.2.1 |
count | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
for i in 1:size(b,1) loop | result := countTrue(b) == 1; |
count = if b[i] then count+1 else count; |
|
end for; result = count == 1; |
Component |
Version 3.2 |
Version 3.2.1 |
pi | | constant |
pi2 | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
... w :=Math.atan2(u1, u2); |
|
y = w + 2*pi*div(abs(w-y0)+pi,2*pi)*(if y0 > w then +1 else -1); | if y0 == 0 then |
|
y = w; |
else y = w + pi2*integer((pi+y0-w)/pi2); end if; |
Component |
Version 3.2 |
Version 3.2.1 |
file | ="Modelica/Resources/Data/Utilities/Examples_readRealParameters.txt" | =Modelica.Utilities.Files.loadResource("modelica://Modelica/Resources/Data/Utilities/Examples_readRealParameters.txt") |
Component |
Version 3.2 |
Version 3.2.1 |
iMax | Present |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
i := if startIndex == 0 then lenString-lenSearchString+1 else startIndex; | i := if startIndex == 0 or startIndex > iMax then iMax else startIndex; |
index = 0; ... |
Component |
Version 3.2 |
Version 3.2.1 |
package | protected
|
|
Component |
Version 3.2 |
Version 3.2.1 |
eps | =1.e-15 | =ModelicaServices.Machine.eps |
small | =1.e-60 | =ModelicaServices.Machine.small |
inf | =1.e+60 | =ModelicaServices.Machine.inf |
Integer_inf | =2147483647 | =ModelicaServices.Machine.Integer_inf |
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
cm2 := 0.0001*m2; | cm2 := 10000*m2; |
|
Equations in Version 3.2 | Equations in Version 3.2.1 |
algorithm |
|
m2 :=10000*cm2; | m2 := 0.0001*cm2; |
|
Class | Version 3.2 | Version 3.2.1 | |
Modelica_3_2.Blocks.Logical.And | model | block | |
Modelica_3_2.Blocks.Logical.Or | model | block | |
Modelica_3_2.Blocks.Logical.Xor | model | block | |
Modelica_3_2.Blocks.Logical.Nor | model | block | |
Modelica_3_2.Blocks.Logical.Nand | model | block | |
Modelica_3_2.Blocks.Logical.Not | model | block | |
Modelica_3_2.Blocks.Logical.Pre | model | block | |
Modelica_3_2.Blocks.Logical.Edge | model | block | |
Modelica_3_2.Blocks.Logical.FallingEdge | model | block | |
Modelica_3_2.Blocks.Logical.Change | model | block | |
Modelica_3_2.Blocks.Sources.CombiTimeTable | model | block | |
Modelica_3_2.Blocks.Tables.CombiTable1D | model | block | |
Modelica_3_2.Blocks.Tables.CombiTable1Ds | model | block | |
Modelica_3_2.Blocks.Tables.CombiTable2D | model | block | |
Modelica_3_2.Icons.TypeComplex | record | operator | record |
Modelica_3_2.Icons.SignalBus | connector | expandable | connector |
Modelica_3_2.Icons.SignalSubBus | connector | expandable | connector |
Modelica_3_2.SIunits.ComplexCurrent | record | operator | record |
Modelica_3_2.SIunits.ComplexCurrentSlope | record | operator | record |
Modelica_3_2.SIunits.ComplexCurrentDensity | record | operator | record |
Modelica_3_2.SIunits.ComplexElectricPotential | record | operator | record |
Modelica_3_2.SIunits.ComplexPotentialDifference | record | operator | record |
Modelica_3_2.SIunits.ComplexVoltage | record | operator | record |
Modelica_3_2.SIunits.ComplexVoltageSlope | record | operator | record |
Modelica_3_2.SIunits.ComplexElectricFieldStrength | record | operator | record |
Modelica_3_2.SIunits.ComplexElectricFluxDensity | record | operator | record |
Modelica_3_2.SIunits.ComplexElectricFlux | record | operator | record |
Modelica_3_2.SIunits.ComplexMagneticFieldStrength | record | operator | record |
Modelica_3_2.SIunits.ComplexMagneticPotential | record | operator | record |
Modelica_3_2.SIunits.ComplexMagneticPotentialDifference | record | operator | record |
Modelica_3_2.SIunits.ComplexMagnetomotiveForce | record | operator | record |
Modelica_3_2.SIunits.ComplexMagneticFluxDensity | record | operator | record |
Modelica_3_2.SIunits.ComplexMagneticFlux | record | operator | record |
Modelica_3_2.SIunits.ComplexReluctance | record | operator | record |
Modelica_3_2.SIunits.ComplexImpedance | record | operator | record |
Modelica_3_2.SIunits.ComplexAdmittance | record | operator | record |
Modelica_3_2.SIunits.ComplexPower | record | operator | record |
package Modelica_3_2.UsersGuide.Conventions.ModelicaCode | Present | ||
class Modelica_3_2.UsersGuide.ReleaseNotes.Version_3_2_BugFixes | Present | ||
class Modelica_3_2.UsersGuide.ModelicaLicense2 | Present | ||
connector Modelica_3_2.StateGraph.Examples.Utilities.inflow1 | Present | ||
connector Modelica_3_2.StateGraph.Examples.Utilities.inflow2 | Present | ||
connector Modelica_3_2.StateGraph.Examples.Utilities.outflow1 | Present | ||
connector Modelica_3_2.StateGraph.Examples.Utilities.outflow2 | Present | ||
package Modelica_3_2.Magnetic.FundamentalWave.BasicMachines.Functions | Present | ||
block Modelica_3_2.Fluid.Examples.AST_BatchPlant.BaseClasses.TriggeredTrapezoid | Present | ||
function Modelica_3_2.Fluid.Machines.BaseClasses.assertPositiveDifference | Present | ||
package Modelica_3_2.Media.Examples.TestOnly.TestMedia | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Choices.IndependentVariables | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Choices.Init | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Choices.ReferenceEnthalpy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Choices.ReferenceEntropy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Choices.pd | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Choices.Th | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.AbsolutePressure | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Density | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.DynamicViscosity | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.EnthalpyFlowRate | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.MassFraction | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.MoleFraction | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.MolarMass | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.MolarVolume | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.IsentropicExponent | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.SpecificEnergy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.SpecificInternalEnergy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.SpecificEnthalpy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.SpecificEntropy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.SpecificHeatCapacity | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.SurfaceTension | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.Temperature | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.ThermalConductivity | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.PrandtlNumber | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.VelocityOfSound | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.ExtraProperty | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.CumulativeExtraProperty | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.ExtraPropertyFlowRate | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.IsobaricExpansionCoefficient | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.DipoleMoment | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.DerDensityByPressure | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.DerDensityByEnthalpy | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.DerEnthalpyByPressure | Present | ||
type Modelica_3_2.Media.Interfaces.PartialMedium.DerDensityByTemperature | Present | ||
record Modelica_3_2.Media.Interfaces.PartialMixtureMedium.FluidConstants | Present | ||
record Modelica_3_2.Media.Interfaces.PartialTwoPhaseMedium.FluidLimits | Present | ||
record Modelica_3_2.Media.Interfaces.PartialTwoPhaseMedium.FluidConstants | Present | ||
record Modelica_3_2.Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties | Present | ||
type Modelica_3_2.Media.Interfaces.PartialTwoPhaseMedium.FixedPhase | Present | ||
record Modelica_3_2.Media.Interfaces.PartialSimpleIdealGasMedium.FluidConstants | Present | ||
record Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.FluidConstants | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.cp_T | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.cp_Tlow | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.cp_Tlow_der | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_T | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_T_der | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_Tlow | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.h_Tlow_der | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.s0_T | Present | ||
function Modelica_3_2.Media.IdealGases.Common.SingleGasNasa.s0_Tlow | Present | ||
record Modelica_3_2.Media.IdealGases.Common.MixtureGasNasa.FluidConstants | Present | ||
package Modelica_3_2.Utilities.Internal.PartialModelicaServices | Present | ||
package Modelica.UsersGuide.Conventions.ModelicaCode | Present | ||
class Modelica.UsersGuide.ReleaseNotes.Version_3_2_1 | Present | ||
class Modelica.UsersGuide.ModelicaLicense2 | Present | ||
block Modelica.Blocks.Logical.RSFlipFlop | Present | ||
block Modelica.Blocks.Math.MinMax | Present | ||
block Modelica.Blocks.Math.LinearDependency | Present | ||
block Modelica.Blocks.Nonlinear.SlewRateLimiter | Present | ||
block Modelica.Blocks.Sources.Cosine | Present | ||
class Modelica.Blocks.Types.ExternalCombiTimeTable | Present | ||
class Modelica.Blocks.Types.ExternalCombiTable1D | Present | ||
class Modelica.Blocks.Types.ExternalCombiTable2D | Present | ||
package Modelica.Blocks.Icons | Present | ||
connector Modelica.StateGraph.Examples.Utilities.Inflow1 | Present | ||
connector Modelica.StateGraph.Examples.Utilities.Inflow2 | Present | ||
connector Modelica.StateGraph.Examples.Utilities.Outflow1 | Present | ||
connector Modelica.StateGraph.Examples.Utilities.Outflow2 | Present | ||
model Modelica.Electrical.Analog.Sources.CosineVoltage | Present | ||
model Modelica.Electrical.Analog.Sources.CosineCurrent | Present | ||
model Modelica.Electrical.Digital.Examples.MUX2x1 | Present | ||
model Modelica.Electrical.Digital.Examples.RAM | Present | ||
block Modelica.Electrical.Digital.Converters.LogicToX01 | Present | ||
block Modelica.Electrical.Digital.Converters.LogicToX01Z | Present | ||
package Modelica.Electrical.Digital.Memories | Present | ||
package Modelica.Electrical.Digital.Multiplexers | Present | ||
model Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_Initialize | Present | ||
model Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMPM_VoltageSource | Present | ||
model Modelica.Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_Rectifier | Present | ||
model Modelica.Electrical.Machines.BasicMachines.Components.PermanentMagnetWithLosses | Present | ||
model Modelica.Electrical.Machines.Losses.InductionMachines.PermanentMagnetLosses | Present | ||
record Modelica.Electrical.Machines.Losses.PermanentMagnetLossParameters | Present | ||
package Modelica.Electrical.Machines.Utilities.ParameterRecords | Present | ||
model Modelica.Electrical.Machines.Utilities.VoltageController | Present | ||
block Modelica.Electrical.Machines.Utilities.ToDQ | Present | ||
block Modelica.Electrical.Machines.Utilities.FromDQ | Present | ||
model Modelica.Electrical.MultiPhase.Examples.TestSensors | Present | ||
model Modelica.Electrical.MultiPhase.Sensors.VoltageQuasiRMSSensor | Present | ||
model Modelica.Electrical.MultiPhase.Sensors.CurrentQuasiRMSSensor | Present | ||
model Modelica.Electrical.MultiPhase.Sources.CosineVoltage | Present | ||
model Modelica.Electrical.MultiPhase.Sources.CosineCurrent | Present | ||
package Modelica.Electrical.MultiPhase.Blocks | Present | ||
package Modelica.Electrical.MultiPhase.Functions | Present | ||
model Modelica.Electrical.Spice3.Examples.CoupledInductors | Present | ||
model Modelica.Electrical.Spice3.Examples.CascodeCircuit | Present | ||
model Modelica.Electrical.Spice3.Examples.Spice3BenchmarkDifferentialPair | Present | ||
model Modelica.Electrical.Spice3.Examples.Spice3BenchmarkMosfetCharacterization | Present | ||
model Modelica.Electrical.Spice3.Examples.Spice3BenchmarkRtlInverter | Present | ||
model Modelica.Electrical.Spice3.Examples.Spice3BenchmarkFourBitBinaryAdder | Present | ||
model Modelica.Electrical.Spice3.Basic.K_CoupledInductors | Present | ||
model Modelica.Electrical.Spice3.Semiconductors.M_NMOS2 | Present | ||
model Modelica.Electrical.Spice3.Semiconductors.M_PMOS2 | Present | ||
record Modelica.Electrical.Spice3.Semiconductors.ModelcardMOS2 | Present | ||
model Modelica.Electrical.Spice3.Semiconductors.J_PJFJFET | Present | ||
model Modelica.Electrical.Spice3.Semiconductors.J_NJFJFET | Present | ||
record Modelica.Electrical.Spice3.Semiconductors.ModelcardJFET | Present | ||
model Modelica.Electrical.Spice3.Semiconductors.C_Capacitor | Present | ||
record Modelica.Electrical.Spice3.Semiconductors.ModelcardCAPACITOR | Present | ||
connector Modelica.Electrical.Spice3.Interfaces.InductiveCouplePinIn | Present | ||
connector Modelica.Electrical.Spice3.Interfaces.InductiveCouplePinOut | Present | ||
model Modelica.Electrical.Spice3.Interfaces.ConditionalSubstrate | Present | ||
function Modelica.Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFETRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Functions.junctionCapRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3JFET | Present | ||
function Modelica.Electrical.Spice3.Internal.Functions.capDepGeom | Present | ||
function Modelica.Electrical.Spice3.Internal.Functions.junction2SPICE3BJT | Present | ||
function Modelica.Electrical.Spice3.Internal.Functions.energyGapDepTemp_old | Present | ||
function Modelica.Electrical.Spice3.Internal.SpiceRoot.limitJunctionVoltageRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.SpiceRoot.initJunctionVoltagesRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Mosfet.mosfetRenameParametersDev | Present | ||
function Modelica.Electrical.Spice3.Internal.Mos.mos2CalcInitEquationsRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Mos.mos2CalcCalcTempDependenciesRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Mos.mos2CalcNoBypassCodeRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Mos2.mos2ModelLineParamsInitEquationsRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Mos2.drainCurRevised | Present | ||
function Modelica.Electrical.Spice3.Internal.Mos2.mos2RenameParametersRevised | Present | ||
model Modelica.Electrical.Spice3.Internal.BJT2 | Present | ||
record Modelica.Electrical.Spice3.Internal.ModelcardBJT2 | Present | ||
model Modelica.Electrical.Spice3.Internal.JFET | Present | ||
record Modelica.Electrical.Spice3.Internal.ModelcardJFET | Present | ||
model Modelica.Electrical.Spice3.Internal.C_SEMI | Present | ||
record Modelica.Electrical.Spice3.Internal.ModelcardC | Present | ||
record Modelica.Electrical.Spice3.Internal.MaterialParameters | Present | ||
package Modelica.Electrical.Spice3.Internal.Bjt | Present | ||
package Modelica.Electrical.Spice3.Internal.Fet | Present | ||
package Modelica.Electrical.Spice3.Internal.Jfet | Present | ||
package Modelica.Electrical.Spice3.Internal.Csemiconductor | Present | ||
package Modelica.Electrical.Spice3.Types | Present | ||
class Modelica.Magnetic.FundamentalWave.UsersGuide.MultiPhase | Present | ||
class Modelica.Magnetic.FundamentalWave.UsersGuide.Parameters | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.Components.SinglePhaseInductance | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.Components.MultiPhaseInductance | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_DOL_MultiPhase | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.AIMS_Start_MultiPhase | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_Inverter_MultiPhase | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_Generator_MultiPhase | Present | ||
model Modelica.Magnetic.FundamentalWave.Examples.BasicMachines.SMR_Inverter_MultiPhase | Present | ||
model Modelica.Magnetic.FundamentalWave.BasicMachines.Components.PermanentMagnet | Present | ||
package Modelica.Mechanics.MultiBody.Examples.Constraints | Present | ||
model Modelica.Mechanics.MultiBody.Joints.Internal.InitPosition | Present | ||
model Modelica.Mechanics.MultiBody.Joints.Internal.InitAngle | Present | ||
model Modelica.Mechanics.MultiBody.Joints.Internal.InitAngularVelocity | Present | ||
package Modelica.Mechanics.MultiBody.Joints.Constraints | Present | ||
model Modelica.Mechanics.MultiBody.Sensors.TransformAbsoluteVector | Present | ||
model Modelica.Mechanics.MultiBody.Sensors.TransformRelativeVector | Present | ||
class Modelica.Mechanics.MultiBody.Icons.MotorIcon | Present | ||
class Modelica.Mechanics.Rotational.UsersGuide.StateSelection | Present | ||
model Modelica.Mechanics.Rotational.Examples.GenerationOfFMUs | Present | ||
package Modelica.Mechanics.Rotational.Examples.Utilities | Present | ||
model Modelica.Mechanics.Rotational.Components.TorqueToAngleAdaptor | Present | ||
model Modelica.Mechanics.Rotational.Components.AngleToTorqueAdaptor | Present | ||
model Modelica.Mechanics.Rotational.Sensors.MultiSensor | Present | ||
model Modelica.Mechanics.Translational.Sensors.MultiSensor | Present | ||
package Modelica.Fluid.Machines.BaseClasses.PumpMonitoring | Present | ||
model Modelica.Fluid.Sources.BaseClasses.PartialFlowSource | Present | ||
model Modelica.Fluid.Sensors.BaseClasses.PartialRelativeSensor | Present | ||
model Modelica.Fluid.Sensors.MassFractions | Present | ||
model Modelica.Fluid.Sensors.MassFractionsTwoPort | Present | ||
type Modelica.Fluid.Dissipation.Utilities.Types.MolarMass_gpmol | Present | ||
package Modelica.Media.Examples.ReferenceAir | Present | ||
package Modelica.Media.Examples.R134a | Present | ||
package Modelica.Media.Interfaces.PartialRealCondensingGases | Present | ||
package Modelica.Media.Interfaces.Choices | Present | ||
package Modelica.Media.Interfaces.Types | Present | ||
record Modelica.Media.Common.FundamentalConstants | Present | ||
record Modelica.Media.Common.AuxiliaryProperties | Present | ||
record Modelica.Media.Common.GibbsDerivs2 | Present | ||
record Modelica.Media.Common.NewtonDerivatives_dT | Present | ||
function Modelica.Media.Common.Gibbs2_ph | Present | ||
function Modelica.Media.Common.Gibbs2_dT | Present | ||
function Modelica.Media.Common.Gibbs2_ps | Present | ||
function Modelica.Media.Air.MoistAir.Utilities.smoothMax | Present | ||
function Modelica.Media.Air.MoistAir.Utilities.smoothMax_der | Present | ||
function Modelica.Media.Air.MoistAir.velocityOfSound | Present | ||
function Modelica.Media.Air.MoistAir.isobaricExpansionCoefficient | Present | ||
function Modelica.Media.Air.MoistAir.isothermalCompressibility | Present | ||
function Modelica.Media.Air.MoistAir.density_derp_h | Present | ||
function Modelica.Media.Air.MoistAir.density_derh_p | Present | ||
function Modelica.Media.Air.MoistAir.density_derp_T | Present | ||
function Modelica.Media.Air.MoistAir.density_derT_p | Present | ||
function Modelica.Media.Air.MoistAir.density_derX | Present | ||
function Modelica.Media.Air.MoistAir.molarMass | Present | ||
function Modelica.Media.Air.MoistAir.T_psX | Present | ||
function Modelica.Media.Air.MoistAir.setState_psX | Present | ||
function Modelica.Media.Air.MoistAir.s_pTX | Present | ||
function Modelica.Media.Air.MoistAir.s_pTX_der | Present | ||
function Modelica.Media.Air.MoistAir.isentropicEnthalpy | Present | ||
package Modelica.Media.Air.ReferenceAir | Present | ||
package Modelica.Media.Air.ReferenceMoistAir | Present | ||
package Modelica.Media.IdealGases.Common.Functions | Present | ||
function Modelica.Media.Incompressible.TableBased.Polynomials_Temp.evaluateWithRange | Present | ||
function Modelica.Media.Incompressible.TableBased.Polynomials_Temp.evaluateWithRange_der | Present | ||
package Modelica.Media.R134a | Present | ||
model Modelica.Thermal.HeatTransfer.Components.ThermalResistor | Present | ||
model Modelica.Thermal.HeatTransfer.Components.ConvectiveResistor | Present | ||
function Modelica.Math.Vectors.normalizeWithAssert | Present | ||
function Modelica.Math.BooleanVectors.countTrue | Present | ||
function Modelica.Math.BooleanVectors.enumerate | Present | ||
function Modelica.Math.BooleanVectors.index | Present | ||
package Modelica.Math.Icons | Present | ||
function Modelica.Math.isPowerOf2 | Present | ||
function Modelica.Utilities.Files.loadResource | Present | ||
function Modelica.Utilities.Strings.isEmpty | Present | ||
package Modelica.Utilities.Internal.PartialModelicaServices | Present | ||
package Modelica.Icons.UtilitiesPackage | Present | ||
package Modelica.Icons.TypesPackage | Present | ||
package Modelica.Icons.IconsPackage | Present | ||
package Modelica.Icons.InternalPackage | Present | ||
function Modelica.SIunits.Conversions.to_unit1 | Present | ||
package Modelica.SIunits.Icons | Present | ||
type Modelica.SIunits.PressureDifference | Present | ||
type Modelica.SIunits.DerPressureByDensity | Present | ||
type Modelica.SIunits.DerPressureByTemperature | Present | ||
type Modelica.SIunits.LoudnessLevel | Present | ||
type Modelica.SIunits.Loudness | Present | ||
type Modelica.SIunits.MolarDensity | Present | ||
type Modelica.SIunits.MolarEnergy | Present | ||
type Modelica.SIunits.MolarEnthalpy | Present | ||
type Modelica.SIunits.TimeAging | Present | ||
type Modelica.SIunits.ChargeAging | Present | ||
type Modelica.SIunits.PerUnit | Present | ||