Differences between Version 3.2 and 3.2.1 Build 2 of package Modelica

Version: 3.2 Version: 3.2.1 Build 2
Version date: 2010-10-25 Version date: 2013-08-14


model Blocks.Examples.PID_Controller

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)



model Blocks.Examples.RealNetwork1

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]);



model Blocks.Examples.BooleanNetwork1

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);



block Blocks.Continuous.LimIntegrator

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;



block Blocks.Continuous.PID

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



block Blocks.Continuous.LimPID

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;
...



block Blocks.Continuous.StateSpace

Component
Version 3.2
Version 3.2.1
A

=[1, 0; 0, 1]
B

=[1; 1]
C

=[1, 1]



function Blocks.Continuous.Internal.Filter.base.Bessel

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;
...



function Blocks.Continuous.Internal.Filter.base.Butterworth

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;
...



function Blocks.Continuous.Internal.Filter.base.ChebyshevI

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) =
     &nbspModelica_3_2.Blocks.Continuous.Internal.Filter.Utilities.toHighestPowerOne(
     &nbspden1, den2);
...



function Blocks.Continuous.Internal.Filter.coefficients.bandPass

Component
Version 3.2
Version 3.2.1
w_band
SIunits.AngularVelocity
Real



function Blocks.Continuous.Internal.Filter.coefficients.bandStop

Component
Version 3.2
Version 3.2.1
w_band
SIunits.AngularVelocity
Real



block Blocks.Discrete.FirstOrderHold

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
 &nbspwhen 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);



block Blocks.Discrete.TransferFunction

Component
Version 3.2
Version 3.2.1
a

={1}



block Blocks.Discrete.StateSpace

Component
Version 3.2
Version 3.2.1
A

=[1, 0; 0, 1]
B

=[1; 1]
C

=[1, 1]



block Blocks.Interfaces.SI2BooleanSO

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




block Blocks.Logical.TriggeredTrapezoid



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
   &nbspy = if time < T then endValue - (T - time)*rate else endValue;

when {initial(),u,not u} then
...



block Blocks.Math.MultiSwitch

Component
Version 3.2
Version 3.2.1
y
start=y_default

fixed=true




block Blocks.Math.Feedback

Component
Version 3.2
Version 3.2.1
u1
input

u2
input

y
output




block Blocks.Math.Add3

Component
Version 3.2
Version 3.2.1
u1
input

u2
input

u3
input

y
output




block Blocks.Math.Abs

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);



block Blocks.Math.Sign

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);



block Blocks.Math.Mean

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
 &nbspder(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);
...



block Blocks.Math.RootMeanSquare

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]);



block Blocks.Math.Harmonic

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]);



block Blocks.MathBoolean.MultiSwitch

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
   &nbspfirstActiveIndex =
     &nbspModelica.Math.BooleanVectors.firstTrueIndex(
                                  &nbspu);
y = if firstActiveIndex == 0 then (if use_pre_as_default then pre(y) else y_default) else
                                    &nbspexpr[firstActiveIndex];



block Blocks.MathBoolean.OnDelay



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;
...



block Blocks.Nonlinear.Limiter

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
             &nbspu <= 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
...



block Blocks.Nonlinear.VariableLimiter

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
             &nbspu <= 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
...



block Blocks.Sources.Ramp

Component
Version 3.2
Version 3.2.1
duration
min=Modelica_3_2.Constants.small
min=0.0



block Blocks.Sources.KinematicPTP

Component
Version 3.2
Version 3.2.1
deltaq

={1}
qd_max

={1}
qdd_max

={1}



block Blocks.Sources.KinematicPTP2

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
                &nbsp- 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;
...



block Blocks.Sources.TimeTable

Component
Version 3.2
Version 3.2.1
table

=fill(0.0, 0, 2)
nextEvent

discrete



block Blocks.Sources.BooleanTable

Component
Version 3.2
Version 3.2.1
table

={0,1}



block Blocks.Sources.RadioButtonSource

Component
Version 3.2
Version 3.2.1
buttonTimeTable

={0,1}



block ComplexBlocks.Sources.ComplexExpression

Component
Version 3.2
Version 3.2.1
y
output




model StateGraph.Examples.Utilities.valve

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



model StateGraph.Examples.Utilities.Tank

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



model StateGraph.Examples.Utilities.Source

Component
Version 3.2
Version 3.2.1
outflow1
StateGraph.Examples.Utilities.outflow1
StateGraph.Examples.Utilities.Outflow1



block StateGraph.Interfaces.PartialTransition



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;
...



model StateGraph.PartialCompositeStep



Equations in Version 3.2 Equations in Version 3.2.1
initial equation
pre(newActive) = pre(active); pre(newActive) = false;

...



block StateGraph.Temporary.RadioButton



Equations in Version 3.2 Equations in Version 3.2.1

initial equation

pre(reset) = fill(false, size(reset,1));

algorithm

...



model Electrical.Analog.Examples.CauerLowPassAnalog

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



model Electrical.Analog.Examples.CauerLowPassOPV

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



model Electrical.Analog.Examples.CauerLowPassSC

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))



model Electrical.Analog.Examples.CharacteristicIdealDiodes

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



model Electrical.Analog.Examples.CharacteristicThyristors

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
 &nbspconnect(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);



model Electrical.Analog.Examples.ChuaCircuit

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)



model Electrical.Analog.Examples.DifferenceAmplifier

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))



model Electrical.Analog.Examples.HeatingMOSInverter

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
 &nbspconnect(Sin.n, G.p);
connect(Capacitor1.n, G.p);
...



model Electrical.Analog.Examples.HeatingNPN_OrGate

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
 &nbspconnect(Gnd1.p, V1.n);
connect(V1.p, R1.p);
...



model Electrical.Analog.Examples.HeatingResistor

Component
Version 3.2
Version 3.2.1
heatingResistor

i(start=0)



model Electrical.Analog.Examples.HeatingRectifier

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
 &nbspconnect(SineVoltage1.p, HeatingDiode1.p);
connect(SineVoltage1.n, G.p);
...



model Electrical.Analog.Examples.NandGate

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))



model Electrical.Analog.Examples.OvervoltageProtection

Component
Version 3.2
Version 3.2.1
CL

v(start=0, fixed=true)
zDiode1

v(start=0)



model Electrical.Analog.Examples.Rectifier

Component
Version 3.2
Version 3.2.1
Inductor2

i(start=0, fixed=true)
Inductor3

i(start=0, fixed=true)



model Electrical.Analog.Examples.ShowSaturatingInductor

Component
Version 3.2
Version 3.2.1
SaturatingInductance1

i(start=0)
Inductance1

i(start=0, fixed=true)



model Electrical.Analog.Examples.ShowVariableResistor

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



model Electrical.Analog.Examples.SwitchWithArc

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



model Electrical.Analog.Examples.ThyristorBehaviourTest

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)



model Electrical.Analog.Examples.AmplifierWithOpAmpDetailed



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
 &nbspconnect(resistor.n, opAmp.m);
connect(resistor1.n, resistor2.p);
...



model Electrical.Analog.Examples.CompareTransformers

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
 &nbspconnect(sineVoltage1.n, ground11.p);
connect(sineVoltage1.p, resistor11.p);
...



model Electrical.Analog.Examples.ControlledSwitchWithArc

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
 &nbspconnect(inductor1.n,resistor1. p);
connect(resistor1.n,ground1. p);
...



model Electrical.Analog.Examples.SimpleTriacCircuit

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
 &nbspconnect(L.n, R.p);
connect(R.n, V.p);
...



model Electrical.Analog.Examples.IdealTriacCircuit

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))



model Electrical.Analog.Examples.AD_DA_conversion

Component
Version 3.2
Version 3.2.1
aD_Converter

Rin=1000000

VRefLow=0

VRefHigh=10
dA_Converter

Vref=10



model Electrical.Analog.Examples.Utilities.Transistor

Component
Version 3.2
Version 3.2.1
Tr

UIC=true



model Electrical.Analog.Basic.SaturatingInductor

Component
Version 3.2
Version 3.2.1
Psi

start=0

fixed=true



model Electrical.Analog.Basic.Transformer

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;



model Electrical.Analog.Basic.M_Transformer

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
...



model Electrical.Analog.Basic.OpAmp

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)));



model Electrical.Analog.Basic.VariableResistor

Component
Version 3.2
Version 3.2.1
R

unit="Ohm"



model Electrical.Analog.Basic.VariableConductor

Component
Version 3.2
Version 3.2.1
G

unit="S"



model Electrical.Analog.Basic.VariableCapacitor

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
 &nbspassert(C>=0,"Capacitance C (= " +
        &nbspString(C) + ") has to be >= 0!");
Q = noEvent(max(C,Cmin))*v;
i = der(Q);



model Electrical.Analog.Basic.VariableInductor

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
 &nbspassert(L>=0,"Inductance L_ (= " +
        &nbspString(L) + ") has to be >= 0!");
Psi = noEvent(max(L,Lmin))*i;
v = der(Psi);



model Electrical.Analog.Ideal.IdealDiode

Component
Version 3.2
Version 3.2.1
s

start=0



model Electrical.Analog.Ideal.OpenerWithArc

Component
Version 3.2
Version 3.2.1
quenched

fixed=true



model Electrical.Analog.Ideal.CloserWithArc

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
...



model Electrical.Analog.Ideal.ControlledCloserWithArc

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;
...



model Electrical.Analog.Ideal.AD_Converter



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;
...



model Electrical.Analog.Ideal.DA_Converter



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;
...



model Electrical.Analog.Lines.OLine

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;



model Electrical.Analog.Lines.M_OLine

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;



model Electrical.Analog.Lines.ULine

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;



model Electrical.Analog.Lines.TLine2

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;
...



model Electrical.Analog.Lines.TLine3

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;
...



model Electrical.Analog.Semiconductors.NPN

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
 &nbspExMin = exp(EMin);
ExMax = exp(EMax);
...



model Electrical.Analog.Semiconductors.Thyristor



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;



model Electrical.Analog.Semiconductors.SimpleTriac

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);
...



model Electrical.Analog.Sensors.PotentialSensor

Component
Version 3.2
Version 3.2.1
phi

unit="V"



model Electrical.Analog.Sensors.VoltageSensor

Component
Version 3.2
Version 3.2.1
v

unit="V"



model Electrical.Analog.Sensors.CurrentSensor

Component
Version 3.2
Version 3.2.1
i

unit="A"



model Electrical.Analog.Sensors.PowerSensor

Component
Version 3.2
Version 3.2.1
power

unit="W"



model Electrical.Analog.Sources.SignalVoltage

Component
Version 3.2
Version 3.2.1
v

unit="V"



model Electrical.Analog.Sources.SignalCurrent

Component
Version 3.2
Version 3.2.1
i

unit="A"



model Electrical.Digital.Examples.Multiplexer

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'



model Electrical.Digital.Examples.FlipFlop

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'}



model Electrical.Digital.Examples.HalfAdder

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



model Electrical.Digital.Examples.FullAdder

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



model Electrical.Digital.Examples.Adder4

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))))



model Electrical.Digital.Examples.Counter3

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



model Electrical.Digital.Examples.Counter

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



model Electrical.Digital.Examples.VectorDelay

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'}



model Electrical.Digital.Examples.DFFREG

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))



model Electrical.Digital.Examples.DFFREGL

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))



model Electrical.Digital.Examples.DFFREGSRH

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'}



model Electrical.Digital.Examples.DFFREGSRL

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'}



model Electrical.Digital.Examples.DLATREG

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)))



model Electrical.Digital.Examples.DLATREGL

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)))



model Electrical.Digital.Examples.DLATREGSRH

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)))



model Electrical.Digital.Examples.DLATREGSRL

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)))



model Electrical.Digital.Examples.NXFER

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'}



model Electrical.Digital.Examples.NRXFER

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'}



model Electrical.Digital.Examples.BUF3S

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'}



model Electrical.Digital.Examples.INV3S

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'}



model Electrical.Digital.Examples.WiredX

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'}



model Electrical.Digital.Examples.Utilities.DFF



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);



model Electrical.Digital.Examples.Utilities.HalfAdder

Component
Version 3.2
Version 3.2.1
AND

G2(y(start=L.'U', fixed=true))
XOR

G2(y(start=L.'U', fixed=true))



package Electrical.Digital.Tables

Component
Version 3.2
Version 3.2.1
MUX2x1Table

Present



model Electrical.Digital.Delay.TransportDelay

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
           &nbsppre(x);



model Electrical.Digital.Delay.InertialDelaySensitive

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];
...



model Electrical.Digital.Basic.And

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);



model Electrical.Digital.Basic.Nand

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);



model Electrical.Digital.Basic.Or

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);



model Electrical.Digital.Basic.Nor

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);



model Electrical.Digital.Basic.Xor

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);



model Electrical.Digital.Basic.Xnor

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);



block Electrical.Digital.Sources.Step



Equations in Version 3.2 Equations in Version 3.2.1
algorithm
when initial() then
y = before;
end when;

if time >= stepTime then
...



block Electrical.Digital.Sources.Table

Component
Version 3.2
Version 3.2.1
x
={1}
={L.'1'}



model Electrical.Digital.Sources.Clock



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';





block Electrical.Digital.Converters.LogicToBoolean



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;



model Electrical.Digital.Registers.DFFREG



Equations in Version 3.2 Equations in Version 3.2.1
connect(dataOut, dataOut);

connect(delay.y, dataOut);
...



model Electrical.Digital.Registers.DFFREGSRH

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)



model Electrical.Digital.Registers.DLATREG



Equations in Version 3.2 Equations in Version 3.2.1
connect(dataOut, dataOut);

connect(delay.y, dataOut);
...



model Electrical.Digital.Registers.DLATREGSRH



Equations in Version 3.2 Equations in Version 3.2.1
connect(dataOut, dataOut);

connect(delay.y, dataOut);
...



model Electrical.Digital.Tristates.NXFERGATE

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)



model Electrical.Digital.Tristates.NRXFERGATE

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)



model Electrical.Digital.Tristates.PXFERGATE

Component
Version 3.2
Version 3.2.1
inertialDelaySensitive
each tLH=tLH

each tHL=tHL


tLH=tLH

tHL=tHL



model Electrical.Digital.Tristates.PRXFERGATE

Component
Version 3.2
Version 3.2.1
inertialDelaySensitive
each tLH=tLH

each tHL=tHL


tLH=tLH

tHL=tHL



model Electrical.Digital.Tristates.BUF3S

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)



model Electrical.Digital.Tristates.BUF3SL

Component
Version 3.2
Version 3.2.1
inertialDelaySensitive
each tLH=tLH

each tHL=tHL


tLH=tLH

tHL=tHL



model Electrical.Digital.Tristates.INV3S

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)



model Electrical.Digital.Tristates.INV3SL

Component
Version 3.2
Version 3.2.1
inertialDelaySensitive
each tLH=tLH

each tHL=tHL


tLH=tLH

tHL=tHL



model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL

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
 &nbspconnect(star.pin_n, ground.p);
connect(sineVoltage.plug_n, star.plug_p);
...



model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_YD

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
 &nbspconnect(star.pin_n, ground.p);
connect(sineVoltage.plug_n, star.plug_p);
...



model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_Transformer

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
 &nbspconnect(star.pin_n, ground.p);
connect(terminalBox.plug_sn, aimc.plug_sn);
...



model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMS_Start

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
 &nbspconnect(star.pin_n, ground.p);
connect(sineVoltage.plug_n, star.plug_p);
...



model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_Inverter

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
 &nbspconnect(signalVoltage.plug_n, star.plug_p);
connect(star.pin_n, ground.p);
...



model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_Steinmetz

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
 &nbspconnect(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);




model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_withLosses

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
 &nbspconnect(star.pin_n, ground.p);
connect(sineVoltage.plug_n, star.plug_p);
...



model Electrical.Machines.Examples.SynchronousInductionMachines.SMR_Inverter

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
 &nbspconnect(signalVoltage.plug_n, star.plug_p);
connect(star.pin_n, ground.p);
...



model Electrical.Machines.Examples.SynchronousInductionMachines.SMPM_Inverter

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
 &nbspconnect(signalVoltage.plug_n, star.plug_p);
connect(star.pin_n, ground.p);
...



model Electrical.Machines.Examples.SynchronousInductionMachines.SMPM_CurrentSource

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);



model Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_Generator

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
 &nbspconnect(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);




model Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_LoadDump

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
 &nbspconnect(terminalBox.plug_sn, smee.plug_sn);
connect(terminalBox.plug_sp, smee.plug_sp);
...



model Electrical.Machines.Examples.DCMachines.DCPM_Start

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





model Electrical.Machines.Examples.DCMachines.DCEE_Start

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





model Electrical.Machines.Examples.DCMachines.DCSE_Start

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





model Electrical.Machines.Examples.DCMachines.DCSE_SinglePhase

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





model Electrical.Machines.Examples.DCMachines.DCPM_Temperature

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





model Electrical.Machines.Examples.DCMachines.DCPM_Cooling

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





model Electrical.Machines.Examples.DCMachines.DCPM_QuasiStationary

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





model Electrical.Machines.Examples.DCMachines.DCPM_withLosses

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





model Electrical.Machines.Examples.Transformers.TransformerTestbench

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
 &nbspconnect(starS.pin_n, groundS.p);
connect(source.plug_n, starS.plug_p);
...



model Electrical.Machines.Examples.Transformers.AsymmetricalLoad

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
 &nbspconnect(starS.pin_n, groundS.p);
connect(source.plug_n, starS.plug_p);
...



model Electrical.Machines.Examples.Transformers.Rectifier6pulse

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
 &nbspconnect(cDC1.n, cDC2.p);
connect(cDC1.n, groundDC.p);
...



model Electrical.Machines.Examples.Transformers.Rectifier12pulse

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
 &nbspconnect(diode3.plug_n, star3.plug_p);
connect(diode4.plug_p, star4.plug_p);
...



model Electrical.Machines.BasicMachines.AsynchronousInductionMachines.AIM_SquirrelCage

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);



model Electrical.Machines.BasicMachines.AsynchronousInductionMachines.AIM_SlipRing

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);



model Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_PermanentMagnet

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);



model Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_ElectricalExcited

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);



model Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_ReluctanceRotor

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);




model Electrical.Machines.BasicMachines.DCMachines.DC_ElectricalExcited

Component
Version 3.2
Version 3.2.1
ie

start=0



model Electrical.Machines.BasicMachines.Components.DamperCage

Component
Version 3.2
Version 3.2.1
i

Present
lossPower

Present



model Electrical.Machines.Sensors.VoltageQuasiRMSSensor

Component
Version 3.2
Version 3.2.1
V

final quantity="ElectricPotential"

final unit="V"



model Electrical.Machines.Sensors.CurrentQuasiRMSSensor

Component
Version 3.2
Version 3.2.1
I

final quantity="ElectricCurrent"

final unit="A"



model Electrical.Machines.Sensors.ElectricalPowerSensor

Component
Version 3.2
Version 3.2.1
P

final quantity="Power"

final unit="W"
Q

final quantity="Power"

final unit="var"



model Electrical.Machines.Sensors.MechanicalPowerSensor

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);



model Electrical.Machines.Sensors.RotorDisplacementAngle

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);



function Electrical.Machines.SpacePhasors.Functions.ToSpacePhasor

Component
Version 3.2
Version 3.2.1
m

protected
pi
Real
SIunits.Angle

protected



function Electrical.Machines.SpacePhasors.Functions.FromSpacePhasor

Component
Version 3.2
Version 3.2.1
m

protected
pi
Real
SIunits.Angle

protected



function Electrical.Machines.SpacePhasors.Functions.ToPolar

Component
Version 3.2
Version 3.2.1
small

protected



function Electrical.Machines.SpacePhasors.Functions.FromPolar

Component
Version 3.2
Version 3.2.1
pi
Real
SIunits.Angle

protected
small

protected



function Electrical.Machines.SpacePhasors.Functions.quasiRMS

Component
Version 3.2
Version 3.2.1
m

protected
pi
Real
SIunits.Angle

protected



function Electrical.Machines.SpacePhasors.Functions.activePower

Component
Version 3.2
Version 3.2.1
m

protected
pi

Present



record Electrical.Machines.Losses.FrictionParameters

Component
Version 3.2
Version 3.2.1
PRef
start=0


=0



record Electrical.Machines.Losses.BrushParameters

Component
Version 3.2
Version 3.2.1
V
start=0


=0



record Electrical.Machines.Losses.StrayLoadParameters

Component
Version 3.2
Version 3.2.1
PRef
start=0


=0



record Electrical.Machines.Losses.CoreParameters

Component
Version 3.2
Version 3.2.1
PRef
start=0


=0



model Electrical.Machines.Losses.Friction

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;



model Electrical.Machines.Losses.InductionMachines.Brush

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;



model Electrical.Machines.Losses.InductionMachines.StrayLoad

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;



model Electrical.Machines.Losses.InductionMachines.Core

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]);



model Electrical.Machines.Losses.DCMachines.Brush

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;



model Electrical.Machines.Losses.DCMachines.StrayLoad

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;



model Electrical.Machines.Losses.DCMachines.Core

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;



model Electrical.Machines.Thermal.AsynchronousInductionMachines.ThermalAmbientAIMS

Component
Version 3.2
Version 3.2.1
thermalCollectorRotor
m=thermalPort.m


final m=mr
mr

Present



model Electrical.Machines.Interfaces.PartialBasicMachine

Component
Version 3.2
Version 3.2.1
phiMechanical

start=0
wMechanical

start=0



model Electrical.Machines.Interfaces.PartialBasicInductionMachine

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);



connector Electrical.Machines.Interfaces.InductionMachines.PartialThermalPortInductionMachines

Component
Version 3.2
Version 3.2.1
connector
partial




model Electrical.Machines.Interfaces.InductionMachines.PartialThermalAmbientInductionMachines

Component
Version 3.2
Version 3.2.1
model
partial




record Electrical.Machines.Interfaces.InductionMachines.PartialPowerBalanceInductionMachines

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



connector Electrical.Machines.Interfaces.InductionMachines.ThermalPortAIMS

Component
Version 3.2
Version 3.2.1
mr

Present



model Electrical.Machines.Interfaces.PartialBasicDCMachine

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);



connector Electrical.Machines.Interfaces.DCMachines.PartialThermalPortDCMachines

Component
Version 3.2
Version 3.2.1
connector
partial




model Electrical.Machines.Interfaces.DCMachines.PartialThermalAmbientDCMachines

Component
Version 3.2
Version 3.2.1
model
partial




record Electrical.Machines.Interfaces.DCMachines.PartialPowerBalanceDCMachines

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



model Electrical.Machines.Interfaces.PartialBasicTransformer

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)



block Electrical.Machines.Utilities.VfController

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);



model Electrical.Machines.Utilities.SwitchYD

Component
Version 3.2
Version 3.2.1
idealCommutingSwitch

Ron=fill(1e-5, m)

Goff=fill(1e-5, m)



model Electrical.Machines.Utilities.SwitchedRheostat

Component
Version 3.2
Version 3.2.1
idealCommutingSwitch

Ron=fill(1e-5, m)

Goff=fill(1e-5, m)



model Electrical.MultiPhase.Examples.TransformerYY

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
 &nbspconnect(starS.pin_n, groundS.p);
connect(starT1.pin_n,groundT1. p);
...



model Electrical.MultiPhase.Examples.TransformerYD

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
 &nbspconnect(groundS.p, starS.pin_n);
connect(groundT.p, starT.pin_n);
...



model Electrical.MultiPhase.Examples.Rectifier

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
 &nbspconnect(cDC1.n, cDC2.p);
connect(cDC1.n, groundDC.p);
...



model Electrical.MultiPhase.Basic.VariableResistor

Component
Version 3.2
Version 3.2.1
R

each unit="Ohm"



model Electrical.MultiPhase.Basic.VariableConductor

Component
Version 3.2
Version 3.2.1
G

each unit="S"



model Electrical.MultiPhase.Basic.VariableCapacitor

Component
Version 3.2
Version 3.2.1
C

each unit="F"



model Electrical.MultiPhase.Basic.VariableInductor

Component
Version 3.2
Version 3.2.1
L

each unit="H"



model Electrical.MultiPhase.Sensors.PowerSensor



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);
...



model Electrical.MultiPhase.Sources.SignalVoltage

Component
Version 3.2
Version 3.2.1
v

each unit="V"



model Electrical.MultiPhase.Sources.SineVoltage

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)



model Electrical.MultiPhase.Sources.SignalCurrent

Component
Version 3.2
Version 3.2.1
i

each unit="A"



model Electrical.MultiPhase.Sources.SineCurrent

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)



model Electrical.QuasiStationary.SinglePhase.Examples.SeriesResonance



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
 &nbspconnect(f.y, voltageSource.f);
connect(polarToComplex.y, voltageSource.V);
...



model Electrical.QuasiStationary.SinglePhase.Examples.ParallelResonance

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
 &nbspconnect(currentSource.pin_n, resistor.pin_p);
connect(currentSource.pin_n, inductor.pin_p);
...



model Electrical.QuasiStationary.SinglePhase.Examples.Rectifier

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
 &nbspconnect(voltageQS.pin_p, resistorQS.pin_p);
connect(voltageQS.pin_n, rectifierQS.pin_nQS);
...



model Electrical.QuasiStationary.SinglePhase.Basic.VariableResistor

Component
Version 3.2
Version 3.2.1
R_ref

unit="Ohm"



model Electrical.QuasiStationary.SinglePhase.Basic.VariableConductor

Component
Version 3.2
Version 3.2.1
G_ref

unit="S"



model Electrical.QuasiStationary.SinglePhase.Basic.VariableCapacitor

Component
Version 3.2
Version 3.2.1
C

unit="F"



model Electrical.QuasiStationary.SinglePhase.Basic.VariableInductor

Component
Version 3.2
Version 3.2.1
L

unit="H"



model Electrical.QuasiStationary.SinglePhase.Interfaces.TwoPin

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;




model Electrical.QuasiStationary.SinglePhase.Interfaces.AbsoluteSensor

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);



model Electrical.QuasiStationary.SinglePhase.Utilities.GraetzRectifier

Component
Version 3.2
Version 3.2.1
idealDiode1

Vknee=0
idealDiode2

Vknee=0
idealDiode3

Vknee=0
idealDiode4

Vknee=0



model Electrical.QuasiStationary.Machines.Examples.TransformerTestbench

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
 &nbspconnect(starS.pin_n, groundS.pin);
connect(source.plug_n, starS.plug_p);
...



model Electrical.QuasiStationary.Machines.BasicMachines.Components.PartialCore

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);
...



model Electrical.QuasiStationary.Machines.Interfaces.PartialBasicTransformer

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)



model Electrical.QuasiStationary.MultiPhase.Examples.BalancingStar

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
 &nbspconnect(ground.pin, star.pin_n);
connect(star.plug_p, voltageSource.plug_n);
...



model Electrical.QuasiStationary.MultiPhase.Examples.BalancingDelta

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
 &nbspconnect(ground.pin, star.pin_n);
connect(star.plug_p, voltageSource.plug_n);
...



model Electrical.QuasiStationary.MultiPhase.Basic.Star

Component
Version 3.2
Version 3.2.1
plugToPins_p

final m=m



model Electrical.QuasiStationary.MultiPhase.Basic.Delta

Component
Version 3.2
Version 3.2.1
plugToPins_p

final m=m
plugToPins_n

final m=m



model Electrical.QuasiStationary.MultiPhase.Basic.VariableResistor

Component
Version 3.2
Version 3.2.1
R_ref

each unit="Ohm"



model Electrical.QuasiStationary.MultiPhase.Basic.VariableConductor

Component
Version 3.2
Version 3.2.1
G_ref

each unit="S"



model Electrical.QuasiStationary.MultiPhase.Basic.VariableCapacitor

Component
Version 3.2
Version 3.2.1
C

each unit="F"



model Electrical.QuasiStationary.MultiPhase.Basic.VariableInductor

Component
Version 3.2
Version 3.2.1
L

each unit="H"



model Electrical.QuasiStationary.MultiPhase.Sensors.FrequencySensor

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);



model Electrical.QuasiStationary.MultiPhase.Sensors.PowerSensor



Equations in Version 3.2 Equations in Version 3.2.1

...
connect(sum.y, y);
connect(currentP, currentP);




model Electrical.QuasiStationary.MultiPhase.Sources.VoltageSource

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)



model Electrical.QuasiStationary.MultiPhase.Sources.CurrentSource

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)



model Electrical.QuasiStationary.MultiPhase.Interfaces.TwoPlug

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;
...



model Electrical.QuasiStationary.MultiPhase.Interfaces.OnePort

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;
...



model Electrical.QuasiStationary.MultiPhase.Interfaces.AbsoluteSensor

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);



model Electrical.Spice3.Examples.Inverter

Component
Version 3.2
Version 3.2.1
mp

Sinternal(start=0)

IC=-1e40
mn

IC=-1e40



model Electrical.Spice3.Examples.InvertersApartRecord

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



model Electrical.Spice3.Examples.InvertersExtendedModel

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



model Electrical.Spice3.Examples.FourInverters

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



model Electrical.Spice3.Examples.Nand

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



model Electrical.Spice3.Examples.Nor

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



model Electrical.Spice3.Examples.Graetz

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



model Electrical.Spice3.Examples.Oscillator

Component
Version 3.2
Version 3.2.1
T1

vbe(start=0, fixed=true)
T2

vbe(start=0, fixed=true)



model Electrical.Spice3.Basic.C_Capacitor

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
   &nbspvinternal = p.v - n.v;
i = C*der(vinternal);



model Electrical.Spice3.Basic.L_Inductor

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
 &nbspiinternal = p.i;
L*der(iinternal) = v + ICP.v;
ICP.L=L;
ICP.di = der(iinternal);



model Electrical.Spice3.Sources.V_pulse

Component
Version 3.2
Version 3.2.1
counter

fixed=true
counter2

fixed=true



model Electrical.Spice3.Sources.V_pwl

Component
Version 3.2
Version 3.2.1
tab

protected
table=table
table=tablenew
x

Present
tlast

Present
valuelast

Present
lastvaluematrix

Present
tablenew

Present



model Electrical.Spice3.Sources.I_pwl

Component
Version 3.2
Version 3.2.1
tab

protected
table=table
table=tablenew
x

Present
tlast

Present
valuelast

Present
lastvaluematrix

Present
tablenew

Present



model Electrical.Spice3.Internal.MOS

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



record Electrical.Spice3.Internal.ModelcardMOS

Component
Version 3.2
Version 3.2.1
TNOM
=-1e40
=27



model Electrical.Spice3.Internal.MOS2

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(
       &nbspm1,
       &nbspm_type,
       &nbspc22,
       &nbspp1,
       &nbspm_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 -
     &nbspSinternal);
ibdgmin = Spice3.Internal.SpiceConstants.CKTgmin*(B.v -
     &nbspDinternal);
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;




record Electrical.Spice3.Internal.ModelcardMOS2

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



model Electrical.Spice3.Internal.BJT

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;
...



model Electrical.Spice3.Internal.DIODE

Component
Version 3.2
Version 3.2.1
C

constant



model Electrical.Spice3.Internal.R_SEMI

Component
Version 3.2
Version 3.2.1
C

constant



record Electrical.Spice3.Internal.SpiceConstants

Component
Version 3.2
Version 3.2.1
CONSTboltz

Present



function Electrical.Spice3.Internal.Functions.energyGapDepTemp

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);




function Electrical.Spice3.Internal.Functions.junctionPotDepTemp



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*
   &nbspModelica_3_2.Math.log(tnom/temp);
...



function Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET

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);
...



function Electrical.Spice3.Internal.Functions.junctionVCrit



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));
...



function Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3

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));




function Electrical.Spice3.Internal.Functions.junctionCapCoeffs

Component
Version 3.2
Version 3.2.1
phij
Real
SIunits.Voltage
f1
Real
SIunits.Voltage



function Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFET



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);
...



function Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3



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;
...



function Electrical.Spice3.Internal.Functions.junctionVoltage23SPICE3



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);
...



function Electrical.Spice3.Internal.Functions.junction3



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;
...



function Electrical.Spice3.Internal.Functions.junction2



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;
...



record Electrical.Spice3.Internal.Mosfet.Mosfet

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



record Electrical.Spice3.Internal.Mosfet.MosfetModelLineParams

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



record Electrical.Spice3.Internal.Mosfet.MosfetCalc

Component
Version 3.2
Version 3.2.1
m_lEff
Real
SIunits.Length



record Electrical.Spice3.Internal.Mos.MosModelLineParams

Component
Version 3.2
Version 3.2.1
m_surfaceStateDensityIsGiven

start=0
m_tnom
start=SpiceConstants.CKTnomTemp
start=Spice3.Internal.SpiceConstants.CKTnomTemp



record Electrical.Spice3.Internal.Mos.MosCalc

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



function Electrical.Spice3.Internal.Mos.mosCalcInitEquations



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;




function Electrical.Spice3.Internal.Mos.mosCalcCalcTempDependencies



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;




function Electrical.Spice3.Internal.Mos.mosCalcNoBypassCode



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;
...



function Electrical.Spice3.Internal.Mos.mosCalcDEVqmeyer

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;




function Electrical.Spice3.Internal.Mos.mos2CalcCalcTempDependencies



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;




function Electrical.Spice3.Internal.Mos.mos2CalcNoBypassCode



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;
...



function Electrical.Spice3.Internal.Mos1.mos1RenameParameters



Equations in Version 3.2 Equations in Version 3.2.1
algorithm
intern.m_oxideCapFactor := 0; intern.m_cgboIsGiven := 0;

intern.m_cgdoIsGiven = 0;
intern.m_cgsoIsGiven = 0;
intern.m_mjswIsGiven = 0;
intern.m_pbIsGiven = 0;
intern.m_surfaceStateDensityIsGiven = 0;
intern.m_oxideCapFactor = 0;
intern.m_vtOIsGiven = if (ex.VTO > -1e40) then 1 else 0;
...
intern.m_latDiff = ex.LD "In m lateral diffusion (default 0)";
intern.m_jctSatCur = ex.IS
"A bulk junction saturation current (defaul 1e-14)";
intern.m_jctSatCur = ex.IS
"A bulk junction saturation current (default 1e-14)";
intern.m_drainResistanceIsGiven = if
                                         (ex.RD > -1e40) then 1 else 0;
...



function Electrical.Spice3.Internal.Mos1.mos1RenameParametersDev



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;




record Electrical.Spice3.Internal.Mos2.Mos2ModelLineParams

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



function Electrical.Spice3.Internal.Mos2.mos2RenameParameters



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;
...



function Electrical.Spice3.Internal.Mos2.mos2RenameParametersDev



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;




record Electrical.Spice3.Internal.Diode.DiodeModelLineParams

Component
Version 3.2
Version 3.2.1
m_gradingCoeff
Real
SIunits.LinearTemperatureCoefficient
m_nomTemp
SIunits.Temp_C
SIunits.Temp_K



function Electrical.Spice3.Internal.Diode.diodeNoBypassCode



Equations in Version 3.2 Equations in Version 3.2.1

...
end if;

m_dCurrent = out_cc.m_dCurrent;
(m_dCap,m_dCharge) =
   &nbspModelica_3_2.Electrical.Spice3.Internal.Functions.junctionCapTransTime(
             &nbspin_c.m_tJctCap,
             &nbspm_dPNVoltage,
             &nbspin_c.m_tJctPot*in_p.m_depletionCapCoeff,
             &nbspin_p.m_gradingCoeff,
             &nbspin_p.m_junctionPot,
             &nbspin_c.m_tF1,
             &nbspin_c.m_f2,
             &nbspin_c.m_f3,
             &nbspin_p.m_transitTime,
             &nbspm_dCond,
             &nbspm_dCurrent);
...



function Electrical.Spice3.Internal.Rsemiconductor.resistorInitEquations



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
...



record Electrical.Spice3.Internal.Bjt3.BjtModelLineParams

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



record Electrical.Spice3.Internal.Bjt3.Bjt3

Component
Version 3.2
Version 3.2.1
m_invRollOffF
Real
Electrical.Spice3.Types.InverseElectricCurrent
m_invRollOffR
Real
Electrical.Spice3.Types.InverseElectricCurrent



function Electrical.Spice3.Internal.Bjt3.bjt3CalcTempDependencies

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);




function Electrical.Spice3.Internal.Bjt3.bjt3NoBypassCode

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);




function Electrical.Spice3.Internal.Bjt3.bjtRenameParameters

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;




function Electrical.Spice3.Internal.Bjt3.bjtRenameParametersDevTemp



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;




model Magnetic.FluxTubes.Examples.SaturatedInductor

Component
Version 3.2
Version 3.2.1
r_mFe

B(start=0)



model Magnetic.FluxTubes.Examples.SolenoidActuator.ComparisonQuasiStationary

Component
Version 3.2
Version 3.2.1
advancedFeed_x
exact=true
exact=false



model Magnetic.FluxTubes.Examples.SolenoidActuator.Components.AdvancedSolenoid

Component
Version 3.2
Version 3.2.1
g_mFePole

r_i=0



model Magnetic.FluxTubes.Basic.ElectroMagneticConverter

Component
Version 3.2
Version 3.2.1
N
start=1


=1



model Magnetic.FluxTubes.Basic.ConstantReluctance

Component
Version 3.2
Version 3.2.1
R_m
start=1


=1



model Magnetic.FluxTubes.Basic.LeakageWithCoefficient

Component
Version 3.2
Version 3.2.1
c_usefulFlux
start=0.7


=0.7



model Magnetic.FluxTubes.Basic.EddyCurrent

Component
Version 3.2
Version 3.2.1
rho
start=0.098e-6


=0.098e-6
l
start=1


=1
A
start=1


=1



model Magnetic.FluxTubes.Shapes.FixedShape.HollowCylinderAxialFlux

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



model Magnetic.FluxTubes.Shapes.FixedShape.HollowCylinderRadialFlux

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



model Magnetic.FluxTubes.Shapes.Force.HollowCylinderAxialFlux

Component
Version 3.2
Version 3.2.1
r_i
start=0


=0
r_o
start=0.01


=0.01



model Magnetic.FluxTubes.Shapes.Force.HollowCylinderRadialFlux

Component
Version 3.2
Version 3.2.1
r_i
start=0.01


=0.01
r_o
start=0.015


=0.015



model Magnetic.FluxTubes.Shapes.Force.CuboidParallelFlux

Component
Version 3.2
Version 3.2.1
a
start=0.01


=0.01
b
start=0.01


=0.01



model Magnetic.FluxTubes.Shapes.Force.CuboidOrthogonalFlux

Component
Version 3.2
Version 3.2.1
a
start=0.01


=0.01
b
start=0.01


=0.01



model Magnetic.FluxTubes.Shapes.Force.LeakageAroundPoles

Component
Version 3.2
Version 3.2.1
w
start=0.1


=0.1
r
start=0.01


=0.01



model Magnetic.FluxTubes.Shapes.Leakage.QuarterCylinder

Component
Version 3.2
Version 3.2.1
l
start=0.1


=0.1



model Magnetic.FluxTubes.Shapes.Leakage.QuarterHollowCylinder

Component
Version 3.2
Version 3.2.1
l
start=0.1


=0.1



model Magnetic.FluxTubes.Shapes.Leakage.HalfCylinder

Component
Version 3.2
Version 3.2.1
l
start=0.1


=0.1



model Magnetic.FluxTubes.Shapes.Leakage.HalfHollowCylinder

Component
Version 3.2
Version 3.2.1
l
start=0.1


=0.1



model Magnetic.FluxTubes.Shapes.Leakage.QuarterSphere

Component
Version 3.2
Version 3.2.1
r
start=0.005


=0.005



model Magnetic.FluxTubes.Shapes.Leakage.EighthOfSphere

Component
Version 3.2
Version 3.2.1
r
start=0.01


=0.01



model Magnetic.FluxTubes.Shapes.Leakage.CoaxCylindersEndFaces

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



connector Magnetic.FluxTubes.Interfaces.MagneticPort

Component
Version 3.2
Version 3.2.1
V_m
SIunits.MagneticPotentialDifference
SIunits.MagneticPotential



model Magnetic.FluxTubes.Interfaces.PartialTwoPorts

Component
Version 3.2
Version 3.2.1
Phi

start=0



model Magnetic.FluxTubes.Sources.SignalMagneticPotentialDifference

Component
Version 3.2
Version 3.2.1
V_m

unit="A"



model Magnetic.FluxTubes.Sources.SignalMagneticFlux

Component
Version 3.2
Version 3.2.1
Phi

unit="Wb"



model Magnetic.FluxTubes.Sensors.MagneticPotentialDifferenceSensor

Component
Version 3.2
Version 3.2.1
V_m

final quantity="MagneticPotential"

final unit="A"



model Magnetic.FluxTubes.Sensors.MagneticFluxSensor

Component
Version 3.2
Version 3.2.1
Phi

final quantity="MagneticFlux"

final unit="Wb"



model Magnetic.FundamentalWave.Examples.Components.EddyCurrentLosses

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
 &nbspconnect(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);
...



model Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_DOL

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
 &nbspconnect(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);



model Magnetic.FundamentalWave.Examples.BasicMachines.AIMS_Start

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
 &nbspconnect(star.pin_n, ground.p);
connect(sineVoltage.plug_n, star.plug_p);
...



model Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_Inverter

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
 &nbspconnect(signalVoltage.plug_n, star.plug_p);
connect(star.pin_n, ground.p);
...



model Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_Generator

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
 &nbspconnect(rotorAngleE.plug_n, smeeE.plug_sn);
connect(rotorAngleE.plug_p,smeeE. plug_sp);
...



model Magnetic.FundamentalWave.Examples.BasicMachines.SMR_Inverter

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
 &nbspconnect(signalVoltage.plug_n, star.plug_p);
connect(star.pin_n, ground.p);
...



model Magnetic.FundamentalWave.Components.MultiPhaseElectroMagneticConverter

Component
Version 3.2
Version 3.2.1
v

Present
i

Present
V_m

Present
Phi

Present



model Magnetic.FundamentalWave.BasicMachines.AsynchronousInductionMachines.AIM_SquirrelCage

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);



model Magnetic.FundamentalWave.BasicMachines.AsynchronousInductionMachines.AIM_SlipRing

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);



model Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines.SM_PermanentMagnet

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);



model Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines.SM_ElectricalExcited

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);



model Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines.SM_ReluctanceRotor

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);



model Magnetic.FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseWinding

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)



model Magnetic.FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseCageWinding

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)



model Magnetic.FundamentalWave.BasicMachines.Components.SaliencyCageWinding

Component
Version 3.2
Version 3.2.1
i
Magnetic.FundamentalWave.Types.SalientCurrent
Blocks.Interfaces.RealOutput

sizes= 2
lossPower

Present



model Magnetic.FundamentalWave.Interfaces.PartialBasicInductionMachine

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
 &nbspconnect(stator.plug_n, plug_sn);
connect(thermalPort,internalThermalPort);
...



record Magnetic.FundamentalWave.Types.Salient

Component
Version 3.2
Version 3.2.1
d

replaceable
q

replaceable



model Mechanics.MultiBody.World

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);
...



model Mechanics.MultiBody.Examples.Elementary.FreeBody

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)



model Mechanics.MultiBody.Examples.Elementary.InitSpringConstant

Component
Version 3.2
Version 3.2.1
spring
c(fixed=false) = 100
c(fixed=false, start=100)



model Mechanics.MultiBody.Examples.Elementary.PointGravity

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)



model Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses

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)



model Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses2

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)



model Mechanics.MultiBody.Examples.Elementary.SpringDamperSystem

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}



model Mechanics.MultiBody.Examples.Elementary.SpringWithMass

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)



model Mechanics.MultiBody.Examples.Elementary.ThreeSprings

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)



model Mechanics.MultiBody.Examples.Elementary.HeatLosses

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}



model Mechanics.MultiBody.Examples.Elementary.UserDefinedGravityField

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)



model Mechanics.MultiBody.Examples.Elementary.Surfaces

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)



model Mechanics.MultiBody.Examples.Loops.EngineV6_analytic

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



model Mechanics.MultiBody.Examples.Loops.Utilities.GasForce2



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.");



model Mechanics.MultiBody.Examples.Loops.Utilities.CylinderBase

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"



model Mechanics.MultiBody.Examples.Loops.Utilities.Cylinder_analytic_CAD

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"



model Mechanics.MultiBody.Examples.Loops.Utilities.EngineV6_analytic

Component
Version 3.2
Version 3.2.1
crank

r={0,0,0}



model Mechanics.MultiBody.Examples.Rotational3DEffects.MovingActuatedDrive

Component
Version 3.2
Version 3.2.1
position1

w(fixed=true)
position2

w(fixed=true)



model Mechanics.MultiBody.Examples.Rotational3DEffects.GearConstraint

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)



model Mechanics.MultiBody.Examples.Systems.RobotR3.Components.PathPlanning6

Component
Version 3.2
Version 3.2.1
angleBegDeg
unit="deg"


each unit="deg"
angleEndDeg
unit="deg"


each unit="deg"



model Mechanics.MultiBody.Examples.Systems.RobotR3.Components.Motor

Component
Version 3.2
Version 3.2.1
convert1
k=1


k(unit="V/A") = 1
convert2
k=1


k(unit="V/A") = 1



model Mechanics.MultiBody.Examples.Systems.RobotR3.Components.MechanicalStructure

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);
...



model Mechanics.MultiBody.Forces.Force

Component
Version 3.2
Version 3.2.1
connectionLine
lengthDirection=basicForce.r_0
lengthDirection=to_unit1(basicForce.r_0)



model Mechanics.MultiBody.Forces.Torque

Component
Version 3.2
Version 3.2.1
connectionLine
lengthDirection=basicTorque.r_0
lengthDirection=to_unit1(basicTorque.r_0)



model Mechanics.MultiBody.Forces.ForceAndTorque

Component
Version 3.2
Version 3.2.1
connectionLine
lengthDirection=basicForce.r_0
lengthDirection=to_unit1(basicForce.r_0)



model Mechanics.MultiBody.Forces.LineForceWithMass

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;
...



model Mechanics.MultiBody.Forces.LineForceWithTwoMasses

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;
...



function Mechanics.MultiBody.Frames.Internal.maxWithoutEvent

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;





function Mechanics.MultiBody.Frames.Internal.maxWithoutEvent_d

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;





model Mechanics.MultiBody.Joints.Prismatic

Component
Version 3.2
Version 3.2.1
e
=Modelica_3_2.Math.Vectors.normalize(n, 0.0)
=Modelica.Math.Vectors.normalizeWithAssert(n)



model Mechanics.MultiBody.Joints.Revolute

Component
Version 3.2
Version 3.2.1
e
=Modelica_3_2.Math.Vectors.normalize(n, 0.0)
=Modelica.Math.Vectors.normalizeWithAssert(n)



model Mechanics.MultiBody.Joints.RevolutePlanarLoopConstraint

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))



model Mechanics.MultiBody.Joints.FreeMotionScalarInit

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);



model Mechanics.MultiBody.Joints.UniversalSpherical

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
 &nbspConnections.branch(frame_a.R, frame_ia.R);
if kinematicConstraint then
...
length2_n2_a = n2_a*n2_a;


length_n2_a = sqrt(length2_n2_a);
...



model Mechanics.MultiBody.Joints.GearConstraint

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);
...



model Mechanics.MultiBody.Joints.Assemblies.JointUPS

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);
...



model Mechanics.MultiBody.Joints.Assemblies.JointRRR

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)



model Mechanics.MultiBody.Joints.Assemblies.JointRRP

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)



model Mechanics.MultiBody.Joints.Internal.RevoluteWithLengthConstraint

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);
...



model Mechanics.MultiBody.Joints.Internal.PrismaticWithLengthConstraint

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);
...



model Mechanics.MultiBody.Parts.Fixed

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




model Mechanics.MultiBody.Parts.FixedTranslation

Component
Version 3.2
Version 3.2.1
lengthDirection
=r - r_shape
=to_unit1(r - r_shape)



model Mechanics.MultiBody.Parts.FixedRotation

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))



model Mechanics.MultiBody.Parts.Body

Component
Version 3.2
Version 3.2.1
cylinder
lengthDirection=r_CM
lengthDirection=to_unit1(r_CM)



model Mechanics.MultiBody.Parts.BodyShape

Component
Version 3.2
Version 3.2.1
lengthDirection
=r - r_shape
=to_unit1(r - r_shape)



model Mechanics.MultiBody.Parts.BodyBox

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);
...



model Mechanics.MultiBody.Parts.BodyCylinder

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);
...



model Mechanics.MultiBody.Parts.PointMass



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();
...



model Mechanics.MultiBody.Parts.Rotor1D

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



model Mechanics.MultiBody.Parts.BevelGear1D

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)



model Mechanics.MultiBody.Parts.RollingWheel

Component
Version 3.2
Version 3.2.1
angles
fixed=true


each fixed=true
der_angles
fixed=true


each fixed=true



model Mechanics.MultiBody.Sensors.AbsoluteSensor

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



model Mechanics.MultiBody.Sensors.RelativeSensor

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



model Mechanics.MultiBody.Sensors.AbsolutePosition

Component
Version 3.2
Version 3.2.1
r
each final quantity="Position"
each final quantity="Length"



model Mechanics.MultiBody.Sensors.AbsoluteVelocity

Component
Version 3.2
Version 3.2.1
tansformAbsoluteVector
Mechanics.MultiBody.Sensors.TansformAbsoluteVector
Mechanics.MultiBody.Sensors.TransformAbsoluteVector



model Mechanics.MultiBody.Sensors.AbsoluteAngles

Component
Version 3.2
Version 3.2.1
angles
each final quantity="Angles"
each final quantity="Angle"



model Mechanics.MultiBody.Sensors.AbsoluteAngularVelocity

Component
Version 3.2
Version 3.2.1
w
each final unit="1/s"
each final unit="rad/s"



model Mechanics.MultiBody.Sensors.RelativeVelocity

Component
Version 3.2
Version 3.2.1
tansformRelativeVector
Mechanics.MultiBody.Sensors.TansformRelativeVector
Mechanics.MultiBody.Sensors.TransformRelativeVector



model Mechanics.MultiBody.Sensors.RelativeAngles

Component
Version 3.2
Version 3.2.1
angles
each final quantity="Angles"
each final quantity="Angle"
displayUnit="deg"


each displayUnit="deg"



model Mechanics.MultiBody.Sensors.RelativeAngularVelocity

Component
Version 3.2
Version 3.2.1
w_rel
each final unit="1/s"
each final unit="rad/s"



model Mechanics.MultiBody.Sensors.CutForce

Component
Version 3.2
Version 3.2.1
force
final quantity="Force"

final unit="N"


each final quantity="Force"

each final unit="N"



model Mechanics.MultiBody.Sensors.CutForceAndTorque

Component
Version 3.2
Version 3.2.1
force
final quantity="Force"

final unit="N"


each final quantity="Force"

each final unit="N"



model Mechanics.MultiBody.Sensors.TansformAbsoluteVector

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);




model Mechanics.MultiBody.Sensors.TansformRelativeVector

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);




model Mechanics.MultiBody.Sensors.Internal.BasicAbsolutePosition

Component
Version 3.2
Version 3.2.1
r
each final quantity="Position"
each final quantity="Length"



model Mechanics.MultiBody.Sensors.Internal.BasicAbsoluteAngularVelocity

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"



model Mechanics.MultiBody.Sensors.Internal.BasicRelativePosition

Component
Version 3.2
Version 3.2.1
r_rel
each final quantity="Position"
each final quantity="Length"



model Mechanics.MultiBody.Sensors.Internal.BasicRelativeAngularVelocity

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"



model Mechanics.MultiBody.Sensors.Internal.BasicCutForce

Component
Version 3.2
Version 3.2.1
force
final quantity="Force"

final unit="N"


each final quantity="Force"

each final unit="N"



model Mechanics.MultiBody.Sensors.Internal.BasicCutTorque

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"



model Mechanics.MultiBody.Visualizers.FixedShape2

Component
Version 3.2
Version 3.2.1
lengthDirection
=r - r_shape
=to_unit1(r - r_shape)



model Mechanics.MultiBody.Visualizers.SignalArrow

Component
Version 3.2
Version 3.2.1
r_head
each final quantity="Position"
each final quantity="Length"



model Mechanics.MultiBody.Visualizers.Torus

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)



model Mechanics.MultiBody.Visualizers.VoluminousWheel

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))



model Mechanics.MultiBody.Visualizers.PipeWithScalarField

Component
Version 3.2
Version 3.2.1
xsi
min=0

max=1


each min=0

each max=1



function Mechanics.MultiBody.Visualizers.Colors.ColorMaps.jet

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



function Mechanics.MultiBody.Visualizers.Colors.scalarToColor



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)), :];




model Mechanics.MultiBody.Visualizers.Advanced.Arrow

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



model Mechanics.MultiBody.Visualizers.Advanced.DoubleArrow

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



model Mechanics.MultiBody.Visualizers.Advanced.PipeWithScalarField

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)



model Mechanics.Rotational.Examples.First

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)



model Mechanics.Rotational.Examples.FirstGrounded

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)



model Mechanics.Rotational.Examples.CoupledClutches

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)



model Mechanics.Rotational.Examples.LossyGearDemo1

Component
Version 3.2
Version 3.2.1
Inertia2
w(fixed=true)
w(fixed=true, start=0)



model Mechanics.Rotational.Examples.LossyGearDemo2

Component
Version 3.2
Version 3.2.1
Inertia2
w(fixed=true)
w(fixed=true, start=0)



model Mechanics.Rotational.Examples.ElasticBearing

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);



model Mechanics.Rotational.Examples.RollingWheel

Component
Version 3.2
Version 3.2.1
inertia

phi(fixed=true, start=0)

w(fixed=true, start=0)



model Mechanics.Rotational.Examples.SimpleGearShift

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)



model Mechanics.Rotational.Components.Clutch

Component
Version 3.2
Version 3.2.1
a_rel
Present




model Mechanics.Rotational.Components.InitializeFlange

Component
Version 3.2
Version 3.2.1
phi_start

unit="rad"
w_start

unit="rad/s"
a_start

unit="rad/s2"



model Mechanics.Rotational.Components.RelativeStates

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



model Mechanics.Rotational.Sensors.AngleSensor

Component
Version 3.2
Version 3.2.1
phi

unit="rad"

displayUnit="deg"



model Mechanics.Rotational.Sensors.SpeedSensor

Component
Version 3.2
Version 3.2.1
w

unit="rad/s"



model Mechanics.Rotational.Sensors.AccSensor

Component
Version 3.2
Version 3.2.1
a

unit="rad/s2"



model Mechanics.Rotational.Sensors.RelAngleSensor

Component
Version 3.2
Version 3.2.1
phi_rel

unit="rad"

displayUnit="deg"



model Mechanics.Rotational.Sensors.RelSpeedSensor

Component
Version 3.2
Version 3.2.1
w_rel

unit="rad/s"



model Mechanics.Rotational.Sensors.RelAccSensor

Component
Version 3.2
Version 3.2.1
a_rel

unit="rad/s2"



model Mechanics.Rotational.Sensors.TorqueSensor

Component
Version 3.2
Version 3.2.1
tau

unit="N.m"



model Mechanics.Rotational.Sensors.PowerSensor

Component
Version 3.2
Version 3.2.1
power

unit="W"



model Mechanics.Rotational.Sources.Speed

Component
Version 3.2
Version 3.2.1
w_ref

unit="rad/s"



model Mechanics.Rotational.Sources.Accelerate

Component
Version 3.2
Version 3.2.1
a_ref

unit="rad/s2"



model Mechanics.Rotational.Sources.Torque

Component
Version 3.2
Version 3.2.1
tau

unit="N.m"



model Mechanics.Rotational.Sources.Torque2

Component
Version 3.2
Version 3.2.1
tau

unit="N.m"



model Mechanics.Rotational.Interfaces.PartialCompliantWithRelativeStates

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



model Mechanics.Translational.Examples.Sensors

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);



model Mechanics.Translational.Examples.HeatLosses

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);



model Mechanics.Translational.Components.ElastoGap

Component
Version 3.2
Version 3.2.1
c
Real
SIunits.TranslationalSpringConstant
d
Real
SIunits.TranslationalDampingConstant



model Mechanics.Translational.Components.SupportFriction



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);
...



model Mechanics.Translational.Components.InitializeFlange

Component
Version 3.2
Version 3.2.1
s_start

unit="m"
v_start

unit="m/s"
a_start

unit="m/s2"



model Mechanics.Translational.Components.MassWithStopAndFriction

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;





model Mechanics.Translational.Sensors.PositionSensor

Component
Version 3.2
Version 3.2.1
s

unit="m"



model Mechanics.Translational.Sensors.SpeedSensor

Component
Version 3.2
Version 3.2.1
v

unit="m/s"



model Mechanics.Translational.Sensors.AccSensor

Component
Version 3.2
Version 3.2.1
a

unit="m/s2"



model Mechanics.Translational.Sensors.RelPositionSensor

Component
Version 3.2
Version 3.2.1
s_rel

unit="m"



model Mechanics.Translational.Sensors.RelSpeedSensor

Component
Version 3.2
Version 3.2.1
v_rel

unit="m/s"



model Mechanics.Translational.Sensors.RelAccSensor

Component
Version 3.2
Version 3.2.1
a_rel

unit="m/s2"



model Mechanics.Translational.Sensors.ForceSensor

Component
Version 3.2
Version 3.2.1
f

unit="N"



model Mechanics.Translational.Sensors.PowerSensor

Component
Version 3.2
Version 3.2.1
power

unit="W"



model Mechanics.Translational.Sources.Position

Component
Version 3.2
Version 3.2.1
s_ref

unit="m"



model Mechanics.Translational.Sources.Speed

Component
Version 3.2
Version 3.2.1
v_ref

unit="m/s"



model Mechanics.Translational.Sources.Accelerate

Component
Version 3.2
Version 3.2.1
a_ref

unit="m/s2"



model Mechanics.Translational.Sources.Force

Component
Version 3.2
Version 3.2.1
f

unit="N"



model Mechanics.Translational.Sources.Force2

Component
Version 3.2
Version 3.2.1
f

unit="N"



model Mechanics.Translational.Interfaces.PartialCompliant

Component
Version 3.2
Version 3.2.1
s_rel
SIunits.Distance
SIunits.Position



model Mechanics.Translational.Interfaces.PartialCompliantWithRelativeStates

Component
Version 3.2
Version 3.2.1
s_rel
SIunits.Distance
SIunits.Position



model Mechanics.Translational.Interfaces.PartialElementaryOneFlangeAndSupport

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);
...



model Mechanics.Translational.Interfaces.PartialElementaryOneFlangeAndSupport2

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
...



model Mechanics.Translational.Interfaces.PartialElementaryTwoFlangesAndSupport

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);
...



model Mechanics.Translational.Interfaces.PartialElementaryTwoFlangesAndSupport2

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
...



model Mechanics.Translational.Interfaces.PartialForce

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;



model Fluid.Examples.PumpingSystem

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



model Fluid.Examples.HeatingSystem

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



model Fluid.Examples.DrumBoiler.DrumBoiler

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);



model Fluid.Examples.DrumBoiler.BaseClasses.EquilibriumDrumBoiler

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



model Fluid.Examples.Tanks.TanksWithOverflow

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



model Fluid.Examples.Tanks.EmptyTanks

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



model Fluid.Examples.ControlledTankSystem.ControlledTanks

Component
Version 3.2
Version 3.2.1
system

energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial



model Fluid.Examples.ControlledTankSystem.Utilities.TankController

Component
Version 3.2
Version 3.2.1
stateGraphRoot

Present





block Fluid.Examples.ControlledTankSystem.Utilities.RadioButton



Equations in Version 3.2 Equations in Version 3.2.1

initial equation

pre(reset) = fill(false, size(reset, 1));

algorithm

...



model Fluid.Examples.AST_BatchPlant.BatchPlant_StandardWater

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)



model Fluid.Examples.AST_BatchPlant.BaseClasses.TankWith3InletOutletArraysWithEvaporatorCondensor

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



model Fluid.Examples.AST_BatchPlant.BaseClasses.InnerTank

Component
Version 3.2
Version 3.2.1
m_flow_negative

fixed=true
Xi
Media.Interfaces.PartialMedium.MassFraction
Media.Interfaces.Types.MassFraction



model Fluid.Examples.AST_BatchPlant.BaseClasses.Controller

Component
Version 3.2
Version 3.2.1
stateGraphRoot

Present





model Fluid.Examples.AST_BatchPlant.BaseClasses.TankWithTopPorts

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



model Fluid.Examples.AST_BatchPlant.Test.OneTank

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



model Fluid.Examples.AST_BatchPlant.Test.TwoTanks

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



model Fluid.Examples.AST_BatchPlant.Test.TankWithEmptyingPipe1

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



model Fluid.Examples.AST_BatchPlant.Test.TankWithEmptyingPipe2

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



model Fluid.Examples.AST_BatchPlant.Test.TanksWithEmptyingPipe1

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



model Fluid.Examples.AST_BatchPlant.Test.TanksWithEmptyingPipe2

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



model Fluid.Examples.IncompressibleFluidNetwork

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);



model Fluid.Examples.BranchingDynamicPipes

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)



model Fluid.Examples.HeatExchanger.HeatExchangerSimulation

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



model Fluid.Examples.HeatExchanger.BaseClasses.BasicHX

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



model Fluid.Examples.HeatExchanger.BaseClasses.WallConstProps

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;
...



model Fluid.Examples.TraceSubstances.RoomCO2

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);



model Fluid.Examples.TraceSubstances.RoomCO2WithControls

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



model Fluid.Examples.InverseParameterization

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



model Fluid.Examples.Explanatory.MeasuringTemperature

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



model Fluid.Examples.Explanatory.MomentumBalanceFittings

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



model Fluid.System

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





model Fluid.Vessels.OpenTank

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
...



model Fluid.Vessels.BaseClasses.PartialLumpedVessel

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
           &nbspmax(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];
...



model Fluid.Pipes.StaticPipe

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



model Fluid.Pipes.DynamicPipe



Equations in Version 3.2 Equations in Version 3.2.1

...
else
assert(true, "Unknown model structure"); assert(false, "Unknown model structure");
end if;
...



model Fluid.Pipes.BaseClasses.PartialTwoPortFlow

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;
...



model Fluid.Pipes.BaseClasses.FlowModels.PartialStaggeredFlowModel

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
...



model Fluid.Pipes.BaseClasses.FlowModels.PartialGenericPipeFlow

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
 &nbspfor 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;
...



model Fluid.Pipes.BaseClasses.FlowModels.NominalTurbulentPipeFlow

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*
   &nbspModelica_3_2.Math.log10(3.7/((roughnesses[i] + roughnesses[i +
   &nbsp1])/2/diameters[i])))^2;

Res_turbulent_nominal[i] = m_flow_turbulent/nParallel / (pi/4*diameters[i]*mus_act[i]);
end for;



model Fluid.Pipes.BaseClasses.FlowModels.TurbulentPipeFlow

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;




model Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow



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;




model Fluid.Pipes.BaseClasses.HeatTransfer.PartialPipeFlowHeatTransfer

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



model Fluid.Pipes.BaseClasses.HeatTransfer.LocalPipeFlowHeatTransfer



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;



package Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction

Component
Version 3.2
Version 3.2.1
use_Re_turbulent

Present



function Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction.massFlowRate_dp

Component
Version 3.2
Version 3.2.1
Re_turbulent

Present



function Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction.massFlowRate_dp_staticHead

Component
Version 3.2
Version 3.2.1
Re_turbulent

Present



function Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction.pressureLoss_m_flow

Component
Version 3.2
Version 3.2.1
Re_turbulent

Present



function Fluid.Pipes.BaseClasses.WallFriction.PartialWallFriction.pressureLoss_m_flow_staticHead

Component
Version 3.2
Version 3.2.1
Re_turbulent

Present



function Fluid.Pipes.BaseClasses.WallFriction.QuadraticTurbulent.massFlowRate_dp



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;
...



function Fluid.Pipes.BaseClasses.WallFriction.QuadraticTurbulent.pressureLoss_m_flow



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;
...



function Fluid.Pipes.BaseClasses.WallFriction.QuadraticTurbulent.massFlowRate_dp_staticHead



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
...



function Fluid.Pipes.BaseClasses.WallFriction.QuadraticTurbulent.pressureLoss_m_flow_staticHead



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
...



function Fluid.Pipes.BaseClasses.WallFriction.LaminarAndQuadraticTurbulent.massFlowRate_dp

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(
               &nbspdp,
               &nbspdp_turbulent,
               &nbsprho_a*k_inv,
               &nbsprho_b*k_inv,
               &nbspuse_yd0=true,
               &nbspyd0=yd0);
...



function Fluid.Pipes.BaseClasses.WallFriction.LaminarAndQuadraticTurbulent.pressureLoss_m_flow

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(
               &nbspm_flow,
               &nbspm_flow_turbulent,
               &nbspk/rho_a,
               &nbspk/rho_b,
               &nbspuse_yd0=true,
               &nbspyd0=yd0);
...



function Fluid.Pipes.BaseClasses.WallFriction.LaminarAndQuadraticTurbulent.massFlowRate_dp_staticHead

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;
...



function Fluid.Pipes.BaseClasses.WallFriction.LaminarAndQuadraticTurbulent.pressureLoss_m_flow_staticHead

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
   &nbspInternal.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
   &nbspm_flow_small;
...



function Fluid.Pipes.BaseClasses.WallFriction.Detailed.massFlowRate_dp

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



function Fluid.Pipes.BaseClasses.WallFriction.Detailed.pressureLoss_m_flow

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



function Fluid.Pipes.BaseClasses.WallFriction.Detailed.massFlowRate_dp_staticHead

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



function Fluid.Pipes.BaseClasses.WallFriction.Detailed.pressureLoss_m_flow_staticHead

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



model Fluid.Pipes.BaseClasses.WallFriction.TestWallFrictionAndGravity

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



model Fluid.Machines.ControlledPump

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



model Fluid.Machines.BaseClasses.PartialPump

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,
                    &nbspm_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;
...



function Fluid.Machines.BaseClasses.PumpCharacteristics.linearFlow



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];




function Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow

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;




function Fluid.Machines.BaseClasses.PumpCharacteristics.polynomialFlow

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;




model Fluid.Valves.ValveIncompressible

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;



model Fluid.Valves.ValveVaporizing

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;



model Fluid.Valves.ValveCompressible

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;



model Fluid.Valves.ValveDiscrete

Component
Version 3.2
Version 3.2.1
dp_nominal
SIunits.Pressure
SIunits.AbsolutePressure



model Fluid.Valves.BaseClasses.PartialValve

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



model Fluid.Fittings.Bends.CurvedBend

Component
Version 3.2
Version 3.2.1
dp_small
Media.Interfaces.PartialMedium.AbsolutePressure
Media.Interfaces.Types.AbsolutePressure



model Fluid.Fittings.Bends.EdgedBend

Component
Version 3.2
Version 3.2.1
dp_small
Media.Interfaces.PartialMedium.AbsolutePressure
Media.Interfaces.Types.AbsolutePressure



model Fluid.Fittings.Orifices.ThickEdgedOrifice

Component
Version 3.2
Version 3.2.1
dp_small
Media.Interfaces.PartialMedium.AbsolutePressure
Media.Interfaces.Types.AbsolutePressure



model Fluid.Fittings.GenericResistances.VolumeFlowRate

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



model Fluid.Fittings.SimpleGenericOrifice

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;
...



model Fluid.Fittings.MultiPort

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



model Fluid.Fittings.BaseClasses.QuadraticTurbulent.BaseModel

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;
...



model Fluid.Fittings.BaseClasses.QuadraticTurbulent.BaseModelNonconstantCrossSectionArea

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



model Fluid.Sources.FixedBoundary

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



model Fluid.Sources.Boundary_pT

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



model Fluid.Sources.Boundary_ph

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



model Fluid.Sources.MassFlowSource_T

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];
...



model Fluid.Sources.MassFlowSource_h

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);



model Fluid.Sensors.DensityTwoPort

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




model Fluid.Sensors.TemperatureTwoPort

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




model Fluid.Sensors.SpecificEnthalpyTwoPort

Component
Version 3.2
Version 3.2.1
m_flow_small
Present




model Fluid.Sensors.SpecificEntropyTwoPort

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




model Fluid.Sensors.TraceSubstances

Component
Version 3.2
Version 3.2.1
CVec
Media.Interfaces.PartialMedium.ExtraProperty
Media.Interfaces.Types.ExtraProperty



model Fluid.Sensors.TraceSubstancesTwoPort

Component
Version 3.2
Version 3.2.1
m_flow_small
Present




model Fluid.Sensors.VolumeFlowRate

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




model Fluid.Sensors.RelativePressure

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;




model Fluid.Sensors.RelativeTemperature

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))) -
         &nbspMedium.temperature(Medium.setState_phX(port_b.p, inStream(port_b.h_outflow), inStream(port_b.Xi_outflow)));




model Fluid.Sensors.BaseClasses.PartialAbsoluteSensor



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);



model Fluid.Sensors.BaseClasses.PartialFlowSensor

Component
Version 3.2
Version 3.2.1
m_flow_nominal

Present
m_flow_small

Present



connector Fluid.Interfaces.FluidPort

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



model Fluid.Interfaces.PartialTwoPortTransport

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



model Fluid.Interfaces.PartialLumpedVolume

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



model Fluid.Interfaces.PartialDistributedVolume

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



model Fluid.Interfaces.PartialPressureLoss

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



function Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_KC



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);




function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_overall



Equations in Version 3.2 Equations in Version 3.2.1

...
Nu = kc*IN_con.d_hyd/max(MIN, IN_var.lambda);

failureStatus = 0;




function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall



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;
...



function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_turbulent



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;
...



function Fluid.Dissipation.PressureLoss.Bend.dp_edgedOverall_MFLOW

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



function Fluid.Dissipation.PressureLoss.Orifice.dp_thickEdgedOverall_DP

Component
Version 3.2
Version 3.2.1
l_bar
SIunits.Length
Real



function Fluid.Dissipation.PressureLoss.Orifice.dp_thickEdgedOverall_MFLOW

Component
Version 3.2
Version 3.2.1
l_bar
SIunits.Length
Real



function Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_MFLOW

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)



record Fluid.Dissipation.PressureLoss.StraightPipe.dp_twoPhaseOverall_IN_con

Component
Version 3.2
Version 3.2.1
voidFractionApproach
Fluid.Dissipation.Utilities.Types.Roughness
Fluid.Dissipation.Utilities.Types.VoidFractionApproach



function Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.dp_twoPhaseGeodetic_DP



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);




function Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.dp_twoPhaseMomentum_DP

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)



function Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.TwoPhaseDensity

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;




function Fluid.Dissipation.Utilities.Functions.General.LambertW



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)!");




function Fluid.Dissipation.Utilities.Functions.General.Stepsmoother_der



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;




record Fluid.Dissipation.Utilities.Records.HeatTransfer.TwoPhaseFlowHT_IN_con

Component
Version 3.2
Version 3.2.1
MM
SIunits.MolarMass
Fluid.Dissipation.Utilities.Types.MolarMass_gpmol



function Fluid.Utilities.regFun3



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 = " +
     &nbspString(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;
...



model Media.Examples.SimpleLiquidWater

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



model Media.Examples.IdealGasH2O

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



model Media.Examples.WaterIF97

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



model Media.Examples.MixtureGases

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



model Media.Examples.MoistAir

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);
...



model Media.Examples.TwoPhaseWater.ExtendedProperties

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



model Media.Examples.TwoPhaseWater.TestTwoPhaseStates

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)



model Media.Examples.TestOnly.MixIdealGasAir

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



model Media.Examples.TestOnly.FlueGas

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



model Media.Examples.TestOnly.IdealGasN2

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



model Media.Examples.TestOnly.IdealGasN2Mix

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



connector Media.Examples.Tests.Components.FluidPort

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



model Media.Examples.Tests.Components.PortVolume

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



model Media.Examples.Tests.Components.FixedMassFlowRate

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



model Media.Examples.Tests.Components.FixedAmbient

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



model Media.Examples.Tests.Components.ShortPipe

Component
Version 3.2
Version 3.2.1
dp_nominal
Media.Interfaces.PartialMedium.AbsolutePressure
Media.Interfaces.Types.AbsolutePressure



model Media.Examples.SolveOneNonlinearEquation.Inverse_sh_T

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));
...



model Media.Examples.SolveOneNonlinearEquation.InverseIncompressible_sh_T

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));
...



model Media.Examples.SolveOneNonlinearEquation.Inverse_sh_TX

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
       &nbspif time > 1 then s_max else
          &nbsps_min + time/timeUnit*(s_max - s_min);

Th = Medium.temperature_phX(p, h1, X);
...



package Media.Interfaces.TemplateMedium

Component
Version 3.2
Version 3.2.1
cp_const
Media.Interfaces.PartialMedium.SpecificHeatCapacity
Media.Interfaces.Types.SpecificHeatCapacity



record Media.Interfaces.TemplateMedium.ThermodynamicState

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



package Media.Interfaces.PartialMedium

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



record Media.Interfaces.PartialMedium.FluidConstants

Component
Version 3.2
Version 3.2.1
record

shortClass
iupacName
Present

casRegistryNumber
Present

chemicalFormula
Present

structureFormula
Present

molarMass
Present




model Media.Interfaces.PartialMedium.BaseProperties

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



function Media.Interfaces.PartialMedium.setState_pTX

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



function Media.Interfaces.PartialMedium.setState_phX

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



function Media.Interfaces.PartialMedium.setState_psX

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



function Media.Interfaces.PartialMedium.setState_dTX

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



function Media.Interfaces.PartialMedium.dynamicViscosity

Component
Version 3.2
Version 3.2.1
eta
Media.Interfaces.PartialMedium.DynamicViscosity
Media.Interfaces.Types.DynamicViscosity



function Media.Interfaces.PartialMedium.thermalConductivity

Component
Version 3.2
Version 3.2.1
lambda
Media.Interfaces.PartialMedium.ThermalConductivity
Media.Interfaces.Types.ThermalConductivity



function Media.Interfaces.PartialMedium.prandtlNumber

Component
Version 3.2
Version 3.2.1
Pr
Media.Interfaces.PartialMedium.PrandtlNumber
Media.Interfaces.Types.PrandtlNumber



function Media.Interfaces.PartialMedium.pressure

Component
Version 3.2
Version 3.2.1
p
Media.Interfaces.PartialMedium.AbsolutePressure
Media.Interfaces.Types.AbsolutePressure



function Media.Interfaces.PartialMedium.temperature

Component
Version 3.2
Version 3.2.1
T
Media.Interfaces.PartialMedium.Temperature
Media.Interfaces.Types.Temperature



function Media.Interfaces.PartialMedium.density

Component
Version 3.2
Version 3.2.1
d
Media.Interfaces.PartialMedium.Density
Media.Interfaces.Types.Density



function Media.Interfaces.PartialMedium.specificEnthalpy

Component
Version 3.2
Version 3.2.1
h
Media.Interfaces.PartialMedium.SpecificEnthalpy
Media.Interfaces.Types.SpecificEnthalpy



function Media.Interfaces.PartialMedium.specificInternalEnergy

Component
Version 3.2
Version 3.2.1
u
Media.Interfaces.PartialMedium.SpecificEnergy
Media.Interfaces.Types.SpecificEnergy



function Media.Interfaces.PartialMedium.specificEntropy

Component
Version 3.2
Version 3.2.1
s
Media.Interfaces.PartialMedium.SpecificEntropy
Media.Interfaces.Types.SpecificEntropy



function Media.Interfaces.PartialMedium.specificGibbsEnergy

Component
Version 3.2
Version 3.2.1
g
Media.Interfaces.PartialMedium.SpecificEnergy
Media.Interfaces.Types.SpecificEnergy



function Media.Interfaces.PartialMedium.specificHelmholtzEnergy

Component
Version 3.2
Version 3.2.1
f
Media.Interfaces.PartialMedium.SpecificEnergy
Media.Interfaces.Types.SpecificEnergy



function Media.Interfaces.PartialMedium.specificHeatCapacityCp

Component
Version 3.2
Version 3.2.1
cp
Media.Interfaces.PartialMedium.SpecificHeatCapacity
Media.Interfaces.Types.SpecificHeatCapacity



function Media.Interfaces.PartialMedium.specificHeatCapacityCv

Component
Version 3.2
Version 3.2.1
cv
Media.Interfaces.PartialMedium.SpecificHeatCapacity
Media.Interfaces.Types.SpecificHeatCapacity



function Media.Interfaces.PartialMedium.isentropicExponent

Component
Version 3.2
Version 3.2.1
gamma
Media.Interfaces.PartialMedium.IsentropicExponent
Media.Interfaces.Types.IsentropicExponent



function Media.Interfaces.PartialMedium.isentropicEnthalpy

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



function Media.Interfaces.PartialMedium.velocityOfSound

Component
Version 3.2
Version 3.2.1
a
Media.Interfaces.PartialMedium.VelocityOfSound
Media.Interfaces.Types.VelocityOfSound



function Media.Interfaces.PartialMedium.isobaricExpansionCoefficient

Component
Version 3.2
Version 3.2.1
beta
Media.Interfaces.PartialMedium.IsobaricExpansionCoefficient
Media.Interfaces.Types.IsobaricExpansionCoefficient



function Media.Interfaces.PartialMedium.density_derp_h

Component
Version 3.2
Version 3.2.1
ddph
Media.Interfaces.PartialMedium.DerDensityByPressure
Media.Interfaces.Types.DerDensityByPressure



function Media.Interfaces.PartialMedium.density_derh_p

Component
Version 3.2
Version 3.2.1
ddhp
Media.Interfaces.PartialMedium.DerDensityByEnthalpy
Media.Interfaces.Types.DerDensityByEnthalpy



function Media.Interfaces.PartialMedium.density_derp_T

Component
Version 3.2
Version 3.2.1
ddpT
Media.Interfaces.PartialMedium.DerDensityByPressure
Media.Interfaces.Types.DerDensityByPressure



function Media.Interfaces.PartialMedium.density_derT_p

Component
Version 3.2
Version 3.2.1
ddTp
Media.Interfaces.PartialMedium.DerDensityByTemperature
Media.Interfaces.Types.DerDensityByTemperature



function Media.Interfaces.PartialMedium.density_derX

Component
Version 3.2
Version 3.2.1
dddX
Media.Interfaces.PartialMedium.Density
Media.Interfaces.Types.Density



function Media.Interfaces.PartialMedium.molarMass

Component
Version 3.2
Version 3.2.1
MM
Media.Interfaces.PartialMedium.MolarMass
Media.Interfaces.Types.MolarMass



function Media.Interfaces.PartialMedium.specificEnthalpy_pTX

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



function Media.Interfaces.PartialMedium.specificEntropy_pTX

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



function Media.Interfaces.PartialMedium.density_pTX

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



function Media.Interfaces.PartialMedium.temperature_phX

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



function Media.Interfaces.PartialMedium.density_phX

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



function Media.Interfaces.PartialMedium.temperature_psX

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



function Media.Interfaces.PartialMedium.density_psX

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



function Media.Interfaces.PartialMedium.specificEnthalpy_psX

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



package Media.Interfaces.PartialMedium.Choices

Component
Version 3.2
Version 3.2.1
package

shortClass



function Media.Interfaces.PartialPureSubstance.setState_pT

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



function Media.Interfaces.PartialPureSubstance.setState_ph

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



function Media.Interfaces.PartialPureSubstance.setState_ps

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



function Media.Interfaces.PartialPureSubstance.setState_dT

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



function Media.Interfaces.PartialPureSubstance.density_ph

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



function Media.Interfaces.PartialPureSubstance.temperature_ph

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



function Media.Interfaces.PartialPureSubstance.pressure_dT

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



function Media.Interfaces.PartialPureSubstance.specificEnthalpy_dT

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



function Media.Interfaces.PartialPureSubstance.specificEnthalpy_ps

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



function Media.Interfaces.PartialPureSubstance.temperature_ps

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



function Media.Interfaces.PartialPureSubstance.density_ps

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



function Media.Interfaces.PartialPureSubstance.specificEnthalpy_pT

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



function Media.Interfaces.PartialPureSubstance.density_pT

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



package Media.Interfaces.PartialLinearFluid

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



record Media.Interfaces.PartialLinearFluid.ThermodynamicState

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



function Media.Interfaces.PartialLinearFluid.T_ph

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



function Media.Interfaces.PartialLinearFluid.T_ps

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



package Media.Interfaces.PartialMixtureMedium

Component
Version 3.2
Version 3.2.1
fluidConstants
Media.Interfaces.PartialMixtureMedium.FluidConstants
Media.Interfaces.PartialMedium.FluidConstants



record Media.Interfaces.PartialMixtureMedium.ThermodynamicState

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



function Media.Interfaces.PartialMixtureMedium.moleToMassFractions

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



function Media.Interfaces.PartialCondensingGases.saturationPressure

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



function Media.Interfaces.PartialCondensingGases.enthalpyOfVaporization

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



function Media.Interfaces.PartialCondensingGases.enthalpyOfLiquid

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



function Media.Interfaces.PartialCondensingGases.enthalpyOfGas

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



function Media.Interfaces.PartialCondensingGases.enthalpyOfCondensingGas

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



function Media.Interfaces.PartialCondensingGases.enthalpyOfNonCondensingGas

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



package Media.Interfaces.PartialTwoPhaseMedium

Component
Version 3.2
Version 3.2.1
smoothModel

=false
onePhase

=false
fluidConstants
Media.Interfaces.PartialTwoPhaseMedium.FluidConstants
Media.Interfaces.PartialMedium.FluidConstants



record Media.Interfaces.PartialTwoPhaseMedium.ThermodynamicState

Component
Version 3.2
Version 3.2.1
phase
Media.Interfaces.PartialTwoPhaseMedium.FixedPhase
Media.Interfaces.Types.FixedPhase



model Media.Interfaces.PartialTwoPhaseMedium.BaseProperties

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties



function Media.Interfaces.PartialTwoPhaseMedium.setDewState

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



function Media.Interfaces.PartialTwoPhaseMedium.setBubbleState

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_dTX

Component
Version 3.2
Version 3.2.1
phase
Media.Interfaces.PartialTwoPhaseMedium.FixedPhase
Media.Interfaces.Types.FixedPhase



function Media.Interfaces.PartialTwoPhaseMedium.setState_phX

Component
Version 3.2
Version 3.2.1
phase
Media.Interfaces.PartialTwoPhaseMedium.FixedPhase
Media.Interfaces.Types.FixedPhase



function Media.Interfaces.PartialTwoPhaseMedium.setState_psX

Component
Version 3.2
Version 3.2.1
phase
Media.Interfaces.PartialTwoPhaseMedium.FixedPhase
Media.Interfaces.Types.FixedPhase



function Media.Interfaces.PartialTwoPhaseMedium.setState_pTX

Component
Version 3.2
Version 3.2.1
phase
Media.Interfaces.PartialTwoPhaseMedium.FixedPhase
Media.Interfaces.Types.FixedPhase



function Media.Interfaces.PartialTwoPhaseMedium.setSat_T

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



function Media.Interfaces.PartialTwoPhaseMedium.setSat_p

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



function Media.Interfaces.PartialTwoPhaseMedium.bubbleEnthalpy

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties



function Media.Interfaces.PartialTwoPhaseMedium.dewEnthalpy

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties



function Media.Interfaces.PartialTwoPhaseMedium.bubbleEntropy

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties



function Media.Interfaces.PartialTwoPhaseMedium.dewEntropy

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties



function Media.Interfaces.PartialTwoPhaseMedium.bubbleDensity

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



function Media.Interfaces.PartialTwoPhaseMedium.dewDensity

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



function Media.Interfaces.PartialTwoPhaseMedium.saturationPressure

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



function Media.Interfaces.PartialTwoPhaseMedium.saturationTemperature

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



function Media.Interfaces.PartialTwoPhaseMedium.saturationPressure_sat

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



function Media.Interfaces.PartialTwoPhaseMedium.saturationTemperature_sat

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



function Media.Interfaces.PartialTwoPhaseMedium.saturationTemperature_derp

Component
Version 3.2
Version 3.2.1
p
Media.Interfaces.PartialMedium.AbsolutePressure
Media.Interfaces.Types.AbsolutePressure
dTp
Real
Media.Interfaces.Types.DerTemperatureByPressure



function Media.Interfaces.PartialTwoPhaseMedium.saturationTemperature_derp_sat

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties
dTp
Real
Media.Interfaces.Types.DerTemperatureByPressure



function Media.Interfaces.PartialTwoPhaseMedium.surfaceTension

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



function Media.Interfaces.PartialTwoPhaseMedium.molarMass

Component
Version 3.2
Version 3.2.1
function
partial




function Media.Interfaces.PartialTwoPhaseMedium.dBubbleDensity_dPressure

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



function Media.Interfaces.PartialTwoPhaseMedium.dDewDensity_dPressure

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



function Media.Interfaces.PartialTwoPhaseMedium.dBubbleEnthalpy_dPressure

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



function Media.Interfaces.PartialTwoPhaseMedium.dDewEnthalpy_dPressure

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



function Media.Interfaces.PartialTwoPhaseMedium.specificEnthalpy_pTX

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



function Media.Interfaces.PartialTwoPhaseMedium.temperature_phX

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



function Media.Interfaces.PartialTwoPhaseMedium.density_phX

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



function Media.Interfaces.PartialTwoPhaseMedium.temperature_psX

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



function Media.Interfaces.PartialTwoPhaseMedium.density_psX

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



function Media.Interfaces.PartialTwoPhaseMedium.specificEnthalpy_psX

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_pT

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_ph

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_ps

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_dT

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_px

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



function Media.Interfaces.PartialTwoPhaseMedium.setState_Tx

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



function Media.Interfaces.PartialTwoPhaseMedium.vapourQuality

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



function Media.Interfaces.PartialTwoPhaseMedium.density_ph

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



function Media.Interfaces.PartialTwoPhaseMedium.temperature_ph

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



function Media.Interfaces.PartialTwoPhaseMedium.pressure_dT

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



function Media.Interfaces.PartialTwoPhaseMedium.specificEnthalpy_dT

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



function Media.Interfaces.PartialTwoPhaseMedium.specificEnthalpy_ps

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



function Media.Interfaces.PartialTwoPhaseMedium.temperature_ps

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



function Media.Interfaces.PartialTwoPhaseMedium.density_ps

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



function Media.Interfaces.PartialTwoPhaseMedium.specificEnthalpy_pT

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



function Media.Interfaces.PartialTwoPhaseMedium.density_pT

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



package Media.Interfaces.PartialSimpleMedium

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



record Media.Interfaces.PartialSimpleMedium.ThermodynamicState

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



function Media.Interfaces.PartialSimpleMedium.setState_pTX

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



function Media.Interfaces.PartialSimpleMedium.setState_phX

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



function Media.Interfaces.PartialSimpleMedium.setState_psX

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";




function Media.Interfaces.PartialSimpleMedium.setState_dTX

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!");




function Media.Interfaces.PartialSimpleMedium.specificEnthalpy_pTX

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



function Media.Interfaces.PartialSimpleMedium.temperature_phX

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



function Media.Interfaces.PartialSimpleMedium.density_phX

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



package Media.Interfaces.PartialSimpleIdealGasMedium

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



record Media.Interfaces.PartialSimpleIdealGasMedium.ThermodynamicState

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



function Media.Interfaces.PartialSimpleIdealGasMedium.setState_pTX

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



function Media.Interfaces.PartialSimpleIdealGasMedium.setState_phX

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



function Media.Interfaces.PartialSimpleIdealGasMedium.setState_psX

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



function Media.Interfaces.PartialSimpleIdealGasMedium.setState_dTX

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



function Media.Interfaces.PartialSimpleIdealGasMedium.specificInternalEnergy



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);




function Media.Interfaces.PartialSimpleIdealGasMedium.specificEnthalpy_pTX

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



function Media.Interfaces.PartialSimpleIdealGasMedium.temperature_phX

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



function Media.Interfaces.PartialSimpleIdealGasMedium.density_phX

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



package Media.Common

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




type Media.Common.Rate

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.MolarFlowRate

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.MolarReactionRate

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.MolarEnthalpy

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerDensityByEntropy

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerEnergyByPressure

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerEnergyByMoles

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerEntropyByTemperature

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerEntropyByPressure

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerEntropyByMoles

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerPressureByDensity

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerPressureBySpecificVolume

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerPressureByTemperature

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerVolumeByTemperature

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerVolumeByPressure

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.DerVolumeByMoles

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.IsenthalpicExponent

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.IsentropicExponent

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.IsobaricVolumeExpansionCoefficient

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.IsochoricPressureCoefficient

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.IsothermalCompressibility

Component
Version 3.2
Version 3.2.1
type
protected




type Media.Common.JouleThomsonCoefficient

Component
Version 3.2
Version 3.2.1
type
protected




package Media.Common.ThermoFluidSpecial

Component
Version 3.2
Version 3.2.1
package
protected




package Media.Air.SimpleAir

Component
Version 3.2
Version 3.2.1
fluidConstants
Present

airConstants

Present



function Media.Air.DryAirNasa.dynamicViscosity

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));




function Media.Air.DryAirNasa.thermalConductivity

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));




model Media.Air.MoistAir.BaseProperties

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]);
...



function Media.Air.MoistAir.setState_pTX

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



function Media.Air.MoistAir.setState_phX

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



function Media.Air.MoistAir.setState_dTX

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



function Media.Air.MoistAir.Xsaturation

Component
Version 3.2
Version 3.2.1
X_sat
Media.Interfaces.PartialMedium.MassFraction
Media.Interfaces.Types.MassFraction



function Media.Air.MoistAir.xsaturation

Component
Version 3.2
Version 3.2.1
x_sat
Media.Interfaces.PartialMedium.MassFraction
Media.Interfaces.Types.MassFraction



function Media.Air.MoistAir.xsaturation_pT

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



function Media.Air.MoistAir.massFraction_pTphi

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



function Media.Air.MoistAir.saturationPressureLiquid

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;




function Media.Air.MoistAir.saturationPressureLiquid_der

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);




function Media.Air.MoistAir.sublimationPressureIce

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;




function Media.Air.MoistAir.sublimationPressureIce_der

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)));




function Media.Air.MoistAir.saturationPressure_der

Component
Version 3.2
Version 3.2.1
Tsat
Media.Interfaces.PartialMedium.Temperature
Media.Interfaces.Types.Temperature



function Media.Air.MoistAir.saturationTemperature

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());




function Media.Air.MoistAir.enthalpyOfVaporization

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)";




function Media.Air.MoistAir.HeatCapacityOfWater

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



function Media.Air.MoistAir.enthalpyOfGas



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]);




function Media.Air.MoistAir.enthalpyOfCondensingGas



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);




function Media.Air.MoistAir.enthalpyOfNonCondensingGas



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);




function Media.Air.MoistAir.T_phX

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);




function Media.Air.MoistAir.h_pTX



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;




function Media.Air.MoistAir.h_pTX_der



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);




function Media.Air.MoistAir.isentropicEnthalpyApproximation

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);
...



function Media.Air.MoistAir.specificInternalEnergy_pTX



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;




function Media.Air.MoistAir.specificInternalEnergy_pTX_der



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;




function Media.Air.MoistAir.specificEntropy

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);




function Media.Air.MoistAir.specificHeatCapacityCv



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);




function Media.Air.MoistAir.dynamicViscosity



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));




function Media.Air.MoistAir.thermalConductivity



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));




package Media.IdealGases.Common.SingleGasNasa

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




record Media.IdealGases.Common.SingleGasNasa.ThermodynamicState

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



model Media.IdealGases.Common.SingleGasNasa.BaseProperties



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;
...



function Media.IdealGases.Common.SingleGasNasa.setState_pTX

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



function Media.IdealGases.Common.SingleGasNasa.setState_phX

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



function Media.IdealGases.Common.SingleGasNasa.setState_psX

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



function Media.IdealGases.Common.SingleGasNasa.setState_dTX

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



function Media.IdealGases.Common.SingleGasNasa.specificEnthalpy



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);




function Media.IdealGases.Common.SingleGasNasa.specificInternalEnergy



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;




function Media.IdealGases.Common.SingleGasNasa.specificEntropy



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);




function Media.IdealGases.Common.SingleGasNasa.specificGibbsEnergy



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);




function Media.IdealGases.Common.SingleGasNasa.specificHelmholtzEnergy



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);




function Media.IdealGases.Common.SingleGasNasa.specificHeatCapacityCp



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);




function Media.IdealGases.Common.SingleGasNasa.specificHeatCapacityCv



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;




function Media.IdealGases.Common.SingleGasNasa.velocityOfSound



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)));




function Media.IdealGases.Common.SingleGasNasa.isentropicEnthalpyApproximation

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);




function Media.IdealGases.Common.SingleGasNasa.isentropicEnthalpy

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



function Media.IdealGases.Common.SingleGasNasa.dynamicViscosityLowPressure

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);





function Media.IdealGases.Common.SingleGasNasa.dynamicViscosity



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);




function Media.IdealGases.Common.SingleGasNasa.thermalConductivityEstimate

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);




function Media.IdealGases.Common.SingleGasNasa.thermalConductivity

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);




function Media.IdealGases.Common.SingleGasNasa.T_h

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



function Media.IdealGases.Common.SingleGasNasa.T_ps

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



package Media.IdealGases.Common.MixtureGasNasa

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



function Media.IdealGases.Common.MixtureGasNasa.setState_pTX

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)}));




function Media.IdealGases.Common.MixtureGasNasa.setState_phX

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)}));




function Media.IdealGases.Common.MixtureGasNasa.setState_psX

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)}));




function Media.IdealGases.Common.MixtureGasNasa.setState_dTX

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)}));




function Media.IdealGases.Common.MixtureGasNasa.h_TX

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};




function Media.IdealGases.Common.MixtureGasNasa.h_TX_der

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);




function Media.IdealGases.Common.MixtureGasNasa.specificHeatCapacityCp



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;




function Media.IdealGases.Common.MixtureGasNasa.specificHeatCapacityCv



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;




function Media.IdealGases.Common.MixtureGasNasa.s_TX

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));




function Media.IdealGases.Common.MixtureGasNasa.isentropicEnthalpyApproximation

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;
...



function Media.IdealGases.Common.MixtureGasNasa.gasMixtureViscosity

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



function Media.IdealGases.Common.MixtureGasNasa.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;
...



function Media.IdealGases.Common.MixtureGasNasa.mixtureViscosityChung

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



function Media.IdealGases.Common.MixtureGasNasa.lowPressureThermalConductivity

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



function Media.IdealGases.Common.MixtureGasNasa.thermalConductivity

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;
...



function Media.IdealGases.Common.MixtureGasNasa.density_derX

Component
Version 3.2
Version 3.2.1
dddX
Media.Interfaces.PartialMedium.Density
Media.Interfaces.Types.Density



function Media.IdealGases.Common.MixtureGasNasa.T_hX

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



function Media.IdealGases.Common.MixtureGasNasa.T_psX

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



package Media.IdealGases.Common.FluidData

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



model Media.Incompressible.Examples.TestGlycol

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;



package Media.Incompressible.TableBased

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



model Media.Incompressible.TableBased.BaseProperties



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);
...



function Media.Incompressible.TableBased.setState_dTX



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");




function Media.Incompressible.TableBased.setState_pT

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



function Media.Incompressible.TableBased.setState_ph

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



function Media.Incompressible.TableBased.setState_ps

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



function Media.Incompressible.TableBased.s_T

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



function Media.Incompressible.TableBased.density_T

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



function Media.Incompressible.TableBased.specificInternalEnergy



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);




function Media.Incompressible.TableBased.T_ph

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



function Media.Incompressible.TableBased.T_ps

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



package Media.Water

Component
Version 3.2
Version 3.2.1
waterConstants
Media.Interfaces.PartialTwoPhaseMedium.FluidConstants
Media.Interfaces.Types.TwoPhase.FluidConstants
simpleWaterConstants
Present




package Media.Water.ConstantPropertyLiquidWater

Component
Version 3.2
Version 3.2.1
simpleWaterConstants

Present



record Media.Water.WaterIF97_base.ThermodynamicState

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



model Media.Water.WaterIF97_base.BaseProperties

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 <
        &nbspfluidConstants[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;
...



function Media.Water.WaterIF97_base.density_ph

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



function Media.Water.WaterIF97_base.temperature_ph

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



function Media.Water.WaterIF97_base.temperature_ps

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



function Media.Water.WaterIF97_base.density_ps

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



function Media.Water.WaterIF97_base.pressure_dT

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



function Media.Water.WaterIF97_base.specificEnthalpy_dT

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



function Media.Water.WaterIF97_base.specificEnthalpy_pT

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



function Media.Water.WaterIF97_base.specificEnthalpy_ps

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



function Media.Water.WaterIF97_base.density_pT

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



function Media.Water.WaterIF97_base.specificEntropy



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;





function Media.Water.WaterIF97_base.specificHeatCapacityCp



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;





function Media.Water.WaterIF97_base.specificHeatCapacityCv



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;





function Media.Water.WaterIF97_base.isentropicExponent



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.
       &nbspphase);
end if;





function Media.Water.WaterIF97_base.isothermalCompressibility



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;





function Media.Water.WaterIF97_base.isobaricExpansionCoefficient



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;





function Media.Water.WaterIF97_base.velocityOfSound



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;





function Media.Water.WaterIF97_base.bubbleDensity



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;





function Media.Water.WaterIF97_base.dewDensity



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;





record Media.Water.WaterIF97_fixedregion.ThermodynamicState

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



model Media.Water.WaterIF97_fixedregion.BaseProperties

Component
Version 3.2
Version 3.2.1
sat
Media.Interfaces.PartialTwoPhaseMedium.SaturationProperties
Media.Interfaces.Types.SaturationProperties



function Media.Water.WaterIF97_fixedregion.density_ph

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



function Media.Water.WaterIF97_fixedregion.temperature_ph

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



function Media.Water.WaterIF97_fixedregion.temperature_ps

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



function Media.Water.WaterIF97_fixedregion.density_ps

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



function Media.Water.WaterIF97_fixedregion.pressure_dT

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



function Media.Water.WaterIF97_fixedregion.specificEnthalpy_dT

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



function Media.Water.WaterIF97_fixedregion.specificEnthalpy_pT

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



function Media.Water.WaterIF97_fixedregion.specificEnthalpy_ps

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



function Media.Water.WaterIF97_fixedregion.density_pT

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



function Media.Water.WaterIF97_fixedregion.setDewState



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);





function Media.Water.WaterIF97_fixedregion.setBubbleState



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);





function Media.Water.WaterIF97_fixedregion.specificEntropy



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;





function Media.Water.WaterIF97_fixedregion.specificHeatCapacityCp



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;





function Media.Water.WaterIF97_fixedregion.specificHeatCapacityCv



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;





function Media.Water.WaterIF97_fixedregion.isentropicExponent



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,
         &nbspstate.phase, Region);
end if;





function Media.Water.WaterIF97_fixedregion.isothermalCompressibility



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;





function Media.Water.WaterIF97_fixedregion.isobaricExpansionCoefficient



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;





function Media.Water.WaterIF97_fixedregion.velocityOfSound



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,
       &nbspRegion);
end if;





function Media.Water.WaterIF97_fixedregion.bubbleDensity



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;





function Media.Water.WaterIF97_fixedregion.dewDensity



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;





function Media.Water.IF97_Utilities.BaseIF97.Regions.region_ps



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
...



function Media.Water.IF97_Utilities.BaseIF97.Regions.region_dT



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;
...



function Media.Water.IF97_Utilities.BaseIF97.Basic.g2



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");
...



function Media.Water.IF97_Utilities.BaseIF97.Basic.g2metastable



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");
...



function Media.Water.IF97_Utilities.BaseIF97.Basic.g5



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");
...



function Media.Water.IF97_Utilities.BaseIF97.Basic.g2pitau



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");
...



function Media.Water.IF97_Utilities.BaseIF97.Basic.g5pitau



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");
...



function Media.Water.IF97_Utilities.BaseIF97.Transport.cond_dTp



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;
...



function Media.Water.IF97_Utilities.BaseIF97.Inverses.dofpt3

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 -
       &nbspdmin);

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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.dtofph3

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
       &nbspif 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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.dtofps3



Equations in Version 3.2 Equations in Version 3.2.1

...
subregion = if s < (Regions.sl_p(p) + 10.0) then 1 else
       &nbspif 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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.dtofpsdt3



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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.pofdt125



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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.tofph5



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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.tofps5



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");




function Media.Water.IF97_Utilities.BaseIF97.Inverses.tofpst5



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");




function Media.Water.IF97_Utilities.BaseIF97.extraDerivs_ph



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);
...



function Media.Water.IF97_Utilities.waterBaseProp_ph



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;
...



function Media.Water.IF97_Utilities.waterBaseProp_ps



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;
...



function Media.Water.IF97_Utilities.regionAssertReal



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!");




function Media.Water.IF97_Utilities.waterBaseProp_pT



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;
...



function Media.Water.IF97_Utilities.waterBaseProp_dT



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;
...



model Thermal.FluidHeatFlow.Examples.SimpleCooling

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)



model Thermal.FluidHeatFlow.Examples.ParallelCooling

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)



model Thermal.FluidHeatFlow.Examples.IndirectCooling

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



model Thermal.FluidHeatFlow.Examples.PumpAndValve

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)



model Thermal.FluidHeatFlow.Examples.PumpDropOut

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)



model Thermal.FluidHeatFlow.Examples.ParallelPumpDropOut

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)



model Thermal.FluidHeatFlow.Examples.OneMass

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)



model Thermal.FluidHeatFlow.Examples.TwoMass

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)



model Thermal.FluidHeatFlow.Examples.Utilities.DoubleRamp

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



model Thermal.FluidHeatFlow.Interfaces.Partials.TwoPort

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;
...



model Thermal.FluidHeatFlow.Interfaces.Partials.Ambient

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);



model Thermal.HeatTransfer.Examples.ControlledTemperature

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



model Thermal.HeatTransfer.Examples.Motor

Component
Version 3.2
Version 3.2.1
windingLosses
T_ref=from_degC(95)
T_ref=368.15



model Thermal.HeatTransfer.Components.Convection

Component
Version 3.2
Version 3.2.1
Gc

unit="W/K"



model Thermal.HeatTransfer.Sensors.TemperatureSensor

Component
Version 3.2
Version 3.2.1
T

unit="K"



model Thermal.HeatTransfer.Sensors.RelTemperatureSensor

Component
Version 3.2
Version 3.2.1
T_rel

unit="K"

displayUnit="K"



model Thermal.HeatTransfer.Sensors.HeatFlowSensor

Component
Version 3.2
Version 3.2.1
Q_flow

unit="W"



model Thermal.HeatTransfer.Sensors.ConditionalFixedHeatFlowSensor

Component
Version 3.2
Version 3.2.1
Q_flow

unit="W"



model Thermal.HeatTransfer.Sources.PrescribedTemperature

Component
Version 3.2
Version 3.2.1
T

unit="K"



model Thermal.HeatTransfer.Sources.PrescribedHeatFlow

Component
Version 3.2
Version 3.2.1
Q_flow

unit="W"



model Thermal.HeatTransfer.Celsius.ToKelvin

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);



model Thermal.HeatTransfer.Celsius.FromKelvin

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);



model Thermal.HeatTransfer.Celsius.FixedTemperature



Equations in Version 3.2 Equations in Version 3.2.1
port.T = from_degC(T); port.T = Modelica.SIunits.Conversions.from_degC(T);



model Thermal.HeatTransfer.Celsius.PrescribedTemperature

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);



model Thermal.HeatTransfer.Celsius.TemperatureSensor

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;



model Thermal.HeatTransfer.Fahrenheit.ToKelvin

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);



model Thermal.HeatTransfer.Fahrenheit.FromKelvin

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);



model Thermal.HeatTransfer.Fahrenheit.FixedTemperature



Equations in Version 3.2 Equations in Version 3.2.1
port.T = from_degF(T); port.T = Modelica.SIunits.Conversions.from_degF(T);



model Thermal.HeatTransfer.Fahrenheit.PrescribedTemperature

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);



model Thermal.HeatTransfer.Fahrenheit.TemperatureSensor



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;



model Thermal.HeatTransfer.Rankine.ToKelvin

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);



model Thermal.HeatTransfer.Rankine.FromKelvin

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);



model Thermal.HeatTransfer.Rankine.FixedTemperature



Equations in Version 3.2 Equations in Version 3.2.1
port.T = from_degRk(T); port.T = Modelica.SIunits.Conversions.from_degRk(T);



model Thermal.HeatTransfer.Rankine.PrescribedTemperature

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);



model Thermal.HeatTransfer.Rankine.TemperatureSensor



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;



function Math.Vectors.norm

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;




function Math.Vectors.normalize

Component
Version 3.2
Version 3.2.1
eps

min=0.0



function Math.Vectors.interpolate



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);
...



function Math.Vectors.Utilities.householderVector



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;
...



function Math.Vectors.Utilities.roots



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];
...



function Math.Matrices.QR



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
...



function Math.Matrices.realSchur



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
    &nbspinfo < 0: if info = -i, the i-th argument of dgees had an illegal value\n
    &nbspinfo > 0: if INFO = i, and i is
               <= N: the QR algorithm failed to compute all the
                    &nbspeigenvalues; elements 1:ILO-1 and i+1:N of WR and WI
                    &nbspcontain those eigenvalues which have converged; if
                    &nbspJOBVS = 'V', VS contains the matrix which reduces A
                    &nbspto 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;





function Math.Matrices.conditionNumber

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);
...



function Math.Matrices.norm

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;




function Math.Matrices.frobeniusNorm



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;




function Math.Matrices.continuousSylvester



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*
       &nbsptranspose(V) else if BisSchur then scale*U*X else scale*U*X*transpose(V);
...



function Math.Matrices.LAPACK.dgeev

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);



function Math.Matrices.LAPACK.dgees

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);



function Math.Matrices.LAPACK.dlange

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);



function Math.Matrices.LAPACK.dgeevx

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);



function Math.Matrices.Utilities.eigenvaluesHessenberg

Component
Version 3.2
Version 3.2.1
n
Present

ilo
Present

ihi
Present

Z
Present




function Math.Nonlinear.Examples.quadratureLobatto1



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): ");
...



function Math.Nonlinear.Examples.quadratureLobatto2



Equations in Version 3.2 Equations in Version 3.2.1

...
I[3] = Modelica_3_2.Math.Nonlinear.quadratureLobatto(
           &nbspfunction
     &nbspModelica_3_2.Math.Nonlinear.Examples.UtilityFunctions.fun6(k=k),
           &nbspa3,
           &nbspb3,
           &nbspTolerance);


print("Function 1 (integral(sin(x)*dx)): ");
...



function Math.Nonlinear.Examples.solveNonlinearEquations1



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");
...



function Math.Nonlinear.Examples.solveNonlinearEquations2



Equations in Version 3.2 Equations in Version 3.2.1

...
u[3] = Modelica_3_2.Math.Nonlinear.solveOneNonlinearEquation(
           &nbspfunction
     &nbspModelica_3_2.Math.Nonlinear.Examples.UtilityFunctions.fun3(p=p, m=
      &nbspm), u_min3,
           &nbspu_max3,
           &nbsptolerance);


print("Solve 3 nonlinear equations with relative tolerance = " + String(tolerance) +"\n");
...



function Math.Nonlinear.solveOneNonlinearEquation



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;
...



function Math.BooleanVectors.oneTrue

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;





function Math.atan3

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;




model Utilities.Examples.readRealParameterModel

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")



function Utilities.Strings.findLast

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;
...



package Utilities.Internal.FileSystem

Component
Version 3.2
Version 3.2.1
package
protected




package Constants

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



function SIunits.Conversions.to_cm2



Equations in Version 3.2 Equations in Version 3.2.1
algorithm
cm2 := 0.0001*m2; cm2 := 10000*m2;




function SIunits.Conversions.from_cm2



Equations in Version 3.2 Equations in Version 3.2.1
algorithm
m2 :=10000*cm2; m2 := 0.0001*cm2;










































































































































Class Version 3.2Version 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