Comparison Summary

Modelica323 with alias name: Modelica 3.2.3 | Modelica322 with alias name: Modelica 3.2.2
| Version: 3.2.3 | Version: 3.2.2
Version date: 2019-01-23 | Version date: 2016-04-03

model Blocks.Examples.PID_Controller

Component | Modelica 3.2.3 | Modelica 3.2.2
driveAngle | =1.570796326794897 | =1.57
PI | limiter(u(start=0)) |

model Blocks.Examples.BusUsage_Utilities.Part

Component | Modelica 3.2.3 | Modelica 3.2.2
booleanExpression | y=time >= 0.5 | y=time > 0.5

block Blocks.Continuous.Integrator

Component | Modelica 3.2.3 | Modelica 3.2.2
use_reset | Present |
use_set | Present |
reset | Present |
set | Present |
local_reset | Present |
local_set | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
...
equation if use_reset then | equation der(y) = k*u;
connect(reset, local_reset); if use_set then connect(set, local_set); else local_set = y_start; end if; when local_reset then reinit(y, local_set); end when; else local_reset = false; local_set = 0; end if; der(y) = k*u; |

block Blocks.Continuous.LimIntegrator

Component | Modelica 3.2.3 | Modelica 3.2.2
use_reset | Present |
use_set | Present |
reset | Present |
set | Present |
local_reset | Present |
local_set | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
...
equation if use_reset then | equation if initial() and not limitsAtInit then
connect(reset, local_reset); | der(y) = k*u;
if use_set then | 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));
connect(set, local_set); | 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
local_set = y_start; | der(y) = if y < outMin and k*u < 0 or y > outMax and k*u > 0 then 0 else k*u;
end if;
when local_reset then reinit(y, if local_set < outMin then outMin elseif local_set > outMax then outMax else local_set); end when; else local_reset = false; local_set = 0; end if; if initial() and not limitsAtInit then der(y) = k*u; 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 k*u < 0 or y > outMax and k*u > 0 then 0 else k*u; end if; |

block Blocks.Continuous.LimPID

Component | Modelica 3.2.3 | Modelica 3.2.2
limiter | homotopyType=homotopyType |
withFeedForward | Present |
kFF | Present |
homotopyType | Present |
u_ff | Present |
FFzero | Present |
addFF | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(I.y, addPID.u3);
| connect(addPID.y, gainPID.u); connect(gainPID.y, addSat.u2); connect(gainPID.y, limiter.u);
connect(limiter.y, addSat.u1); ... connect(Izero.y, addPID.u3);
connect(addPID.y, gainPID.u); connect(addFF.y, limiter.u); connect(gainPID.y, addFF.u1); connect(FFzero.y, addFF.u2); connect(addFF.u2, u_ff); connect(addFF.y, addSat.u2); |

block Blocks.Continuous.LowpassButterworth

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... for i in 1:m loop
polereal[i] = Modelica323.Math.cos(pi/2 + pi/n*(i - 0.5)); | polereal[i] = cos(pi/2 + pi/n*(i - 0.5));
poleimag[i] = Modelica323.Math.sin(pi/2 + pi/n*(i - 0.5)); | poleimag[i] = sin(pi/2 + pi/n*(i - 0.5));
w0[i] = (polereal[i]^2 + poleimag[i]^2)*w; ...

block Blocks.Interfaces.PartialNoise

Component | Modelica 3.2.3 | Modelica 3.2.2
enableNoise | =globalSeed.enableNoise | =true

block Blocks.Math.Log

Component | Modelica 3.2.3 | Modelica 3.2.2
base | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
y = Modelica323.Math.log(u)/Modelica323.Math.log(base); | y = Modelica322.Math.log(u);

block Blocks.Math.RectangularToPolar

Component | Modelica 3.2.3 | Modelica 3.2.2
y_arg | unit="rad" |

block Blocks.Math.PolarToRectangular

Component | Modelica 3.2.3 | Modelica 3.2.2
u_arg | unit="rad" |

block Blocks.Math.ContinuousMean

Component | Modelica 3.2.3 | Modelica 3.2.2
t_eps | min=100*Modelica323.Constants.eps | min=0.0

block Blocks.Math.Variance

Component | Modelica 3.2.3 | Modelica 3.2.2
t_eps | min=100*Modelica323.Constants.eps | min=0.0

block Blocks.Math.StandardDeviation

Component | Modelica 3.2.3 | Modelica 3.2.2
t_eps | min=100*Modelica323.Constants.eps | min=0.0

block Blocks.Math.Harmonic

Component | Modelica 3.2.3 | Modelica 3.2.2
sin1 | Blocks.Sources.Cosine | Blocks.Sources.Sine
y_arg | unit="rad" |
useConjugateComplex | Present |
gain | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(rectangularToPolar.y_abs, y_rms);
| connect(rectangularToPolar.y_arg, y_arg);
connect(sin1.y, product1.u[1]); ... connect(sin2.y, product2.u[2]);
connect(rectangularToPolar.y_arg, gain.u); connect(gain.y, y_arg); |

block Blocks.Nonlinear.Limiter

Component | Modelica 3.2.3 | Modelica 3.2.2
homotopyType | Present |
simplifiedExpr | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
assert(uMax >= uMin, "Limiter: Limits must be consistent. However, uMax (=" + String(uMax) + ") < uMin (=" + String(uMin) + ")");
simplifiedExpr = (if homotopyType == Types.LimiterHomotopy.Linear then u else if homotopyType == Types.LimiterHomotopy.UpperLimit then uMax else if homotopyType == Types.LimiterHomotopy.LowerLimit then uMin else 0); |
if strict then
if homotopyType == Types.LimiterHomotopy.NoHomotopy then | y = homotopy(actual = smooth(0, noEvent(if u > uMax then uMax else if u < uMin then uMin else u)), simplified=u);
y = smooth(0, noEvent(if u > uMax then uMax else if u < uMin then uMin else u)); |
else
y = homotopy(actual = smooth(0, noEvent(if u > uMax then uMax else if u < uMin then uMin else u)), simplified=simplifiedExpr); | y = homotopy(actual = smooth(0,if u > uMax then uMax else if u < uMin then uMin else u), simplified=u);
end if;
else if homotopyType == Types.LimiterHomotopy.NoHomotopy then y = smooth(0,if u > uMax then uMax else if u < uMin then uMin else u); else y = homotopy(actual = smooth(0,if u > uMax then uMax else if u < uMin then uMin else u), simplified=simplifiedExpr); end if; end if; |

block Blocks.Nonlinear.VariableLimiter

Component | Modelica 3.2.3 | Modelica 3.2.2
homotopyType | Present |
ySimplified | Present |
simplifiedExpr | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
assert(limit1 >= limit2, "Input signals are not consistent: limit1 < limit2");
simplifiedExpr = (if homotopyType == Types.VariableLimiterHomotopy.Linear then u else if homotopyType == Types.VariableLimiterHomotopy.Fixed then ySimplified else 0); |
if strict then
if homotopyType == Types.VariableLimiterHomotopy.NoHomotopy then | y = homotopy(actual = smooth(0, noEvent(if u > limit1 then limit1 else if u < limit2 then limit2 else u)), simplified=u);
y = smooth(0, noEvent(if u > limit1 then limit1 else if u < limit2 then limit2 else u)); |
else
y = homotopy(actual = smooth(0, noEvent(if u > limit1 then limit1 else if u < limit2 then limit2 else u)), simplified=simplifiedExpr); | y = homotopy(actual = smooth(0,if u > limit1 then limit1 else if u < limit2 then limit2 else u), simplified=u);
end if;
else if homotopyType == Types.VariableLimiterHomotopy.NoHomotopy then y = smooth(0,if u > limit1 then limit1 else if u < limit2 then limit2 else u); else y = homotopy(actual = smooth(0,if u > limit1 then limit1 else if u < limit2 then limit2 else u), simplified=simplifiedExpr); end if; end if; |

block Blocks.Nonlinear.SlewRateLimiter

Component | Modelica 3.2.3 | Modelica 3.2.2
Rising | Real | SIunits.DampingCoefficient
Falling | Real | SIunits.DampingCoefficient
initType | Present |
y_start | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
if initType == Modelica323.Blocks.Types.Init.SteadyState then |
y = u;
elseif initType == Modelica323.Blocks.Types.Init.InitialState or initType == Modelica323.Blocks.Types.Init.InitialOutput then y = y_start; end if; |
equation if strict then
der(y) = smooth(1, (if noEvent(val<Falling) then Falling else if noEvent(val>Rising) then Rising else val)); | der(y) = smooth(1,noEvent(if val<Falling then Falling else if val>Rising then Rising else val));
else ...

block Blocks.Nonlinear.VariableDelay

Component | Modelica 3.2.3 | Modelica 3.2.2
delayMax | SIunits.Duration | Real

block Blocks.Sources.Clock

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.Ramp

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.Sine

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.Cosine

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.ExpSine

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.Pulse

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.SawTooth

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.Trapezoid

Component | Modelica 3.2.3 | Modelica 3.2.2
offset |  | Present
startTime |  | Present

block Blocks.Sources.KinematicPTP2

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... endTime = Tes;
motion_ref = time < endTime; | motion_ref = time <= endTime;
for i in 1:nout loop ...

block Blocks.Sources.TimeTable

Component | Modelica 3.2.3 | Modelica 3.2.2
shiftTime | Present |
offset |  | Present
startTime |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
if noEvent(size(table, 1) > 1) then | timeScaled := time/timeScale;
assert(not (table[1, 1] > 0.0 or table[1, 1] < 0.0), "The first point in time has to be set to 0, but is table[1,1] = " + String(table[1, 1])); end if; |
when {time >= pre(nextEvent),initial()} then
(a,b,nextEventScaled,last) = getInterpolationCoefficients( table, offset, startTime/timeScale, timeScaled, last, 100*Modelica323.Constants.eps, shiftTime/timeScale); | (a,b,nextEventScaled,last) = getInterpolationCoefficients( table, offset, startTime/timeScale, timeScaled, last, 100*Modelica322.Constants.eps);
nextEvent = nextEventScaled*timeScale; ...
equation assert(size(table, 1) > 0, "No table values defined."); | equation y = a*timeScaled + b;
timeScaled = time/timeScale; y = a*timeScaled + b; |

block Blocks.Sources.CombiTimeTable

Component | Modelica 3.2.3 | Modelica 3.2.2
t_min | =t_minScaled*timeScale |
| fixed=false
t_max | =t_maxScaled*timeScale |
| fixed=false
t_minScaled | =Internal.getTimeTableTmin(tableID) |
| fixed=false
t_maxScaled | =Internal.getTimeTableTmax(tableID) |
| fixed=false
tableID | parameter |
=Modelica323.Blocks.Types.ExternalCombiTimeTable(if tableOnFile then tableName else "NoName", if tableOnFile and fileName <> "NoName" and not Modelica323.Utilities.Strings.isEmpty(fileName) then fileName else "NoName", table, startTime/timeScale, columns, smoothness, extrapolation, shiftTime/timeScale, if smoothness == Modelica323.Blocks.Types.Smoothness.LinearSegments then timeEvents elseif smoothness == Modelica323.Blocks.Types.Smoothness.ConstantSegments then Modelica323.Blocks.Types.TimeEvents.Always else Modelica323.Blocks.Types.TimeEvents.NoTimeEvents, if tableOnFile then verboseRead else false) | =Modelica322.Blocks.Types.ExternalCombiTimeTable(if tableOnFile then tableName else "NoName", if tableOnFile and fileName <> "NoName" and not Modelica322.Utilities.Strings.isEmpty(fileName) then fileName else "NoName", table, startTime/timeScale, columns, smoothness, extrapolation)
shiftTime | Present |
timeEvents | Present |
verboseExtrapolation | Present |
tableOnFileRead |  | Present
DBL_MAX |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| initial algorithm
if tableOnFile then
| tableOnFileRead = readTableData(tableID, false, verboseRead); else tableOnFileRead = 1.; end if; t_minScaled = getTableTimeTmin(tableID, tableOnFileRead); t_maxScaled = getTableTimeTmax(tableID, tableOnFileRead); t_min = t_minScaled*timeScale; t_max = t_maxScaled*timeScale; equation if tableOnFile then
assert(tableName <> "NoName", "tableOnFile = true and no table name given"); ... end if;
if verboseExtrapolation and (extrapolation == Modelica323.Blocks.Types.Extrapolation.LastTwoPoints or extrapolation == Modelica323.Blocks.Types.Extrapolation.HoldLastPoint) then assert(noEvent(time >= t_min), " Extrapolation warning: Time (=" + String(time) + ") must be greater or equal than the minimum abscissa value t_min (=" + String(t_min) + ") defined in the table. ", level=AssertionLevel.warning); assert(noEvent(time <= t_max), " Extrapolation warning: Time (=" + String(time) + ") must be less or equal than the maximum abscissa value t_max (=" + String(t_max) + ") defined in the table. ", level=AssertionLevel.warning); end if; |
timeScaled = time/timeScale;
when {time >= pre(nextTimeEvent), initial()} then
nextTimeEventScaled = Internal.getNextTimeEvent(tableID, timeScaled); | nextTimeEventScaled = getNextTimeEvent(tableID, timeScaled, tableOnFileRead);
nextTimeEvent = if nextTimeEventScaled < Modelica323.Constants.inf then nextTimeEventScaled*timeScale else Modelica323.Constants.inf; | if (nextTimeEventScaled < DBL_MAX) then
| nextTimeEvent = nextTimeEventScaled*timeScale; else nextTimeEvent = DBL_MAX; end if;
end when; ... for i in 1:nout loop
y[i] = p_offset[i] + Internal.getTimeTableValueNoDer(tableID, i, timeScaled, nextTimeEventScaled, pre(nextTimeEventScaled)); | y[i] = p_offset[i] + getTableValueNoDer(tableID, i, timeScaled, nextTimeEventScaled, pre(nextTimeEventScaled), tableOnFileRead);
end for; ... for i in 1:nout loop
y[i] = p_offset[i] + Internal.getTimeTableValue(tableID, i, timeScaled, nextTimeEventScaled, pre(nextTimeEventScaled)); | y[i] = p_offset[i] + getTableValue(tableID, i, timeScaled, nextTimeEventScaled, pre(nextTimeEventScaled), tableOnFileRead);
end for; ...

block Blocks.Sources.BooleanPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
pulseStart | Present |
pulsStart |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
pulseStart = startTime; | pulsStart = startTime;
equation when sample(startTime, period) then
pulseStart = time; | pulsStart = time;
end when;
y = time >= pulseStart and time < pulseStart + Twidth; | y = time >= pulsStart and time < pulsStart + Twidth;

block Blocks.Sources.BooleanTable

Component | Modelica 3.2.3 | Modelica 3.2.2
extrapolation | Present |
startTime | Present |
shiftTime | Present |
combiTimeTable | Present |
realToBoolean | Present |
nextTime |  | Present
index |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial algorithm
isValidTable(table); | (index,nextTime,y) := getFirstIndex(table,time,startValue);
equation assert(extrapolation <> Modelica323.Blocks.Types.Extrapolation.LastTwoPoints, "Unsuitable extrapolation setting."); | algorithm
connect(combiTimeTable.y[1], realToBoolean.u); | when time >= pre(nextTime) and n > 0 then
connect(realToBoolean.y, y); | if index < n then
| index = index + 1; nextTime = table[index]; y = not y; elseif index == n then index = index + 1; y = not y; end if; end when;

block Blocks.Sources.IntegerTable

Component | Modelica 3.2.3 | Modelica 3.2.2
extrapolation | Present |
startTime | Present |
shiftTime | Present |
combiTimeTable | Present |
realToInteger | Present |
nextTime |  | Present
index |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial algorithm
isValidTable(table); | (index,nextTime,y) := getFirstIndex(table, time);
equation assert(n > 0, "No table values defined."); | equation assert(size(table, 1) > 0, "No table values defined.");
assert(extrapolation <> Modelica323.Blocks.Types.Extrapolation.LastTwoPoints, "Unsuitable extrapolation setting."); | when time >= pre(nextTime) then
connect(combiTimeTable.y[1], realToInteger.u); | y = integer(table[pre(index), 2]);
connect(realToInteger.y, y); | index = pre(index) + 1;
| nextTime = if index <= n then table[index, 1] else pre(nextTime) - 1; end when;

block Blocks.Tables.CombiTable1D

Component | Modelica 3.2.3 | Modelica 3.2.2
tableID | parameter |
=Modelica323.Blocks.Types.ExternalCombiTable1D(if tableOnFile then tableName else "NoName", if tableOnFile and fileName <> "NoName" and not Modelica323.Utilities.Strings.isEmpty(fileName) then fileName else "NoName", table, columns, smoothness, extrapolation, if tableOnFile then verboseRead else false) | =Modelica322.Blocks.Types.ExternalCombiTable1D(if tableOnFile then tableName else "NoName", if tableOnFile and fileName <> "NoName" and not Modelica322.Utilities.Strings.isEmpty(fileName) then fileName else "NoName", table, columns, smoothness)
extrapolation | Present |
verboseExtrapolation | Present |
u_min | Present |
u_max | Present |
tableOnFileRead |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| initial algorithm
if tableOnFile then
| tableOnFileRead = readTableData(tableID, false, verboseRead); else tableOnFileRead = 1.; end if; equation if tableOnFile then
assert(tableName <> "NoName", "tableOnFile = true and no table name given"); ... end if;
if verboseExtrapolation and (extrapolation == Modelica323.Blocks.Types.Extrapolation.LastTwoPoints or extrapolation == Modelica323.Blocks.Types.Extrapolation.HoldLastPoint) then for i in 1:n loop assert(noEvent(u[i] >= u_min), " Extrapolation warning: The value u[" + String(i) +"] (=" + String(u[i]) + ") must be greater or equal than the minimum abscissa value u_min (=" + String(u_min) + ") defined in the table. ", level=AssertionLevel.warning); assert(noEvent(u[i] <= u_max), " Extrapolation warning: The value u[" + String(i) +"] (=" + String(u[i]) + ") must be less or equal than the maximum abscissa value u_max (=" + String(u_max) + ") defined in the table. ", level=AssertionLevel.warning); end for; end if; |
if smoothness == Modelica323.Blocks.Types.Smoothness.ConstantSegments then
for i in 1:n loop
y[i] = Internal.getTable1DValueNoDer(tableID, i, u[i]); | y[i] = getTableValueNoDer(tableID, i, u[i], tableOnFileRead);
end for; ... for i in 1:n loop
y[i] = Internal.getTable1DValue(tableID, i, u[i]); | y[i] = getTableValue(tableID, i, u[i], tableOnFileRead);
end for; ...

block Blocks.Tables.CombiTable1Ds

Component | Modelica 3.2.3 | Modelica 3.2.2
tableID | parameter |
=Modelica323.Blocks.Types.ExternalCombiTable1D(if tableOnFile then tableName else "NoName", if tableOnFile and fileName <> "NoName" and not Modelica323.Utilities.Strings.isEmpty(fileName) then fileName else "NoName", table, columns, smoothness, extrapolation, if tableOnFile then verboseRead else false) | =Modelica322.Blocks.Types.ExternalCombiTable1D(if tableOnFile then tableName else "NoName", if tableOnFile and fileName <> "NoName" and not Modelica322.Utilities.Strings.isEmpty(fileName) then fileName else "NoName", table, columns, smoothness)
extrapolation | Present |
verboseExtrapolation | Present |
u_min | Present |
u_max | Present |
tableOnFileRead |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| initial algorithm
if tableOnFile then
| tableOnFileRead = readTableData(tableID, false, verboseRead); else tableOnFileRead = 1.; end if; equation if tableOnFile then
assert(tableName <> "NoName", "tableOnFile = true and no table name given"); ... end if;
if verboseExtrapolation and (extrapolation == Modelica323.Blocks.Types.Extrapolation.LastTwoPoints or extrapolation == Modelica323.Blocks.Types.Extrapolation.HoldLastPoint) then assert(noEvent(u >= u_min), " Extrapolation warning: The value u (=" + String(u) + ") must be greater or equal than the minimum abscissa value u_min (=" + String(u_min) + ") defined in the table. ", level=AssertionLevel.warning); assert(noEvent(u <= u_max), " Extrapolation warning: The value u (=" + String(u) + ") must be less or equal than the maximum abscissa value u_max (=" + String(u_max) + ") defined in the table. ", level=AssertionLevel.warning); end if; |
if smoothness == Modelica323.Blocks.Types.Smoothness.ConstantSegments then
for i in 1:nout loop
y[i] = Internal.getTable1DValueNoDer(tableID, i, u); | y[i] = getTableValueNoDer(tableID, i, u, tableOnFileRead);
end for; ... for i in 1:nout loop
y[i] = Internal.getTable1DValue(tableID, i, u); | y[i] = getTableValue(tableID, i, u, tableOnFileRead);
end for; ...

block Blocks.Tables.CombiTable2D

Component | Modelica 3.2.3 | Modelica 3.2.2
tableOnFile |  | Present
table |  | Present
tableName |  | Present
fileName |  | Present
verboseRead |  | Present
smoothness |  | Present
tableID |  | Present
tableOnFileRead |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
if verboseExtrapolation and (extrapolation == Modelica323.Blocks.Types.Extrapolation.LastTwoPoints or extrapolation == Modelica323.Blocks.Types.Extrapolation.HoldLastPoint) then | initial algorithm
assert(noEvent(u1 >= u_min[1]), " Extrapolation warning: The value u1 (=" + String(u1) + ") must be greater or equal than the minimum abscissa value u_min[1] (=" + String(u_min[1]) + ") defined in the table. ", level=AssertionLevel.warning); | if tableOnFile then
assert(noEvent(u1 <= u_max[1]), " Extrapolation warning: The value u1 (=" + String(u1) + ") must be less or equal than the maximum abscissa value u_max[1] (=" + String(u_max[1]) + ") defined in the table. ", level=AssertionLevel.warning); | tableOnFileRead = readTableData(tableID, false, verboseRead);
assert(noEvent(u2 >= u_min[2]), " Extrapolation warning: The value u2 (=" + String(u2) + ") must be greater or equal than the minimum abscissa value u_min[2] (=" + String(u_min[2]) + ") defined in the table. ", level=AssertionLevel.warning); assert(noEvent(u2 <= u_max[2]), " Extrapolation warning: The value u2 (=" + String(u2) + ") must be less or equal than the maximum abscissa value u_max[2] (=" + String(u_max[2]) + ") defined in the table. ", level=AssertionLevel.warning); end if; if smoothness == Modelica323.Blocks.Types.Smoothness.ConstantSegments then y = Internal.getTable2DValueNoDer(tableID, u1, u2); |
else
y = Internal.getTable2DValue(tableID, u1, u2); | tableOnFileRead = 1.;
end if;
| equation if tableOnFile then assert(tableName <> "NoName", "tableOnFile = true and no table name given"); else assert(size(table, 1) > 0 and size(table, 2) > 0, "tableOnFile = false and parameter table is an empty matrix"); end if; if smoothness == Modelica322.Blocks.Types.Smoothness.ConstantSegments then y = getTableValueNoDer(tableID, u1, u2, tableOnFileRead); else y = getTableValue(tableID, u1, u2, tableOnFileRead); end if;

block ComplexBlocks.Interfaces.ComplexSI2SO

Component | Modelica 3.2.3 | Modelica 3.2.2
u1Internal | =(if useConjugateInput1 then Modelica323.ComplexMath.conj(u1) else u1) | =(if useConjugateInput1 then Modelica322.ComplexMath.conj(u1) else u2)

block ComplexBlocks.ComplexMath.Feedback

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
y = (if useConjugateInput1 then Modelica323.ComplexMath.conj(u1) else u1) - ( if useConjugateInput2 then Modelica323.ComplexMath.conj(u2) else u2); | y = (if useConjugateInput1 then Modelica322.ComplexMath.conj(u1) else u1) - ( if useConjugateInput1 then Modelica322.ComplexMath.conj(u2) else u2);

block ComplexBlocks.ComplexMath.PolarToComplex

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | unit="rad" |

block ComplexBlocks.ComplexMath.ComplexToPolar

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | unit="rad" |

block ComplexBlocks.Sources.ComplexRotatingPhasor

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
phi = w*time + phi0; | y = magnitude*Modelica322.ComplexMath.exp(Complex(0, w*time + phi0));
y = magnitude*Modelica323.ComplexMath.exp(Complex(0, phi)); |

block ComplexBlocks.Sources.LogFrequencySweep

Component | Modelica 3.2.3 | Modelica 3.2.2
wMin | final min=eps |
| min=eps
wMax | final min=eps |
| min=(1 + eps)*wMin
startTime | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
y = if time < startTime then wMin else if time < (startTime + max(duration,eps)) then 10^(log10(wMin) + (log10(wMax) - log10(wMin))*min(1, (time-startTime)/max(duration,eps))) else wMax; | y = 10^(log10(wMin) + (log10(wMax) - log10(wMin))*min(1, time/max(duration,eps)));

model StateGraph.Examples.ExecutionPaths

Component | Modelica 3.2.3 | Modelica 3.2.2
setCondition | y=time >= 7 | y=time > 7

model StateGraph.Examples.ShowCompositeStep

Component | Modelica 3.2.3 | Modelica 3.2.2
setCondition | y=time >= 7 | y=time > 7

model StateGraph.Examples.Utilities.CompositeStep1

Component | Modelica 3.2.3 | Modelica 3.2.2
transition1 | condition=time >= 8 | condition=time > 8
transition2 | condition=time >= 4 | condition=time > 4

block StateGraph.Interfaces.PartialStep

Component | Modelica 3.2.3 | Modelica 3.2.2
outerStatePort | localActive=localActive |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... end when;
| outerStatePort.subgraphStatePort.activeSteps = if localActive then 1.0 else 0.0;
for i in 1:nIn loop ...

model StateGraph.PartialCompositeStep

Component | Modelica 3.2.3 | Modelica 3.2.2
outerState | active=active |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... equation connect(outerState.subgraphStatePort, stateGraphRoot.subgraphStatePort);
| outerState.subgraphStatePort.activeSteps = if active then 1.0 else 0.0;
activeSteps = -integer(innerState.stateGraphRoot.subgraphStatePort.activeSteps); ...

model Electrical.Analog.Examples.CauerLowPassSC

Component | Modelica 3.2.3 | Modelica 3.2.2
R4 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rn
R5 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rn
R8 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rn
R9 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rn
R1 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp
R2 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp
R3 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp
Rp1 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp
R7 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp
R10 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp
R11 | Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Electrical.Analog.Examples.CauerLowPassSC.Rp

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(V.p, Ground1.p);
connect(R4.n, n5); | connect(R4.n2, n5);
connect(Op1.out, R4.p); | connect(Op1.out, R4.n1);
connect(R5.p, p1); | connect(R5.n1, p1);
connect(R5.n, n5); | connect(R5.n2, n5);
connect(p3, R8.p); | connect(p3, R8.n1);
connect(R8.n, n9); | connect(R8.n2, n9);
connect(Op3.out, R9.p); | connect(Op3.out, R9.n1);
connect(R9.n, n10); | connect(R9.n2, n10);
connect(R1.p, V.n); | connect(R1.n1, V.n);
connect(R1.n, n1); | connect(R1.n2, n1);
connect(R2.n, n2); | connect(R2.n2, n2);
connect(R2.p, n6); | connect(R2.n1, n6);
connect(R3.p, n3); | connect(R3.n1, n3);
connect(R3.n, n4); | connect(R3.n2, n4);
connect(Rp1.n, n8); | connect(Rp1.n2, n8);
connect(Rp1.p, n11); | connect(Rp1.n1, n11);
connect(Op2.out, R7.p); | connect(Op2.out, R7.n1);
connect(R7.n, n7); | connect(R7.n2, n7);
connect(R10.p, Op4.out); | connect(R10.n1, Op4.out);
connect(R10.n, n14); | connect(R10.n2, n14);
connect(R11.n, n12); | connect(R11.n2, n12);
connect(R11.p, p4); | connect(R11.n1, p4);

model Electrical.Analog.Examples.CharacteristicIdealDiodes

Component | Modelica 3.2.3 | Modelica 3.2.2
R1 | R=1e-3 | R=1.e-3
R2 | R=1e-3 | R=1.e-3
R3 | R=1e-3 | R=1.e-3

model Electrical.Analog.Examples.CharacteristicThyristors

Component | Modelica 3.2.3 | Modelica 3.2.2
R3 | R=1e-3 | R=1.e-3
R1 | R=1e-3 | R=1.e-3
R2 | R=1e-3 | R=1.e-3
R4 | R=1e-3 | R=1.e-3

model Electrical.Analog.Examples.HeatingMOSInverter

Component | Modelica 3.2.3 | Modelica 3.2.2
V | duration=1e-2 | duration=1.e-2

model Electrical.Analog.Examples.HeatingNPN_OrGate

Component | Modelica 3.2.3 | Modelica 3.2.2
T1 | Is=1e-14 | Is=1.e-14
Gbc=1e-12 | Gbc=1.e-12
Gbe=1e-12 | Gbe=1.e-12
T2 | Is=1e-14 | Is=1.e-14
Gbc=1e-12 | Gbc=1.e-12
Gbe=1e-12 | Gbe=1.e-12

model Electrical.Analog.Examples.NandGate

Component | Modelica 3.2.3 | Modelica 3.2.2
VIN1 | falling=1e-9 | falling=1.e-9
VIN2 | falling=1e-9 | falling=1.e-9

model Electrical.Analog.Examples.OpAmps.InvertingSchmittTrigger

Component | Modelica 3.2.3 | Modelica 3.2.2
opAmp | homotopyType=Modelica323.Blocks.Types.LimiterHomotopy.LowerLimit |

model Electrical.Analog.Examples.OpAmps.SchmittTrigger

Component | Modelica 3.2.3 | Modelica 3.2.2
opAmp | homotopyType=Modelica323.Blocks.Types.LimiterHomotopy.UpperLimit |

model Electrical.Analog.Examples.OpAmps.SignalGenerator

Component | Modelica 3.2.3 | Modelica 3.2.2
Vns | =-Vps | =-15
opAmp1 | strict=false |
homotopyType=Modelica323.Blocks.Types.LimiterHomotopy.UpperLimit |
opAmp2 | strict=false |

model Electrical.Analog.Basic.SaturatingInductor

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
(Lnom - Linf)/(Lzer - Linf)=Ipar/Inom*(pi/2 - atan(Ipar/Inom)); | (Lnom - Linf) = (Lzer - Linf)*Ipar/Inom*(Modelica322.Constants.pi/2 - Modelica322.Math.atan(Ipar/Inom));
equation assert(Lzer > Lnom*(1 + eps), "Lzer (= " + String(Lzer) + ") has to be > Lnom (= " + String(Lnom) + ")"); | equation assert(Lzer > Lnom + Modelica322.Constants.eps, "Lzer (= " + String(Lzer) + ") has to be > Lnom (= " + String(Lnom) + ")");
assert(Linf < Lnom*(1 - eps), "Linf (= " + String(Linf) + ") has to be < Lnom (= " + String(Lnom) + ")"); | assert(Linf < Lnom - Modelica322.Constants.eps, "Linf (= " + String(Linf) + ") has to be < Lnom (= " + String(Lnom) + ")");
Lact = Linf + (Lzer - Linf)*(if noEvent(abs(i)/Ipar<small) then 1 else atan(i/Ipar)/(i/Ipar)); | (Lact - Linf)*i/Ipar = (Lzer - Linf)*noEvent(Modelica322.Math.atan(i/Ipar));
Psi = Linf*i + (Lzer - Linf)*Ipar*atan(i/Ipar); | Psi = Lact*i;
v = der(Psi);

model Electrical.Analog.Basic.M_Transformer

Component | Modelica 3.2.3 | Modelica 3.2.2
i | each fixed=true |
| fixed=true

model Electrical.Analog.Basic.EMF

Component | Modelica 3.2.3 | Modelica 3.2.2
internalSupport | tau=-tau | tau=-flange.tau
tau | Present |
tauElectrical | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... k*w = v;
tau = -k*i; | flange.tau = -k*i;
tauElectrical = -tau; tau = flange.tau; |
connect(internalSupport.flange, support); ...

model Electrical.Analog.Basic.TranslationalEMF

Component | Modelica 3.2.3 | Modelica 3.2.2
internalSupport | f=-f | f=-flange.f
f | Present |
fElectrical | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... k*vel = v;
f = -k*i; | flange.f = -k*i;
fElectrical = -f; f = flange.f; |
connect(internalSupport.flange, support); ...

model Electrical.Analog.Basic.OpAmpDetailed

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... i_4 = I2 + v_4/Rcm;
der(q_fr1) = 2.0*pi*fp2*(v_in - q_fr1); | der(q_fr1) = 2.0*Pi*fp2*(v_in - q_fr1);
q_fr2 + (1.0/(2.0*pi*fp3))*der(q_fr2) = q_fr1 + (1.0/(2.0*pi*fz))*der(q_fr1); | q_fr2 + (1.0/(2.0*Pi*fp3))*der(q_fr2) = q_fr1 + (1.0/(2.0*Pi*fz))*der(q_fr1);
der(q_fr3) = 2.0*pi*fp4*(q_fr2 - q_fr3); | der(q_fr3) = 2.0*Pi*fp4*(q_fr2 - q_fr3);
q_sum = Avd0_val*q_fr3 + Avcm_val*(v_3 + v_4);
q_sum_help = FCNq_sum_limit( q_sum, q_fp1, v_pos, v_neg, vcp_abs, vcm_abs);
der(q_fp1) = 2.0*pi*fp1*(q_sum_help - q_fp1); | der(q_fp1) = 2.0*Pi*fp1*(q_sum_help - q_fp1);
der(x) = (q_fp1 - v_source)/Ts; ...

model Electrical.Analog.Ideal.IdealCommutingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.Analog.Ideal.IdealIntermediateSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.Analog.Ideal.ControlledIdealCommutingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.Analog.Ideal.ControlledIdealIntermediateSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.Analog.Ideal.IdealOpAmpLimited

Component | Modelica 3.2.3 | Modelica 3.2.2
s | start=0 |

model Electrical.Analog.Ideal.IdealizedOpAmpLimted

Component | Modelica 3.2.3 | Modelica 3.2.2
strict | Present |
homotopyType | Present |
simplifiedExpr | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... in_n.i = 0;
simplifiedExpr = (if homotopyType == Modelica323.Blocks.Types.LimiterHomotopy.Linear then V0*v_in else if homotopyType == Modelica323.Blocks.Types.LimiterHomotopy.UpperLimit then vps else if homotopyType == Modelica323.Blocks.Types.LimiterHomotopy.LowerLimit then vns else 0); | v_out = smooth(0, min(Vps, max(Vns, V0*v_in)));
if strict then if homotopyType == Modelica323.Blocks.Types.LimiterHomotopy.NoHomotopy then v_out = smooth(0, noEvent(if V0*v_in>vps then vps else if V0*v_in<vns then vns else V0*v_in)); else v_out = homotopy(actual = smooth(0, noEvent(if V0*v_in>vps then vps else if V0*v_in<vns then vns else V0*v_in)), simplified=simplifiedExpr); end if; else if homotopyType == Modelica323.Blocks.Types.LimiterHomotopy.NoHomotopy then v_out = smooth(0, if V0*v_in>vps then vps else if V0*v_in<vns then vns else V0*v_in); else v_out = homotopy(actual = smooth(0, if V0*v_in>vps then vps else if V0*v_in<vns then vns else V0*v_in), simplified=simplifiedExpr); end if; end if; |

model Electrical.Analog.Ideal.IdealTriac

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.e-5
Goff | =1e-5 | =1.e-5

model Electrical.Analog.Ideal.AD_Converter

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial algorithm | initial equation
for i in 1:N loop ...

connector Electrical.Analog.Interfaces.Pin

Component | Modelica 3.2.3 | Modelica 3.2.2
v | SIunits.ElectricPotential | SIunits.Voltage

connector Electrical.Analog.Interfaces.PositivePin

Component | Modelica 3.2.3 | Modelica 3.2.2
v | SIunits.ElectricPotential | SIunits.Voltage

connector Electrical.Analog.Interfaces.NegativePin

Component | Modelica 3.2.3 | Modelica 3.2.2
v | SIunits.ElectricPotential | SIunits.Voltage

model Electrical.Analog.Interfaces.ConditionalHeatPort

Component | Modelica 3.2.3 | Modelica 3.2.2
heatPort | final T=T_heatPort |
final Q_flow=-LossPower |
| T(start=T) = T_heatPort
| Q_flow=-LossPower

model Electrical.Analog.Interfaces.IdealSemiconductor

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.Analog.Interfaces.IdealSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.Analog.Lines.OLine

Component | Modelica 3.2.3 | Modelica 3.2.2
R | R=rm | R=fill(r*length/(N + 1), N + 1)
L | L=lm | L=fill(l*length/(N + 1), N + 1)
rm | Present |
lm | Present |

model Electrical.Analog.Lines.M_OLine

Component | Modelica 3.2.3 | Modelica 3.2.2
g | ={8.05e-6,3.42e-5,2.91e-5,1.76e-6,9.16e-6,7.12e-6,2.43e-5,5.93e-6,4.19e-5,6.64e-6} | ={8.05e-6,3.42e-5,2 - 91e-5,1.76e-6,9.16e-6,7.12e-6,2.43e-5,5.93e-6,4.19e-5,6.64e-6}

model Electrical.Analog.Lines.ULine

Component | Modelica 3.2.3 | Modelica 3.2.2
R | R=rm | R=fill(r*length/(N + 1), N + 1)
rm | Present |

model Electrical.Analog.Semiconductors.Diode

Component | Modelica 3.2.3 | Modelica 3.2.2
Ids | =1e-6 | =1.e-6
R | =1e8 | =1.e8

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
i = smooth(1, Ids*(exlin(v/Vt, Maxexp) - 1) + v/R); | i = smooth(1,(if (v/Vt > Maxexp) then Ids*(exp(Maxexp)*(1 + v/Vt - Maxexp) - 1) + v/R else Ids*(exp(v/Vt) - 1) + v/R));
LossPower = v*i;

model Electrical.Analog.Semiconductors.Diode2

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... LossPower=i*v;
assert(Bv>0, "Bv must be greater than zero"); | assert(Bv>0, "Bv must be greater than zero", AssertionLevel.error);
assert(Vf>0, "Vf must be greater than zero"); | assert(Vf>0, "Vf must be greater than zero", AssertionLevel.error);
assert(Vt>0, "Vt must be greater than zero"); | assert(Vt>0, "Vt must be greater than zero", AssertionLevel.error);

model Electrical.Analog.Semiconductors.ZDiode

Component | Modelica 3.2.3 | Modelica 3.2.2
Ids | =1e-6 | =1.e-6
R | =1e8 | =1.e8
maxexp |  | Present

model Electrical.Analog.Semiconductors.PMOS

Component | Modelica 3.2.3 | Modelica 3.2.2
RDS | =1e7 | =1.e+7

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... assert(W + dW > 0, "PMOS: Effective width must be positive");
gds = if (RDS < 1e-20 and RDS > -1e-20) then 1e20 else 1/RDS; | gds = if (RDS < 1.e-20 and RDS > -1.e-20) then 1.e20 else 1/RDS;
v = Beta*(W + dW)/(L + dL); ...

model Electrical.Analog.Semiconductors.NMOS

Component | Modelica 3.2.3 | Modelica 3.2.2
RDS | =1e7 | =1.e+7

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... assert(W + dW > 0, "NMOS: Effective width must be positive");
gds = if (RDS < 1e-20 and RDS > -1e-20) then 1e20 else 1/RDS; | gds = if (RDS < 1.e-20 and RDS > -1.e-20) then 1.e20 else 1/RDS;
v = Beta*(W + dW)/(L + dL); ...

model Electrical.Analog.Semiconductors.NPN

Component | Modelica 3.2.3 | Modelica 3.2.2
Is | =1e-16 | =1.e-16
vbc | SIunits.Voltage | Real
| protected
vbe | SIunits.Voltage | Real
| protected
qbk |  | protected
ibc | SIunits.Current | Real
| protected
ibe | SIunits.Current | Real
| protected
cbc | SIunits.Capacitance | Real
| protected
cbe | SIunits.Capacitance | Real
| protected
Capcje | SIunits.Capacitance | Real
| protected
Capcjc | SIunits.Capacitance | Real
| protected
ExMin |  | Present
ExMax |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
...
equation vbc = B.v - C.v; | equation ExMin = exp(EMin);
| ExMax = exp(EMax); vbc = B.v - C.v;
vbe = B.v - E.v;
qbk = 1 - vbc*Vak;
ibc = smooth(1, Is*(exlin2(vbc/Vt, EMin, EMax) - 1) + vbc*Gbc); | ibc = smooth(1,if (vbc/Vt < EMin) then Is*(ExMin*(vbc/Vt - EMin + 1) - 1) + vbc*Gbc else if (vbc/Vt > EMax) then Is*(ExMax*(vbc/Vt - EMax + 1) - 1) + vbc* Gbc else Is*(exp(vbc/Vt) - 1) + vbc*Gbc);
ibe = smooth(1, Is*(exlin2(vbe/Vt, EMin, EMax) - 1) + vbe*Gbe); | ibe = smooth(1,if (vbe/Vt < EMin) then Is*(ExMin*(vbe/Vt - EMin + 1) - 1) + vbe*Gbe else if (vbe/Vt > EMax) then Is*(ExMax*(vbe/Vt - EMax + 1) - 1) + vbe* Gbe else Is*(exp(vbe/Vt) - 1) + vbe*Gbe);
Capcjc = smooth(1, Cjc*powlin(vbc/Phic, Mc)); | Capcjc = smooth(1,(if (vbc/Phic > 0) then Cjc*(1 + Mc*vbc/Phic) else Cjc*pow(1 - vbc /Phic, -Mc)));
Capcje = smooth(1, Cje*powlin(vbe/Phie, Me)); | Capcje = smooth(1,(if (vbe/Phie > 0) then Cje*(1 + Me*vbe/Phie) else Cje*pow(1 - vbe /Phie, -Me)));
cbc = smooth(1, Taur*Is/Vt*exlin2(vbc/Vt, EMin, EMax) + Capcjc); | cbc = smooth(1,(if (vbc/Vt < EMin) then Taur*Is/Vt*ExMin*(vbc/Vt - EMin + 1) + Capcjc else if (vbc/Vt > EMax) then Taur*Is/Vt*ExMax*(vbc/Vt - EMax + 1) + Capcjc else Taur*Is/Vt*exp(vbc/Vt) + Capcjc));
cbe = smooth(1, Tauf*Is/Vt*exlin2(vbe/Vt, EMin, EMax) + Capcje); | cbe = smooth(1,(if (vbe/Vt < EMin) then Tauf*Is/Vt*ExMin*(vbe/Vt - EMin + 1) + Capcje else if (vbe/Vt > EMax) then Tauf*Is/Vt*ExMax*(vbe/Vt - EMax + 1) + Capcje else Tauf*Is/Vt*exp(vbe/Vt) + Capcje));
C.i = (ibe - ibc)*qbk - ibc/Br - cbc*der(vbc) + Ccs*der(C.v); ...

model Electrical.Analog.Semiconductors.PNP

Component | Modelica 3.2.3 | Modelica 3.2.2
Is | =1e-16 | =1.e-16
vbc | SIunits.Voltage | Real
| protected
vbe | SIunits.Voltage | Real
| protected
qbk |  | protected
ibc | SIunits.Current | Real
| protected
ibe | SIunits.Current | Real
| protected
cbc | SIunits.Capacitance | Real
| protected
cbe | SIunits.Capacitance | Real
| protected
Capcje | SIunits.Capacitance | Real
| protected
Capcjc | SIunits.Capacitance | Real
| protected
ExMin |  | Present
ExMax |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| ExMin = exp(EMin); ExMax = exp(EMax);
vbc = C.v - B.v; ... qbk = 1 - vbc*Vak;
ibc = smooth(1, Is*(exlin2(vbc/Vt, EMin, EMax) - 1) + vbc*Gbc); | ibc = smooth(1,(if (vbc/Vt < EMin) then Is*(ExMin*(vbc/Vt - EMin + 1) - 1) + vbc*Gbc else if (vbc/Vt > EMax) then Is*(ExMax*(vbc/Vt - EMax + 1) - 1) + vbc* Gbc else Is*(exp(vbc/Vt) - 1) + vbc*Gbc));
ibe = smooth(1, Is*(exlin2(vbe/Vt, EMin, EMax) - 1) + vbe*Gbe); | ibe = smooth(1,(if (vbe/Vt < EMin) then Is*(ExMin*(vbe/Vt - EMin + 1) - 1) + vbe*Gbe else if (vbe/Vt > EMax) then Is*(ExMax*(vbe/Vt - EMax + 1) - 1) + vbe* Gbe else Is*(exp(vbe/Vt) - 1) + vbe*Gbe));
Capcjc = smooth(1, Cjc*powlin(vbc/Phic, Mc)); | Capcjc = smooth(1,(if (vbc/Phic > 0) then Cjc*(1 + Mc*vbc/Phic) else Cjc*pow(1 - vbc /Phic, -Mc)));
Capcje = smooth(1, Cje*powlin(vbe/Phie, Me)); | Capcje = smooth(1,if (vbe/Phie > 0) then Cje*(1 + Me*vbe/Phie) else Cje*pow(1 - vbe /Phie, -Me));
cbc = smooth(1, Taur*Is/Vt*exlin2(vbc/Vt, EMin, EMax) + Capcjc); | cbc = smooth(1,(if (vbc/Vt < EMin) then Taur*Is/Vt*ExMin*(vbc/Vt - EMin + 1) + Capcjc else if (vbc/Vt > EMax) then Taur*Is/Vt*ExMax*(vbc/Vt - EMax + 1) + Capcjc else Taur*Is/Vt*exp(vbc/Vt) + Capcjc));
cbe = smooth(1, Tauf*Is/Vt*exlin2(vbe/Vt, EMin, EMax) + Capcje); | cbe = smooth(1,(if (vbe/Vt < EMin) then Tauf*Is/Vt*ExMin*(vbe/Vt - EMin + 1) + Capcje else if (vbe/Vt > EMax) then Tauf*Is/Vt*ExMax*(vbe/Vt - EMax + 1) + Capcje else Tauf*Is/Vt*exp(vbe/Vt) + Capcje));
C.i = -((ibe - ibc)*qbk - ibc/Br - cbc*der(vbc) - Ccs*der(C.v)); ...

model Electrical.Analog.Semiconductors.HeatingDiode

Component | Modelica 3.2.3 | Modelica 3.2.2
Ids | =1e-6 | =1.e-6
R | =1e8 | =1.e8
vt_t | SIunits.Voltage | SIunits.Temperature
q |  | Present
maxexp |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
assert(T_heatPort > 0,"Temperature must be positive"); | assert( T_heatPort > 0,"temperature must be positive");
htemp = T_heatPort;
vt_t = k*htemp/q;
id = Ids*(exlin(v/(N*vt_t), Maxexp) - 1); | id = exlin((v/(N*vt_t)), Maxexp) - 1;
aux = (htemp/TNOM - 1)*EG/(N*vt_t);
auxp = exp(aux);
i = id*pow(htemp/TNOM, XTI/N)*auxp + v/R; | i = Ids*id*pow(htemp/TNOM, XTI/N)*auxp + v/R;
LossPower = i*v;

model Electrical.Analog.Semiconductors.HeatingNMOS

Component | Modelica 3.2.3 | Modelica 3.2.2
RDS | =1e7 | =1.e+7
kk2 | =6e-4 | =6.0e-4

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... assert(T_heatPort > 0,"Heating NMOS: Temperature must be positive");
gds = if (RDS < 1e-20 and RDS > -1e-20) then 1e20 else 1/RDS; | gds = if (RDS < 1.e-20 and RDS > -1.e-20) then 1.e20 else 1/RDS;
v = beta_t*(W + dW)/(L + dL); ...

model Electrical.Analog.Semiconductors.HeatingPMOS

Component | Modelica 3.2.3 | Modelica 3.2.2
RDS | =1e7 | =1.e+7

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... assert(T_heatPort > 0,"HeatingPMOS: Temperature must be positive");
gds = if (RDS < 1e-20 and RDS > -1e-20) then 1e20 else 1/RDS; | gds = if (RDS < 1.e-20 and RDS > -1.e-20) then 1.e20 else 1/RDS;
v = beta_t*(W + dW)/(L + dL); ...

model Electrical.Analog.Semiconductors.HeatingNPN

Component | Modelica 3.2.3 | Modelica 3.2.2
Is | =1e-16 | =1.e-16
EG | SIunits.Voltage | Real
vbc | SIunits.Voltage | Real
vbe | SIunits.Voltage | Real
ibc | SIunits.Current | Real
ibe | SIunits.Current | Real
cbc | SIunits.Capacitance | Real
cbe | SIunits.Capacitance | Real
Capcje | SIunits.Capacitance | Real
Capcjc | SIunits.Capacitance | Real
is_t | SIunits.Current | Real
vt_t | SIunits.Voltage | Real
q |  | Present
ExMin |  | Present
ExMax |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
assert(T_heatPort > 0,"Temperature must be positive"); | assert( T_heatPort > 0,"temperature must be positive");
| ExMin = exp(EMin); ExMax = exp(EMax);
vbc = B.v - C.v; ... hexp = (T_heatPort/Tnom - 1)*EG/vt_t;
htempexp = smooth(1, exlin2(hexp, EMin, EMax)); | htempexp = smooth(1,if (hexp < EMin) then ExMin*(hexp - EMin + 1) else if ( hexp > EMax) then ExMax*(hexp - EMax + 1) else exp(hexp));
is_t = Is*pow((T_heatPort/Tnom), XTI)*htempexp; ... vt_t = (k/q)*T_heatPort;
ibc = smooth(1, is_t*(exlin2(vbc/(NR*vt_t), EMin, EMax) - 1) + vbc*Gbc); | ibc = smooth(1,(if (vbc/(NR*vt_t) < EMin) then is_t*(ExMin*(vbc/(NR*vt_t) - EMin + 1) - 1) + vbc*Gbc else if (vbc/(NR*vt_t) > EMax) then is_t*( ExMax*(vbc/(NR*vt_t) - EMax + 1) - 1) + vbc*Gbc else is_t*(exp(vbc/ (NR*vt_t)) - 1) + vbc*Gbc));
ibe = smooth(1, is_t*(exlin2(vbe/(NF*vt_t), EMin, EMax) - 1) + vbe*Gbe); | ibe = smooth(1,(if (vbe/(NF*vt_t) < EMin) then is_t*(ExMin*(vbe/(NF*vt_t) - EMin + 1) - 1) + vbe*Gbe else if (vbe/(NF*vt_t) > EMax) then is_t*( ExMax*(vbe/(NF*vt_t) - EMax + 1) - 1) + vbe*Gbe else is_t*(exp(vbe/ (NF*vt_t)) - 1) + vbe*Gbe));
Capcjc = smooth(1, Cjc*powlin(vbc/Phic, Mc)); | Capcjc = smooth(1,(if (vbc/Phic > 0) then Cjc*(1 + Mc*vbc/Phic) else Cjc*pow(1 - vbc/Phic, -Mc)));
Capcje = smooth(1, Cje*powlin(vbe/Phie, Me)); | Capcje = smooth(1,(if (vbe/Phie > 0) then Cje*(1 + Me*vbe/Phie) else Cje*pow(1 - vbe/Phie, -Me)));
cbc = smooth(1, Taur*is_t/(NR*vt_t)*exlin2(vbc/(NR*vt_t), EMin, EMax) + Capcjc); | cbc = smooth(1,(if (vbc/(NR*vt_t) < EMin) then Taur*is_t/(NR*vt_t)*ExMin*(vbc/( NR*vt_t) - EMin + 1) + Capcjc else if (vbc/(NR*vt_t) > EMax) then Taur*is_t/(NR*vt_t)*ExMax*(vbc/(NR*vt_t) - EMax + 1) + Capcjc else Taur*is_t/(NR*vt_t)*exp(vbc/(NR*vt_t)) + Capcjc));
cbe = smooth(1, Tauf*is_t/(NF*vt_t)*exlin2(vbe/(NF*vt_t), EMin, EMax) + Capcje); | cbe = smooth(1,(if (vbe/(NF*vt_t) < EMin) then Tauf*is_t/(NF*vt_t)*ExMin*(vbe/( NF*vt_t) - EMin + 1) + Capcje else if (vbe/(NF*vt_t) > EMax) then Tauf*is_t/(NF*vt_t)*ExMax*(vbe/(NF*vt_t) - EMax + 1) + Capcje else Tauf*is_t/(NF*vt_t)*exp(vbe/(NF*vt_t)) + Capcje));
C.i = (ibe - ibc)*qbk - ibc/br_t - cbc*der(vbc) + Ccs*der(C.v); ...

model Electrical.Analog.Semiconductors.HeatingPNP

Component | Modelica 3.2.3 | Modelica 3.2.2
Is | =1e-16 | =1.e-16
EG | SIunits.Voltage | Real
vcb | SIunits.Voltage | Real
| protected
veb | SIunits.Voltage | Real
| protected
qbk |  | protected
icb | SIunits.Current | Real
| protected
ieb | SIunits.Current | Real
| protected
ccb | SIunits.Capacitance | Real
| protected
ceb | SIunits.Capacitance | Real
| protected
Capcje | SIunits.Capacitance | Real
| protected
Capcjc | SIunits.Capacitance | Real
| protected
is_t | SIunits.Current | Real
| protected
br_t |  | protected
bf_t |  | protected
vt_t | SIunits.Voltage | Real
| protected
hexp |  | protected
htempexp |  | protected
q |  | Present
ExMin |  | Present
ExMax |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
assert(T_heatPort > 0,"Temperature must be positive"); | assert( T_heatPort > 0,"temperature must be positive");
| ExMin = exp(EMin); ExMax = exp(EMax);
vcb = C.v - B.v; ... hexp = (T_heatPort/Tnom - 1)*EG/vt_t;
htempexp = smooth(1, exlin2(hexp, EMin, EMax)); | htempexp = smooth(1,if (hexp < EMin) then ExMin*(hexp - EMin + 1) else if ( hexp > EMax) then ExMax*(hexp - EMax + 1) else exp(hexp));
is_t = Is*pow((T_heatPort/Tnom), XTI)*htempexp; ... vt_t = (k/q)*T_heatPort;
icb = smooth(1, is_t*(exlin2(vcb/(NR*vt_t), EMin, EMax) - 1) + vcb*Gbc); | icb = smooth(1,(if (vcb/(NR*vt_t) < EMin) then is_t*(ExMin*(vcb/(NR*vt_t) - EMin + 1) - 1) + vcb*Gbc else if (vcb/(NR*vt_t) > EMax) then is_t*( ExMax*(vcb/(NR*vt_t) - EMax + 1) - 1) + vcb*Gbc else is_t*(exp(vcb/ (NR*vt_t)) - 1) + vcb*Gbc));
ieb = smooth(1, is_t*(exlin2(veb/(NF*vt_t), EMin, EMax) - 1) + veb*Gbe); | ieb = smooth(1,(if (veb/(NF*vt_t) < EMin) then is_t*(ExMin*(veb/(NF*vt_t) - EMin + 1) - 1) + veb*Gbe else if (veb/(NF*vt_t) > EMax) then is_t*( ExMax*(veb/(NF*vt_t) - EMax + 1) - 1) + veb*Gbe else is_t*(exp(veb/ (NF*vt_t)) - 1) + veb*Gbe));
Capcjc = smooth(1, Cjc*powlin(vcb/Phic, Mc)); | Capcjc = smooth(1,(if (vcb/Phic > 0) then Cjc*(1 + Mc*vcb/Phic) else Cjc*pow(1 - vcb/Phic, -Mc)));
Capcje = smooth(1, Cje*powlin(veb/Phie, Me)); | Capcje = smooth(1,(if (veb/Phie > 0) then Cje*(1 + Me*veb/Phie) else Cje*pow(1 - veb/Phie, -Me)));
ccb = smooth(1, Taur*is_t/(NR*vt_t)*exlin2(vcb/(NR*vt_t), EMin, EMax) + Capcjc); | ccb = smooth(1,(if (vcb/(NR*vt_t) < EMin) then Taur*is_t/(NR*vt_t)*ExMin*(vcb/( NR*vt_t) - EMin + 1) + Capcjc else if (vcb/(NR*vt_t) > EMax) then Taur*is_t/(NR*vt_t)*ExMax*(vcb/(NR*vt_t) - EMax + 1) + Capcjc else Taur*is_t/(NR*vt_t)*exp(vcb/(NR*vt_t)) + Capcjc));
ceb = smooth(1, Tauf*is_t/(NF*vt_t)*exlin2(veb/(NF*vt_t), EMin, EMax) + Capcje); | ceb = smooth(1,(if (veb/(NF*vt_t) < EMin) then Tauf*is_t/(NF*vt_t)*ExMin*(veb/( NF*vt_t) - EMin + 1) + Capcje else if (veb/(NF*vt_t) > EMax) then Tauf*is_t/(NF*vt_t)*ExMax*(veb/(NF*vt_t) - EMax + 1) + Capcje else Tauf*is_t/(NF*vt_t)*exp(veb/(NF*vt_t)) + Capcje));
C.i = icb/br_t + ccb*der(vcb) + Ccs*der(C.v) + (icb - ieb)*qbk; ...

model Electrical.Analog.Semiconductors.Thyristor

Component | Modelica 3.2.3 | Modelica 3.2.2
iGK | SIunits.Current | Real
vGK | SIunits.Voltage | Real
vAK | SIunits.Voltage | Real
vControl | SIunits.Voltage | Real
vContot | SIunits.Voltage | Real
vConmain | SIunits.Voltage | Real

model Electrical.Analog.Semiconductors.SimpleTriac

Component | Modelica 3.2.3 | Modelica 3.2.2
thyristor | IDRM=IDRM |
VTM=VTM |
IH=IH |
ITM=ITM |
VGT=VGT |
IGT=IGT |
TON=TON |
TOFF=TOFF |
Vt=Vt |
Nbv=Nbv |
thyristor1 | IDRM=IDRM |
VTM=VTM |
IH=IH |
ITM=ITM |
VGT=VGT |
IGT=IGT |
TON=TON |
TOFF=TOFF |
Vt=Vt |
Nbv=Nbv |

model Electrical.Digital.Delay.TransportDelay

Component | Modelica 3.2.3 | Modelica 3.2.2
xr | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
xr = Integer(pre(x)); | x_delayed = LogicValues[integer(delay(Integer(pre(x)), delayTime))];
x_delayed = LogicValues[integer(delay(xr, delayTime))]; |
y = if delayTime > 0 then (if time >= delayTime then x_delayed else y0) else pre(x);

block Electrical.Digital.Converters.LogicToBoolean

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
for i in 1:n loop
y[i] = (x[i] == L.'1' or x[i] == L.'H'); | y[i] = if x[i] == L.'1' or x[i] == L.'H' then true else false;
end for;

model Electrical.Digital.Memories.DLATRAM

Component | Modelica 3.2.3 | Modelica 3.2.2
tHL |  | Present
tLH |  | Present
strength |  | Present
n_addr |  | Present
n_data |  | Present
fileName |  | Present
RE |  | Present
addr |  | Present
dataOut |  | Present
nextstate |  | Present
mem_word |  | Present
int_addr |  | Present
yy |  | Present
inertialDelaySensitive |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
...
| equation for i in 1:n_data loop connect(yy[i], inertialDelaySensitive[i].x); connect(inertialDelaySensitive[i].y, dataOut[i]); end for;

model Electrical.Digital.Memories.DLATROM

Component | Modelica 3.2.3 | Modelica 3.2.2
tHL |  | Present
tLH |  | Present
strength |  | Present
n_addr |  | Present
n_data |  | Present
fileName |  | Present
RE |  | Present
addr |  | Present
dataOut |  | Present
nextstate |  | Present
mem_word |  | Present
addr_bit |  | Present
int_addr |  | Present
yy |  | Present
inertialDelaySensitive |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... elseif RE == L.'1' or RE == L.'H' then
int_addr = address(n_addr, addr); | int_addr = 1;
| for i in 1:n_addr loop addr_bit = T.X01Table[addr[i]]; if addr_bit == L.'1' then int_addr = int_addr + integer(2^(i-1)); elseif addr_bit == L.'X' then int_addr = 0; break; end if; end for;
if int_addr > 0 then ...
| equation for i in 1:n_data loop connect(yy[i], inertialDelaySensitive[i].x); connect(inertialDelaySensitive[i].y, dataOut[i]); end for;

model Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_withLosses

Component | Modelica 3.2.3 | Modelica 3.2.2
w_meas | displayUnit="rev/min" |
combiTable1Ds | table={{Ptable[j],Itable[j],wtable[j],ctable[j],etable[j]} for j in 1:size(Ptable, 1)} | table={{Ptable[j],Itable[j],ntable[j],ctable[j],etable[j]} for j in 1:size(Ptable, 1)}
PsNominal | Present |
lossNominal | Present |
etaNominal | Present |
wtable | Present |
Ps_sim | Present |
Ps_meas | Present |
loss_sim | Present |
loss_meas | Present |
ntable |  | Present

model Electrical.Machines.Examples.DCMachines.DCPM_Cooling

Component | Modelica 3.2.3 | Modelica 3.2.2
cooling | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe

model Electrical.Machines.BasicMachines.AsynchronousInductionMachines.AIM_SquirrelCage

Component | Modelica 3.2.3 | Modelica 3.2.2
squirrelCageR |  | final T=TrRef

model Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_PermanentMagnet

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |
idq_dr | graphical |
damperCage |  | final T=TrRef

model Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_ElectricalExcited

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |
idq_dr | graphical |
damperCage |  | final T=TrRef
re |  | final T=TeRef

model Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_ReluctanceRotor

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |
idq_dr | graphical |
damperCage |  | final T=TrRef

model Electrical.Machines.BasicMachines.DCMachines.DC_ElectricalExcited

Component | Modelica 3.2.3 | Modelica 3.2.2
re |  | final T=TeRef

model Electrical.Machines.BasicMachines.DCMachines.DC_SeriesExcited

Component | Modelica 3.2.3 | Modelica 3.2.2
re |  | final T=TeRef

model Electrical.Machines.Sensors.RotorDisplacementAngle

Component | Modelica 3.2.3 | Modelica 3.2.2
positiveRange | Present |
threshold | Present |
wrapAngle | Present |
lessThreshold | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(add.y, rotatorVS2R.angle);
connect(wrapAngle.y, rotorDisplacementAngle); | connect(ToPolarVSR.y[2], rotorDisplacementAngle);
connect(ToPolarVSR.y, lessThreshold.u); connect(lessThreshold.y, wrapAngle.u); |

block Electrical.Machines.SpacePhasors.Blocks.Rotator

Component | Modelica 3.2.3 | Modelica 3.2.2
angle | unit="rad" |

model Electrical.Machines.Losses.Friction

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
tau = -(if noEvent(abs(w)>frictionParameters.wLinear) then frictionParameters.tauRef*sign(w)*(abs(w)/frictionParameters.wRef)^frictionParameters.power_w else frictionParameters.tauLinear*w/frictionParameters.wLinear); | tau = -smooth(1, if w >= +frictionParameters.wLinear then + frictionParameters.tauRef*(+w/frictionParameters.wRef)^ frictionParameters.power_w else if w <= -frictionParameters.wLinear then -frictionParameters.tauRef*(-w/frictionParameters.wRef)^ frictionParameters.power_w else frictionParameters.tauLinear*(w/ frictionParameters.wLinear));
end if; ...

model Electrical.Machines.Losses.InductionMachines.StrayLoad

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
tau = -strayLoadParameters.tauRef*(iRMS/strayLoadParameters.IRef)^2* sign(w)*(abs(w)/strayLoadParameters.wRef)^strayLoadParameters.power_w; | tau = -strayLoadParameters.tauRef*(iRMS/strayLoadParameters.IRef)^2* smooth(1, if w >= 0 then +(+w/strayLoadParameters.wRef)^ strayLoadParameters.power_w else -(-w/strayLoadParameters.wRef)^ strayLoadParameters.power_w);
end if; ...

model Electrical.Machines.Losses.InductionMachines.PermanentMagnetLosses

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
tau = -permanentMagnetLossParameters.tauRef*(permanentMagnetLossParameters.c + (1 - permanentMagnetLossParameters.c)* (iRMS/permanentMagnetLossParameters.IRef)^permanentMagnetLossParameters.power_I)* sign(w)*(abs(w)/permanentMagnetLossParameters.wRef)^permanentMagnetLossParameters.power_w; | tau = -permanentMagnetLossParameters.tauRef*( permanentMagnetLossParameters.c + (1 - permanentMagnetLossParameters.c)*(iRMS/ permanentMagnetLossParameters.IRef)^permanentMagnetLossParameters.power_I) *smooth(1, if w >= 0 then +(+w/permanentMagnetLossParameters.wRef)^ permanentMagnetLossParameters.power_w else -(-w/ permanentMagnetLossParameters.wRef)^permanentMagnetLossParameters.power_w);
end if; ...

model Electrical.Machines.Losses.InductionMachines.Core

Component | Modelica 3.2.3 | Modelica 3.2.2
coreParameters | m=3 |

model Electrical.Machines.Losses.DCMachines.Brush

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
v = smooth(0, if (i > +brushParameters.ILinear) then +brushParameters.V else if (i < -brushParameters.ILinear) then -brushParameters.V else brushParameters.V*i/brushParameters.ILinear); | v = smooth(1, if (i > +brushParameters.ILinear) then +brushParameters.V else if (i < -brushParameters.ILinear) then -brushParameters.V else brushParameters.V*i/brushParameters.ILinear);
end if; ...

model Electrical.Machines.Losses.DCMachines.StrayLoad

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
tau = -strayLoadParameters.tauRef*(i/strayLoadParameters.IRef)^2* sign(w)*(abs(w)/strayLoadParameters.wRef)^strayLoadParameters.power_w; | tau = -strayLoadParameters.tauRef*(i/strayLoadParameters.IRef)^2* smooth(1, if w >= 0 then +(+w/strayLoadParameters.wRef)^ strayLoadParameters.power_w else -(-w/strayLoadParameters.wRef)^ strayLoadParameters.power_w);
end if; ...

model Electrical.Machines.Losses.DCMachines.Core

Component | Modelica 3.2.3 | Modelica 3.2.2
coreParameters | m=1 |

model Electrical.Machines.Interfaces.PartialBasicDCMachine

Component | Modelica 3.2.3 | Modelica 3.2.2
ra |  | final T=TaRef

record Electrical.Machines.Utilities.ParameterRecords.InductionMachineData

Component | Modelica 3.2.3 | Modelica 3.2.2
effectiveStatorTurns | Present |

block Electrical.Machines.Utilities.VfController

Component | Modelica 3.2.3 | Modelica 3.2.2
EconomyMode | Present |
pow | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
amplitude = sqrt(2)*VNominal*(if abs(u) < fNominal then (abs(u)/fNominal)^pow else 1); | amplitude = sqrt(2)*VNominal*(if abs(u) < fNominal then abs(u)/fNominal else 1);
der(x) = 2*pi*u; ...

block Electrical.Machines.Utilities.ToDQ

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | unit="rad" |

block Electrical.Machines.Utilities.FromDQ

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | unit="rad" |

model Electrical.Machines.Utilities.CurrentController

Component | Modelica 3.2.3 | Modelica 3.2.2
m | parameter | constant
phi | unit="rad" |
fromSpacePhasor | final m=m |

model Electrical.Machines.Utilities.VoltageController

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | unit="rad" |
iActual | sizes= -1 | sizes= 3
fromDQ | final m=m |
toDQ | final m=m |

record Electrical.Machines.Utilities.SynchronousMachineData

Component | Modelica 3.2.3 | Modelica 3.2.2
effectiveStatorTurns | Present |

model Electrical.MultiPhase.Examples.Rectifier

Component | Modelica 3.2.3 | Modelica 3.2.2
V | =100 | =1
f | =50 | =5
L | =0.0001 | =0.001
C | =0.005 | =0.05
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5
sineVoltage | V=sqrt(2)*fill(V, m) | V=fill(V, m)
VDC | Present |
IDC | Present |
powerSensorSpacePhasor | Present |
aronSensor | Present |
powerSensor | Present |
reactivePowerSensor | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
cDC1.v = VDC/2; | cDC1.v = 0;
cDC2.v = VDC/2; | cDC2.v = 0;
supplyL.i[2]=-IDC; | supplyL.i[1:m - 1] = zeros(m - 1) "Y-connection";
supplyL.i[3]= IDC; |
... connect(sineVoltage.plug_p, supplyL.plug_p);
| connect(idealDiode1.plug_p, supplyL.plug_n); connect(idealDiode2.plug_n, supplyL.plug_n);
connect(idealDiode1.plug_n, star1.plug_p); ... connect(star1.pin_n, cDC1.p);
connect(idealDiode1.plug_p, idealDiode2.plug_n); connect(supplyL.plug_n, powerSensor.pc); connect(powerSensor.nc, powerSensorSpacePhasor.plug_p); connect(powerSensorSpacePhasor.plug_ni, aronSensor.plug_p); connect(aronSensor.plug_n, reactivePowerSensor.plug_p); connect(idealDiode1.plug_p, reactivePowerSensor.plug_n); connect(powerSensor.pc, powerSensor.pv); connect(starS.plug_p, powerSensor.nv); connect(starS.plug_p, powerSensorSpacePhasor.plug_nv); |

model Electrical.MultiPhase.Examples.TestSensors

Component | Modelica 3.2.3 | Modelica 3.2.2
IRMS | =VRMS/Z | =VRMS/sqrt(R^2 + (2*pi*f*L)^2)
realExpression | y=Modelica.Electrical.MultiPhase.Functions.activePower(voltageQuasiRMSSensor.v, currentQuasiRMSSensor.i) | y=Modelica322.Electrical.MultiPhase.Functions.activePower(voltageQuasiRMSSensor.v, currentQuasiRMSSensor.i)
Z | Present |
P | Present |
Q | Present |
S | Present |
powerSensorSpacePhasor | Present |
feedbackSpacePhasor | Present |
aronSensor | Present |
feedbackAron | Present |
reactivePowerSensor | Present |
feedbackQ | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... equation connect(star.pin_n, ground.p);
| connect(sineVoltage.plug_n, star.plug_p);
connect(resistor.plug_n, inductor.plug_p);
connect(inductor.plug_n, starLoad.plug_p);
| connect(currentQuasiRMSSensor.I, feedbackI.u1); connect(feedbackI.u2, constI.y); connect(sineVoltage.plug_p, currentQuasiRMSSensor.plug_p);
connect(voltageQuasiRMSSensor.plug_n, sineVoltage.plug_n); ... connect(powerSensor.nc, resistor.plug_p);
| connect(currentQuasiRMSSensor.plug_n, powerSensor.pc);
connect(powerSensor.pc, powerSensor.pv); ... connect(powerSensor.power, feedbackP.u1);
connect(aronSensor.plug_n, powerSensor.pc); | connect(realExpression.y, feedbackP.u2);
connect(sineVoltage.plug_n, star.plug_p); connect(feedbackI.u2, constI.y); connect(feedbackI.u1, currentQuasiRMSSensor.I); connect(currentQuasiRMSSensor.plug_p, sineVoltage.plug_p); connect(feedbackP.u2, realExpression.y); connect(powerSensorSpacePhasor.plug_p, currentQuasiRMSSensor.plug_n); connect(powerSensorSpacePhasor.plug_nv, starLoad.plug_p); connect(powerSensorSpacePhasor.plug_ni, reactivePowerSensor.plug_p); connect(reactivePowerSensor.plug_n, aronSensor.plug_p); connect(reactivePowerSensor.reactivePower, feedbackQ.u1); connect(powerSensorSpacePhasor.Q, feedbackQ.u2); connect(aronSensor.power, feedbackAron.u1); connect(feedbackSpacePhasor.u1, powerSensorSpacePhasor.P); connect(realExpression.y, feedbackAron.u2); connect(realExpression.y, feedbackSpacePhasor.u2); |

model Electrical.MultiPhase.Basic.Resistor

Component | Modelica 3.2.3 | Modelica 3.2.2
resistor |  | final T=T

model Electrical.MultiPhase.Basic.Conductor

Component | Modelica 3.2.3 | Modelica 3.2.2
conductor |  | final T=T

model Electrical.MultiPhase.Basic.MutualInductor

Component | Modelica 3.2.3 | Modelica 3.2.2
epsilon | parameter | constant
m |  | Present

model Electrical.MultiPhase.Basic.VariableResistor

Component | Modelica 3.2.3 | Modelica 3.2.2
variableResistor |  | final T=T

model Electrical.MultiPhase.Basic.VariableConductor

Component | Modelica 3.2.3 | Modelica 3.2.2
variableConductor |  | final T=T

model Electrical.MultiPhase.Ideal.IdealDiode

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.IdealThyristor

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.IdealGTOThyristor

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.IdealCommutingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.IdealIntermediateSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.IdealOpeningSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.IdealClosingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.OpenerWithArc

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.MultiPhase.Ideal.CloserWithArc

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

function Electrical.MultiPhase.Functions.symmetricOrientationMatrix

Component | Modelica 3.2.3 | Modelica 3.2.2
oM | Present |
nBase | Present |
mBase | Present |
o | Present |
oBase | Present |
orientation |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
oM := zeros(m, m); | orientation := zeros(m, m);
if mBase==2 then | if mod(m, 2) == 0 then
oM[1:mBase,1:mBase] = {o[1:mBase],-o[1:mBase]}; | if m == 2 then
| orientation = {{0,+pi/2},{0,-pi/2}};
else
for j in 1:mBase loop | orientation[1:integer(m/2), 1:integer(m/2)] = symmetricOrientationMatrix(integer(m/2));
oM[j,1:mBase] = j*o[1:mBase]; | orientation[1 + integer(m/2):m, 1 + integer(m/2):m] = symmetricOrientationMatrix(integer(m/2)) - fill( pi/m, integer(m/2), integer(m/2));
end for; |
end if;
for i in 2:nBase loop | else
for k in 1:mBase loop | for k in 1:m loop
oM[(i - 1)*mBase + k, (i - 1)*mBase + 1:i*mBase] = oM[k, 1:mBase] + fill(oBase[i], mBase); | orientation[k, :] = Modelica322.Electrical.MultiPhase.Functions.symmetricOrientation(m)*k;
end for;
end for; | end if;

function Electrical.MultiPhase.Functions.symmetricTransformationMatrix

Component | Modelica 3.2.3 | Modelica 3.2.2
tM | Present |
nBase | Present |
mBase | Present |
factor | Present |
oM | Present |
transformation |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
for i in 1:nBase loop | transformation := Modelica322.ComplexMath.fromPolar(fill( numberOfSymmetricBaseSystems(m)/m, m, m), Electrical.MultiPhase.Functions.symmetricOrientationMatrix(m));
for j in 1:nBase loop |
for ii in (i - 1)*mBase + 1:i*mBase loop for jj in (j - 1)*mBase + 1:j*mBase loop tM[ii,jj] = fromPolar(if i==j then factor else 0, oM[ii,jj]); end for; end for; end for; end for; |

function Electrical.MultiPhase.Functions.indexPositiveSequence

Component | Modelica 3.2.3 | Modelica 3.2.2
n | =numberOfSymmetricBaseSystems(m) | =Electrical.MultiPhase.Functions.numberOfSymmetricBaseSystems(m)

function Electrical.MultiPhase.Functions.indexNonPositiveSequence

Component | Modelica 3.2.3 | Modelica 3.2.2
nBase | Present |
mBase | Present |
n |  | Present
mbas |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
if mBase == 1 then | if mbas == 1 then
ind = fill(0, 0);
elseif mBase == 2 then | elseif mbas == 2 then
for k in 1:nBase loop | for k in 1:n loop
ind[k] = 2 + 2*(k - 1); ... else
for k in 1:nBase loop | for k in 1:n loop
ind[(mBase - 1)*(k - 1) + 1:(mBase - 1)*k] = (2:mBase) + mBase*(k - 1)*ones(mBase - 1); | ind[(mbas - 1)*(k - 1) + 1:(mbas - 1)*k] = (2:mbas) + mbas*(k - 1)* ones(mbas - 1);
end for; ...

model Electrical.PowerConverters.Examples.ACDC.RectifierCenterTapmPulse.DiodeCenterTapmPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
sineVoltage_p | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.PowerConverters.Examples.ACDC.RectifierBridge2mPulse.DiodeBridge2mPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
sineVoltage | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.PowerConverters.Examples.ACDC.RectifierBridge2mPulse.ThyristorBridge2mPulse_DC_Drive

Component | Modelica 3.2.3 | Modelica 3.2.2
Vrms | =dcpmData.VaNominal/Modelica323.Electrical.MultiPhase.Functions.factorY2DC(m) | =dcpmData.VaNominal/Modelica.Electrical.MultiPhase.Functions.factorY2DC(m)

model Electrical.PowerConverters.Examples.ACDC.RectifierCenterTap2mPulse.DiodeCenterTap2mPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
sineVoltage_p | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)
sineVoltage_n | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.PowerConverters.Examples.ACDC.ExampleTemplates.ThyristorCenterTap2Pulse

Component | Modelica 3.2.3 | Modelica 3.2.2
model | partial |

model Electrical.PowerConverters.Examples.ACDC.ExampleTemplates.ThyristorCenterTapmPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
sineVoltage_p | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.PowerConverters.Examples.ACDC.ExampleTemplates.ThyristorBridge2mPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
sineVoltage | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.PowerConverters.Examples.ACDC.ExampleTemplates.ThyristorCenterTap2mPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
sineVoltage_p | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)
sineVoltage_n | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.PowerConverters.Examples.DCDC.ExampleTemplates.ChopperStepDown

Component | Modelica 3.2.3 | Modelica 3.2.2
constantVoltage | final V=Vsource |
| V=100
signalPWM | final constantDutyCycle=dutyCycle |
final f=f |
| constantDutyCycle=0.25
| f=f
Vsource | Present |
dutyCycle | Present |
V0 | Present |

block Electrical.PowerConverters.ACDC.Control.Signal2mPulse

Component | Modelica 3.2.3 | Modelica 3.2.2
limiter | final uMax=min(Modelica323.Constants.pi, firingAngleMax) | final uMax=max(Modelica322.Constants.pi, firingAngleMax)
filter | each final fCut=fCut | each final fCut=2*f

block Electrical.PowerConverters.DCDC.Control.VoltageToDutyCycle

Component | Modelica 3.2.3 | Modelica 3.2.2
vMax | =0 |
add | k1=0.5 |
k2=1 |
useConstantMaximumVoltage | Present |
divisionUnipolar | Present |
divisionBipolar | Present |
vMaxExt | Present |
vMaxConst | Present |
vMaxInt | Present |
gainUnipolar |  | Present
gainBipolar |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
connect(divisionBipolar.y, add.u1); | connect(v, gainUnipolar.u);
| connect(v, gainBipolar.u); connect(gainBipolar.y, add.u1);
connect(offset.y, add.u2);
connect(divisionUnipolar.y, dutyCycle); | connect(gainUnipolar.y, dutyCycle);
connect(add.y, dutyCycle);
connect(v, divisionUnipolar.u1); connect(v, divisionBipolar.u1); connect(vMaxExt, vMaxInt); connect(vMaxInt, divisionUnipolar.u2); connect(vMaxInt, vMaxConst.y); connect(vMaxInt, divisionBipolar.u2); |

model Electrical.PowerConverters.DCDC.HBridge

Component | Modelica 3.2.3 | Modelica 3.2.2
dc_p1 |  | Present
dc_n1 |  | Present
dc_n2 |  | Present
dc_p2 |  | Present

model Electrical.PowerConverters.Interfaces.ACDC.ACtwoPin

Component | Modelica 3.2.3 | Modelica 3.2.2
powerAC | Present |

model Electrical.PowerConverters.Interfaces.ACDC.ACplug

Component | Modelica 3.2.3 | Modelica 3.2.2
powerAC | Present |
powerTotalAC | Present |

model Electrical.PowerConverters.Interfaces.ACDC.ACtwoPlug

Component | Modelica 3.2.3 | Modelica 3.2.2
powerAC | Present |
powerTotalAC | Present |

model Electrical.PowerConverters.Interfaces.ACDC.DCtwoPin

Component | Modelica 3.2.3 | Modelica 3.2.2
powerDC | Present |

model Electrical.PowerConverters.Interfaces.ACDC.DCpin

Component | Modelica 3.2.3 | Modelica 3.2.2
powerDC | Present |

model Electrical.PowerConverters.Interfaces.DCAC.DCtwoPin

Component | Modelica 3.2.3 | Modelica 3.2.2
powerDC | Present |

model Electrical.PowerConverters.Interfaces.DCAC.ACpin

Component | Modelica 3.2.3 | Modelica 3.2.2
powerAC | Present |

model Electrical.PowerConverters.Interfaces.DCAC.ACplug

Component | Modelica 3.2.3 | Modelica 3.2.2
powerAC | Present |
powerTotalAC | Present |

model Electrical.PowerConverters.Interfaces.DCDC.DCtwoPin1

Component | Modelica 3.2.3 | Modelica 3.2.2
powerDC1 | Present |

model Electrical.PowerConverters.Interfaces.DCDC.DCtwoPin2

Component | Modelica 3.2.3 | Modelica 3.2.2
powerDC2 | Present |

model Electrical.QuasiStationary.SinglePhase.Basic.Impedance

Component | Modelica 3.2.3 | Modelica 3.2.2
frequencyDependent | Present |
f_ref | Present |
X_actual | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... R_actual = R_ref*(1 + alpha_ref*(T_heatPort - T_ref));
X_actual = X_ref*(if not frequencyDependent then 1 else (if X_ref >= 0 then omega/(2*Modelica323.Constants.pi*f_ref) else 2*Modelica323.Constants.pi* f_ref/omega)); | v = Complex(R_actual, X_ref)*i;
v = Complex(R_actual, X_actual) * i; |
LossPower = real(v*conj(i));

model Electrical.QuasiStationary.SinglePhase.Basic.Admittance

Component | Modelica 3.2.3 | Modelica 3.2.2
frequencyDependent | Present |
f_ref | Present |
B_actual | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... G_actual = G_ref/(1 + alpha_ref*(T_heatPort - T_ref));
B_actual = B_ref*(if not frequencyDependent then 1 else (if B_ref >= 0 then omega/(2*Modelica323.Constants.pi*f_ref) else 2*Modelica323.Constants.pi* f_ref/omega)); | i = Complex(G_actual, B_ref)*v;
i = Complex(G_actual, B_actual) * v; |
LossPower = real(v*conj(i));

model Electrical.QuasiStationary.SinglePhase.Basic.VariableImpedance

Component | Modelica 3.2.3 | Modelica 3.2.2
frequencyDependent | Present |
f_ref | Present |
X_actual | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... R_actual = R_ref*(1 + alpha_ref*(T_heatPort - T_ref));
X_actual = X_ref*(if not frequencyDependent then 1 else (if X_ref >= 0 then omega/(2*Modelica323.Constants.pi*f_ref) else 2*Modelica323.Constants.pi* f_ref/omega)); | v = Complex(R_actual, X_ref)*i;
v = Complex(R_actual, X_actual) * i; |
LossPower = real(v*conj(i));

model Electrical.QuasiStationary.SinglePhase.Basic.VariableAdmittance

Component | Modelica 3.2.3 | Modelica 3.2.2
frequencyDependent | Present |
f_ref | Present |
B_actual | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... G_actual = G_ref/(1 + alpha_ref*(T_heatPort - T_ref));
B_actual = B_ref*(if not frequencyDependent then 1 else (if B_ref >= 0 then omega/(2*Modelica323.Constants.pi*f_ref) else 2*Modelica323.Constants.pi* f_ref/omega)); | i = Complex(G_actual, B_ref)*v;
i = Complex(G_actual, B_actual) * v; |
LossPower = real(v*conj(i));

model Electrical.QuasiStationary.SinglePhase.Ideal.IdealCommutingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.QuasiStationary.SinglePhase.Ideal.IdealIntermediateSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | =1e-5 | =1.E-5
Goff | =1e-5 | =1.E-5

model Electrical.QuasiStationary.SinglePhase.Ideal.IdealOpeningSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron |  | graphical
=1e-5 | =1.E-5
Goff |  | graphical
=1e-5 | =1.E-5

model Electrical.QuasiStationary.SinglePhase.Ideal.IdealClosingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron |  | graphical
=1e-5 | =1.E-5
Goff |  | graphical
=1e-5 | =1.E-5

model Electrical.QuasiStationary.SinglePhase.Ideal.IdealTransformer

Component | Modelica 3.2.3 | Modelica 3.2.2
abs_v1 | Present |
arg_v1 | Present |
abs_i1 | Present |
arg_i1 | Present |
P1 | Present |
Q1 | Present |
S1 | Present |
pf1 | Present |
abs_v2 | Present |
arg_v2 | Present |
abs_i2 | Present |
arg_i2 | Present |
P2 | Present |
Q2 | Present |
S2 | Present |
pf2 | Present |

model Electrical.QuasiStationary.SinglePhase.Sensors.ReferenceSensor

Component | Modelica 3.2.3 | Modelica 3.2.2
y | unit="rad" |

model Electrical.QuasiStationary.SinglePhase.Sensors.FrequencySensor

Component | Modelica 3.2.3 | Modelica 3.2.2
y | unit="Hz" |

model Electrical.QuasiStationary.SinglePhase.Sources.VariableVoltageSource

Component | Modelica 3.2.3 | Modelica 3.2.2
f | unit="Hz" |

model Electrical.QuasiStationary.SinglePhase.Sources.VariableCurrentSource

Component | Modelica 3.2.3 | Modelica 3.2.2
f | unit="Hz" |

connector Electrical.QuasiStationary.SinglePhase.Interfaces.Pin

Component | Modelica 3.2.3 | Modelica 3.2.2
v | SIunits.ComplexElectricPotential | SIunits.ComplexVoltage

model Electrical.QuasiStationary.Machines.Examples.TransformerTestbench

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(load.plug_n, starL.plug_p);
| connect(source.plug_p, electricalPowerSensorS.currentP);
connect(electricalPowerSensorS.currentP, electricalPowerSensorS.voltageP); ... connect(symmetricalComponentsVL.y[1], polarVL.u);
connect(electricalPowerSensorS.currentP, source.plug_p); |

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

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... plug_p1.reference.gamma = plug_p3.reference.gamma;
| Connections.potentialRoot(plug_p1.reference); Connections.potentialRoot(plug_p2.reference); Connections.potentialRoot(plug_p3.reference);
plug_p1.pin.i + plug_n1.pin.i = fill(Complex(0), m); ...

model Electrical.QuasiStationary.MultiPhase.Basic.MultiStar

Component | Modelica 3.2.3 | Modelica 3.2.2
mSystems | =Modelica323.Electrical.MultiPhase.Functions.numberOfSymmetricBaseSystems(m) | =Modelica.Electrical.MultiPhase.Functions.numberOfSymmetricBaseSystems(m)

model Electrical.QuasiStationary.MultiPhase.Basic.MultiDelta

Component | Modelica 3.2.3 | Modelica 3.2.2
mSystems | =Modelica323.Electrical.MultiPhase.Functions.numberOfSymmetricBaseSystems(m) | =Modelica.Electrical.MultiPhase.Functions.numberOfSymmetricBaseSystems(m)

model Electrical.QuasiStationary.MultiPhase.Basic.Impedance

Component | Modelica 3.2.3 | Modelica 3.2.2
impedance | final frequencyDependent=fill(frequencyDependent, m) |
final f_ref=fill(f_ref, m) |
frequencyDependent | Present |
f_ref | Present |

model Electrical.QuasiStationary.MultiPhase.Basic.Admittance

Component | Modelica 3.2.3 | Modelica 3.2.2
admittance | final frequencyDependent=fill(frequencyDependent, m) |
final f_ref=fill(f_ref, m) |
frequencyDependent | Present |
f_ref | Present |

model Electrical.QuasiStationary.MultiPhase.Basic.VariableImpedance

Component | Modelica 3.2.3 | Modelica 3.2.2
variableImpedance | final frequencyDependent=fill(frequencyDependent, m) |
final f_ref=fill(f_ref, m) |
frequencyDependent | Present |
f_ref | Present |

model Electrical.QuasiStationary.MultiPhase.Basic.VariableAdmittance

Component | Modelica 3.2.3 | Modelica 3.2.2
variableImpedance | final frequencyDependent=fill(frequencyDependent, m) |
final f_ref=fill(f_ref, m) |
frequencyDependent | Present |
f_ref | Present |

model Electrical.QuasiStationary.MultiPhase.Ideal.IdealCommutingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.QuasiStationary.MultiPhase.Ideal.IdealIntermediateSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.QuasiStationary.MultiPhase.Ideal.IdealOpeningSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

model Electrical.QuasiStationary.MultiPhase.Ideal.IdealClosingSwitch

Component | Modelica 3.2.3 | Modelica 3.2.2
Ron | start=fill(1e-5, m) | start=fill(1.E-5, m)
Goff | start=fill(1e-5, m) | start=fill(1.E-5, m)

function Electrical.QuasiStationary.MultiPhase.Functions.quasiRMS

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
y :=sum({sqrt(u[k].re^2 + u[k].im^2) for k in 1:m})/m; | y := sum({'abs'(u[k]) for k in 1:m})/m;

block Electrical.QuasiStationary.MultiPhase.Blocks.QuasiRMS

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
y = Modelica323.Electrical.QuasiStationary.MultiPhase.Functions.quasiRMS(u); | y = Modelica.Electrical.QuasiStationary.MultiPhase.Functions.quasiRMS(u);

block Electrical.QuasiStationary.MultiPhase.Blocks.SymmetricalComponents

Component | Modelica 3.2.3 | Modelica 3.2.2
sTM | =Electrical.MultiPhase.Functions.symmetricTransformationMatrix(m) | =Modelica322.Electrical.MultiPhase.Functions.symmetricTransformationMatrix(m)
abs_u | Present |
arg_u | Present |
abs_y | Present |
arg_y | Present |

block Electrical.QuasiStationary.MultiPhase.Blocks.SingleToMultiPhase

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
y = u*Modelica323.ComplexMath.fromPolar(fill(1, m), - Electrical.MultiPhase.Functions.symmetricOrientation(m)); | y = u*Modelica322.ComplexMath.fromPolar(fill(1, m), - Modelica322.Electrical.MultiPhase.Functions.symmetricOrientation(m));

block Electrical.QuasiStationary.MultiPhase.Blocks.ToSpacePhasor

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | =Electrical.MultiPhase.Functions.symmetricOrientation(m) | =Modelica322.Electrical.MultiPhase.Functions.symmetricOrientation(m)

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
c.re = sqrt(2)/m*sum(u[k].re*cos(phi[k])-u[k].im*sin(phi[k]) for k in 1:m); | c = sqrt(2)/m*'sum'({u[k]*exp(j*phi[k]) for k in 1:m});
c.im = sqrt(2)/m*sum(u[k].re*sin(phi[k])+u[k].im*cos(phi[k]) for k in 1:m); |
y = {c.re,c.im};

block Electrical.QuasiStationary.MultiPhase.Blocks.FromSpacePhasor

Component | Modelica 3.2.3 | Modelica 3.2.2
phi | =Electrical.MultiPhase.Functions.symmetricOrientation(m) | =Modelica322.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Electrical.Spice3.Examples.CoupledInductors

Component | Modelica 3.2.3 | Modelica 3.2.2
C1 | C=1e-6 | C=1.e-6

model Electrical.Spice3.Basic.C_Capacitor

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
if UIC then |
vinternal = IC;
end if; |
...

function Electrical.Spice3.Additionals.poly

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... ia = 0;
if n == 1 and na == 1 then | if (na == 1) then
v = a[1] * s[1]; ...

record Electrical.Spice3.Internal.ModelcardMOS

Component | Modelica 3.2.3 | Modelica 3.2.2
IS | =1e-14 | =1.e-14

record Electrical.Spice3.Internal.ModelcardMOS2

Component | Modelica 3.2.3 | Modelica 3.2.2
UCRIT | =1e4 | =1.e4

record Electrical.Spice3.Internal.ModelcardJFET

Component | Modelica 3.2.3 | Modelica 3.2.2
IS | =1e-14 | =1.e-14

record Electrical.Spice3.Internal.ModelcardR

Component | Modelica 3.2.3 | Modelica 3.2.2
TC1 | SIunits.LinearTemperatureCoefficientResistance | SIunits.Conversions.NonSIunits.FirstOrderTemperaturCoefficient
TC2 | SIunits.QuadraticTemperatureCoefficientResistance | SIunits.Conversions.NonSIunits.SecondOrderTemperaturCoefficient

record Electrical.Spice3.Internal.SpiceConstants

Component | Modelica 3.2.3 | Modelica 3.2.2
CONSTvt0 | final unit="(J)/(A.s)" | final unit="(J/K)/(A.s)"

function Electrical.Spice3.Internal.Functions.junctionPotDepTemp

Component | Modelica 3.2.3 | Modelica 3.2.2
phibtemp | SIunits.GapEnergy | SIunits.Voltage
phibtnom | SIunits.GapEnergy | SIunits.Voltage
unitGapEnergy | Present |
unitVoltage | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... vt = Spice3.Internal.SpiceConstants.CONSTKoverQ* temp;
ret = (phi0 - phibtnom*(unitVoltage/unitGapEnergy))*temp/tnom + phibtemp*( unitVoltage/unitGapEnergy) + vt*3*Modelica323.Math.log(tnom/temp); | ret = (phi0 - phibtnom)*temp/tnom + phibtemp + vt*3*Modelica322.Math.log(tnom/ temp);

function Electrical.Spice3.Internal.Functions.saturationCurDepTempSPICE3MOSFET

Component | Modelica 3.2.3 | Modelica 3.2.2
energygaptnom | SIunits.GapEnergy | SIunits.Voltage
energygaptemp | SIunits.GapEnergy | SIunits.Voltage
unitGapEnergy | Present |
unitVoltage | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... energygaptemp = Modelica323.Electrical.Spice3.Internal.Functions.energyGapDepTemp(temp);
ret = satcur0 * exp( energygaptnom*(unitVoltage/unitGapEnergy) / vtnom - energygaptemp*(unitVoltage/unitGapEnergy) / vt); | ret = satcur0 * exp( energygaptnom / vtnom - energygaptemp / vt);

function Electrical.Spice3.Internal.Functions.junctionParamDepTempSPICE3

Component | Modelica 3.2.3 | Modelica 3.2.2
phibtemp | SIunits.GapEnergy | SIunits.Voltage
phibtnom | SIunits.GapEnergy | SIunits.Voltage

function Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFETRevised

Component | Modelica 3.2.3 | Modelica 3.2.2
max_current | =1e4 | =1.e4

function Electrical.Spice3.Internal.Functions.junction2SPICE3MOSFET

Component | Modelica 3.2.3 | Modelica 3.2.2
max_current | =1e4 | =1.e4

function Electrical.Spice3.Internal.Functions.energyGapDepTemp

Component | Modelica 3.2.3 | Modelica 3.2.2
ret | SIunits.GapEnergy | SIunits.Voltage

function Electrical.Spice3.Internal.Mos2.drainCurRevised

Component | Modelica 3.2.3 | Modelica 3.2.2
dbsrdb | =0.0 |
x4 | =fill(0.0, 8) |

function Electrical.Spice3.Internal.Mos2.drainCur

Component | Modelica 3.2.3 | Modelica 3.2.2
dbsrdb | =0.0 |
x4 | =fill(0.0, 8) |

record Electrical.Spice3.Internal.Rsemiconductor.ResistorModelLineParams

Component | Modelica 3.2.3 | Modelica 3.2.2
m_dTC1 | SIunits.LinearTemperatureCoefficientResistance | SIunits.Conversions.NonSIunits.FirstOrderTemperaturCoefficient
m_dTC2 | SIunits.QuadraticTemperatureCoefficientResistance | SIunits.Conversions.NonSIunits.SecondOrderTemperaturCoefficient

model Magnetic.FluxTubes.Examples.MovingCoilActuator.Components.ConstantActuator

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(electroTranslationalConverter.flange, armature.flange_a);
connect(p, p); |

model Magnetic.FluxTubes.Examples.Hysteresis.HysteresisModelComparison

Component | Modelica 3.2.3 | Modelica 3.2.2
winding1 | Present |
resistor1 | Present |
vSource1 | Present |
winding2 | Present |
tellinenTable | Present |
resistor2 | Present |
vSource2 | Present |
winding3 | Present |
preisachEverett | Present |
resistor3 | Present |
vSource3 | Present |
tellinenSoft | Present |
W1 |  | Present
R1 |  | Present
V1 |  | Present
W2 |  | Present
TellinenTable |  | Present
R2 |  | Present
V2 |  | Present
W3 |  | Present
PreisachEverett |  | Present
R3 |  | Present
V3 |  | Present
TellinenSoft |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
connect(winding1.port_n, magGnd1.port); | connect(W1.port_n, magGnd1.port);
connect(resistor1.n, winding1.p); | connect(R1.n, W1.p);
connect(winding1.n, elGnd1.p); | connect(W1.n, elGnd1.p);
connect(vSource1.p, resistor1.p); | connect(V1.p, R1.p);
connect(elGnd1.p, vSource1.n); | connect(elGnd1.p, V1.n);
connect(winding2.port_n, magGnd2.port); | connect(W2.port_n, magGnd2.port);
connect(winding2.port_p, tellinenTable.port_p); | connect(W2.port_p, TellinenTable.port_p);
connect(resistor2.n, winding2.p); | connect(R2.n, W2.p);
connect(winding2.n, elGnd2.p); | connect(W2.n, elGnd2.p);
connect(vSource2.p, resistor2.p); | connect(V2.p, R2.p);
connect(elGnd2.p, vSource2.n); | connect(elGnd2.p, V2.n);
connect(tellinenTable.port_n, magGnd2.port); | connect(TellinenTable.port_n, magGnd2.port);
connect(vSource2.v, vSource1.v); | connect(V2.v, V1.v);
connect(winding3.port_n, magGnd3.port); | connect(W3.port_n, magGnd3.port);
connect(winding3.port_p, preisachEverett.port_p); | connect(W3.port_p, PreisachEverett.port_p);
connect(resistor3.n, winding3.p); | connect(R3.n, W3.p);
connect(winding3.n, elGnd3.p); | connect(W3.n, elGnd3.p);
connect(vSource3.p, resistor3.p); | connect(V3.p, R3.p);
connect(elGnd3.p, vSource3.n); | connect(elGnd3.p, V3.n);
connect(preisachEverett.port_n, magGnd3.port); | connect(PreisachEverett.port_n, magGnd3.port);
connect(vSource3.v, vSource1.v); | connect(V3.v, V1.v);
connect(timeTable.y, gain.u);
connect(gain.y, vSource1.v); | connect(gain.y, V1.v);
connect(winding1.port_p, tellinenSoft.port_p); | connect(W1.port_p, TellinenSoft.port_p);
connect(magGnd1.port,tellinenSoft. port_n); | connect(magGnd1.port, TellinenSoft.port_n);

model Magnetic.FluxTubes.Examples.Hysteresis.InductorWithHysteresis

Component | Modelica 3.2.3 | Modelica 3.2.2
winding | Present |
resistor | Present |
vSource | Present |
core | Present |
Winding |  | Present
R |  | Present
SineVoltage |  | Present
Core |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
connect(winding.port_n, mag_ground.port); | connect(Winding.port_n, mag_ground.port);
connect(vSource.p, resistor.p); | connect(SineVoltage.p, R.p);
connect(vSource.n, el_ground.p); | connect(SineVoltage.n, el_ground.p);
connect(winding.n, el_ground.p); | connect(Winding.n, el_ground.p);
connect(resistor.n, winding.p); | connect(R.n, Winding.p);
connect(winding.port_p,core. port_p); | connect(Winding.port_p, Core.port_p);
connect(mag_ground.port,core. port_n); | connect(mag_ground.port, Core.port_n);

model Magnetic.FluxTubes.Examples.Hysteresis.SinglePhaseTransformerWithHysteresis1

Component | Modelica 3.2.3 | Modelica 3.2.2
winding1 | Present |
resistor1 | Present |
vSource | Present |
winding2 | Present |
resistor2 | Present |
core | Present |
WindingPrim |  | Present
Rprim |  | Present
SineVoltage |  | Present
WindingSec |  | Present
Rsec |  | Present
Core |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation | connect(WindingPrim.port_n, mag_ground.port);
core.derHstat = 0.0; | connect(SineVoltage.p, Rprim.p);
| connect(SineVoltage.n, el_ground1.p);
equation connect(winding1.port_n, mag_ground.port); | connect(WindingPrim.n, el_ground1.p);
connect(vSource.p, resistor1.p); | connect(Rprim.n, WindingPrim.p);
connect(vSource.n, el_ground1.p); | connect(WindingSec.port_n, mag_ground.port);
connect(winding1.n, el_ground1.p); | connect(WindingSec.p, Rsec.p);
connect(resistor1.n, winding1.p); | connect(WindingSec.n, el_ground2.p);
connect(winding2.port_n, mag_ground.port); | connect(Rsec.n, el_ground2.p);
connect(winding2.p, resistor2.p); | connect(WindingPrim.port_p, Core.port_p);
connect(winding2.n, el_ground2.p); | connect(Core.port_n, WindingSec.port_p);
connect(resistor2.n, el_ground2.p); connect(winding1.port_p, core.port_p); connect(core.port_n, winding2.port_p); |

model Magnetic.FluxTubes.Examples.Hysteresis.SinglePhaseTransformerWithHysteresis2

Component | Modelica 3.2.3 | Modelica 3.2.2
resistor1 | Present |
resistor2 | Present |
transformer | Present |
Rprim |  | Present
Rsec |  | Present
tr |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation | connect(SineVoltage.p, Rprim.p);
transformer.core.derHstat = 0.0; equation connect(SineVoltage.p, resistor1.p); |
connect(SineVoltage.n, el_ground1.p);
connect(resistor2.n, el_ground2.p); | connect(Rsec.n, el_ground2.p);
connect(resistor1.n, transformer.p1); | connect(Rprim.n, tr.p_A);
connect(transformer.n1, el_ground1.p); | connect(tr.p_N, el_ground1.p);
connect(transformer.p2, resistor2.p); | connect(tr.p_a, Rsec.p);
connect(transformer.n2, el_ground2.p); | connect(tr.p_n, el_ground2.p);

model Magnetic.FluxTubes.Examples.Hysteresis.ThreePhaseTransformerWithRectifier

Component | Modelica 3.2.3 | Modelica 3.2.2
rExp1 | y=transformer.LossPowerStat | y=TR3PhaseYy.LossPowerStat
rExp2 | y=transformer.LossPowerEddy | y=TR3PhaseYy.LossPowerEddy
rExp3 | y=transformer.LossPowerWinding | y=TR3PhaseYy.LossPowerWinding
ground1 | Present |
ground2 | Present |
vSource1 | Present |
transformer | Present |
vSource2 | Present |
vSource3 | Present |
resistor1 | Present |
resistor2 | Present |
resistor3 | Present |
diode1 | Present |
diode2 | Present |
resistorL | Present |
diode3 | Present |
diode4 | Present |
diode5 | Present |
diode6 | Present |
inductor3 | Present |
pdissStatAvg | Present |
pdissEddyAvg | Present |
pdissCopAvg | Present |
G1 |  | Present
G2 |  | Present
VA |  | Present
TR3PhaseYy |  | Present
VB |  | Present
VC |  | Present
RA |  | Present
RB |  | Present
RC |  | Present
D1 |  | Present
D2 |  | Present
RL |  | Present
D3 |  | Present
D4 |  | Present
D5 |  | Present
D6 |  | Present
inductor |  | Present
PdissStatAvg |  | Present
PdissEddyAvg |  | Present
PdissCopAvg |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation | connect(VA.n, G1.p);
transformer.core1.derHstat = 0.0; | connect(VB.n, G1.p);
transformer.core2.derHstat = 0.0; | connect(VC.n, G1.p);
transformer.core3.derHstat = 0.0; | connect(RA.n, TR3PhaseYy.p_A);
| connect(RA.p, VA.p);
equation connect(vSource1.n, ground1.p); | connect(RB.n, TR3PhaseYy.p_B);
connect(vSource2.n, ground1.p); | connect(RB.p, VB.p);
connect(vSource3.n, ground1.p); | connect(VC.p, RC.p);
connect(resistor1.n, transformer.p1); | connect(RC.n, TR3PhaseYy.p_C);
connect(resistor1.p, vSource1.p); | connect(D2.n, D1.p);
connect(resistor2.n, transformer.p2); | connect(D4.n, D3.p);
connect(resistor2.p, vSource2.p); | connect(D6.n, D5.p);
connect(vSource3.p, resistor3.p); | connect(D2.p, D4.p);
connect(resistor3.n, transformer.p3); | connect(D4.p, D6.p);
connect(diode2.n, diode1.p); | connect(D1.n, D3.n);
connect(diode4.n, diode3.p); | connect(D3.n, D5.n);
connect(diode6.n, diode5.p); | connect(D5.n, capacitor1.p);
connect(diode2.p, diode4.p); | connect(RL.p, capacitor1.p);
connect(diode4.p, diode6.p); | connect(TR3PhaseYy.p_a, inductor.p);
connect(diode1.n, diode3.n); | connect(TR3PhaseYy.p_b, inductor1.p);
connect(diode3.n, diode5.n); | connect(inductor1.n, D3.p);
connect(diode5.n, capacitor1.p); | connect(inductor2.p, TR3PhaseYy.p_c);
connect(resistorL.p, capacitor1.p); | connect(inductor2.n, D6.n);
connect(transformer.n1, inductor1.p); | connect(capacitor2.n, D6.p);
connect(transformer.n2, inductor2.p); connect(inductor2.n, diode3.p); connect(inductor3.p, transformer.n3); connect(inductor3.n, diode6.n); connect(capacitor2.n, diode6.p); |
connect(capacitor2.p, capacitor1.n);
connect(inductor1.n, diode1.p); | connect(inductor.n, D1.p);
connect(resistorL.n, capacitor2.n); | connect(RL.n, capacitor2.n);
connect(transformer.starPoint1, ground1.p); | connect(TR3PhaseYy.pN, G1.p);
connect(transformer.starPoint2, ground2.p); | connect(TR3PhaseYy.pn, G2.p);
connect(ground2.p, capacitor2.p); | connect(G2.p, capacitor2.p);
connect(rExp3.y,pdissCopAvg. u); | connect(rExp3.y, PdissCopAvg.u);
connect(rExp2.y,pdissEddyAvg. u); | connect(rExp2.y, PdissEddyAvg.u);
connect(rExp1.y,pdissStatAvg. u); | connect(rExp1.y, PdissStatAvg.u);

model Magnetic.FluxTubes.Examples.Hysteresis.Components.Transformer1PhaseWithHysteresis

Component | Modelica 3.2.3 | Modelica 3.2.2
n1 | Present |
p1 | Present |
n2 | Present |
p2 | Present |
tempSource | Present |
N1 | Present |
L1 | Present |
d1 | Present |
rho1 | Present |
alpha1 | Present |
N2 | Present |
L2 | Present |
d2 | Present |
rho2 | Present |
alpha2 | Present |
v1 | Present |
v2 | Present |
R1 | Present |
R2 | Present |
i1 | Present |
i2 | Present |
I1Start | Present |
I1Fixed | Present |
L_l1 | Present |
A_l1 | Present |
mu_rel1 | Present |
L_l2 | Present |
A_l2 | Present |
mu_rel2 | Present |
winding1 | Present |
winding2 | Present |
resistor1 | Present |
resistor2 | Present |
core | Present |
p_N |  | Present
p_A |  | Present
p_n |  | Present
p_a |  | Present
Temp |  | Present
N_p |  | Present
l_p |  | Present
d_p |  | Present
rho_p |  | Present
alpha_p |  | Present
N_s |  | Present
l_s |  | Present
d_s |  | Present
rho_s |  | Present
alpha_s |  | Present
v_p |  | Present
v_s |  | Present
R_p |  | Present
R_s |  | Present
i_p |  | Present
i_s |  | Present
IpStart |  | Present
IpFixed |  | Present
L_lp |  | Present
A_lp |  | Present
mu_relp |  | Present
L_ls |  | Present
A_ls |  | Present
mu_rels |  | Present
Wp |  | Present
Ws |  | Present
Rp |  | Present
Rs |  | Present
Core |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
v1 =p1.v - n1.v; | v_p = p_A.v-p_N.v;
i1 =resistor1.i; | i_p = Rp.i;
R1 =resistor1.R_actual; | R_p = Rp.R_actual;
v2 =p2.v - n2.v; | v_s = p_a.v-p_n.v;
i2 =resistor2.i; | i_s = Rs.i;
R2 =resistor2.R_actual; | R_s = Rs.R_actual;
B =core.B; | B = Core.B;
Hstat =core.Hstat; | Hstat = Core.Hstat;
Heddy =core.Heddy; | Heddy = Core.Heddy;
H =core.H; | H = Core.H;
tempSource.T = if useHeatPort then T_heatPort else T; | Temp.T = if useHeatPort then T_heatPort else T;
LossPowerWinding =resistor1.LossPower + resistor2.LossPower; | LossPowerWinding = Rp.LossPower + Rs.LossPower;
LossPowerStat =core.LossPowerStat; | LossPowerStat = Core.LossPowerStat;
LossPowerEddy =core.LossPowerEddy; | LossPowerEddy = Core.LossPowerEddy;
LossPower = LossPowerWinding + LossPowerEddy + LossPowerStat;
connect(winding1.port_n, ground.port); | connect(Wp.port_n, ground.port);
connect(resistor1.n, winding1.p); | connect(Rp.n, Wp.p);
connect(resistor1.p, p1); | connect(Rp.p, p_A);
connect(resistor2.n, p2); | connect(Rs.n, p_a);
connect(winding1.n, n1); | connect(Wp.n, p_N);
connect(tempSource.port, resistor1.heatPort); | connect(Temp.port, Rp.heatPort);
connect(resistor2.heatPort, tempSource.port); | connect(Rs.heatPort, Temp.port);
connect(winding2.port_n, ground.port); | connect(Ws.port_n, ground.port);
connect(winding2.n, resistor2.p); | connect(Ws.n, Rs.p);
connect(n2, winding2.p); | connect(p_n, Ws.p);
connect(core.port_p, winding1.port_p); | connect(Core.port_p, Wp.port_p);
connect(core.port_n, winding2.port_p); | connect(Core.port_n, Ws.port_p);

model Magnetic.FluxTubes.Examples.Hysteresis.Components.Transformer3PhaseYyWithHysteresis

Component | Modelica 3.2.3 | Modelica 3.2.2
ground |  | protected
N1 | Present |
L1 | Present |
d1 | Present |
rho1 | Present |
alpha1 | Present |
N2 | Present |
L2 | Present |
d2 | Present |
rho2 | Present |
alpha2 | Present |
v1 | Present |
v2 | Present |
R1 | Present |
R2 | Present |
i1 | Present |
i2 | Present |
I1Start | Present |
I1Fixed | Present |
I2Start | Present |
I2Fixed | Present |
L_l1 | Present |
A_l1 | Present |
mu_rel1 | Present |
L_l2 | Present |
A_l2 | Present |
mu_rel2 | Present |
core1 | Present |
core2 | Present |
core3 | Present |
winding11 | Present |
winding12 | Present |
winding13 | Present |
winding21 | Present |
winding22 | Present |
winding23 | Present |
resistor11 | Present |
resistor21 | Present |
resistor12 | Present |
resistor22 | Present |
resistor23 | Present |
resistor13 | Present |
leakage | Present |
p1 | Present |
p2 | Present |
p3 | Present |
n1 | Present |
n2 | Present |
n3 | Present |
starPoint2 | Present |
starPoint1 | Present |
N_p |  | Present
l_p |  | Present
d_p |  | Present
rho_p |  | Present
alpha_p |  | Present
N_s |  | Present
l_s |  | Present
d_s |  | Present
rho_s |  | Present
alpha_s |  | Present
v_p |  | Present
v_s |  | Present
R_p |  | Present
R_s |  | Present
i_p |  | Present
i_s |  | Present
IprimStart |  | Present
IprimFixed |  | Present
IsecStart |  | Present
IsecFixed |  | Present
L_lp |  | Present
A_lp |  | Present
mu_relp |  | Present
L_ls |  | Present
A_ls |  | Present
mu_rels |  | Present
CoreA |  | Present
CoreB |  | Present
CoreC |  | Present
WA |  | Present
WB |  | Present
WC |  | Present
Wa |  | Present
Wb |  | Present
Wc |  | Present
RA |  | Present
Ra |  | Present
RB |  | Present
Rb |  | Present
Rc |  | Present
RC |  | Present
Leakage |  | Present
p_A |  | Present
p_B |  | Present
p_C |  | Present
p_a |  | Present
p_b |  | Present
p_c |  | Present
pn |  | Present
pN |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
v1[1] =resistor11.p.v - winding11.n.v; | v_p[1] = RA.p.v-WA.n.v;
v1[2] =resistor12.p.v - winding12.n.v; | v_p[2] = RB.p.v-WB.n.v;
v1[3] =resistor13.p.v - winding13.n.v; | v_p[3] = RC.p.v-WC.n.v;
i1[1] =resistor11.i; | i_p[1] = RA.i;
i1[2] =resistor12.i; | i_p[2] = RB.i;
i1[3] =resistor13.i; | i_p[3] = RC.i;
R1[1] =resistor11.R_actual; | R_p[1] = RA.R_actual;
R1[2] =resistor12.R_actual; | R_p[2] = RB.R_actual;
R1[3] =resistor13.R_actual; | R_p[3] = RC.R_actual;
v2[1] =resistor21.n.v - winding21.n.v; | v_s[1] = Ra.n.v-Wa.n.v;
v2[2] =resistor21.n.v - winding21.n.v; | v_s[2] = Ra.n.v-Wa.n.v;
v2[3] =resistor21.n.v - winding21.n.v; | v_s[3] = Ra.n.v-Wa.n.v;
i2[1] =resistor21.i; | i_s[1] = Ra.i;
i2[2] =resistor22.i; | i_s[2] = Rb.i;
i2[3] =resistor23.i; | i_s[3] = Rc.i;
R2[1] =resistor21.R_actual; | R_s[1] = Ra.R_actual;
R2[2] =resistor22.R_actual; | R_s[2] = Rb.R_actual;
R2[3] =resistor23.R_actual; | R_s[3] = Rc.R_actual;
B[1] =core1.B; | B[1] = CoreA.B;
B[2] =core2.B; | B[2] = CoreB.B;
B[3] =core3.B; | B[3] = CoreC.B;
Phi[1] =core1.Phi; | Phi[1] = CoreA.Phi;
Phi[2] =core2.Phi; | Phi[2] = CoreB.Phi;
Phi[3] =core3.Phi; | Phi[3] = CoreC.Phi;
Hstat[1] =core1.Hstat; | Hstat[1] = CoreA.Hstat;
Hstat[2] =core2.Hstat; | Hstat[2] = CoreB.Hstat;
Hstat[3] =core3.Hstat; | Hstat[3] = CoreC.Hstat;
Heddy[1] =core1.Heddy; | Heddy[1] = CoreA.Heddy;
Heddy[2] =core2.Heddy; | Heddy[2] = CoreB.Heddy;
Heddy[3] =core3.Heddy; | Heddy[3] = CoreC.Heddy;
H[1] =core1.H; | H[1] = CoreA.H;
H[2] =core2.H; | H[2] = CoreB.H;
H[3] =core3.H; | H[3] = CoreC.H;
Temp.T = if useHeatPort then T_heatPort else T;
LossPowerWinding =resistor11.LossPower + resistor12.LossPower + resistor13.LossPower + resistor21.LossPower + resistor22.LossPower + resistor23.LossPower; | LossPowerWinding = RA.LossPower + RB.LossPower + RC.LossPower + Ra.LossPower + Rb.LossPower + Rc.LossPower;
LossPowerStat =core1.LossPowerStat +core2.LossPowerStat +core3.LossPowerStat; | LossPowerStat = CoreA.LossPowerStat + CoreB.LossPowerStat + CoreC.LossPowerStat;
LossPowerEddy =core1.LossPowerEddy +core2.LossPowerEddy +core3.LossPowerEddy; | LossPowerEddy = CoreA.LossPowerEddy + CoreB.LossPowerEddy + CoreC.LossPowerEddy;
LossPower = LossPowerWinding + LossPowerEddy + LossPowerStat;
connect(winding11.port_n, winding21.port_p); | connect(WA.port_n, Wa.port_p);
connect(winding11.p, resistor11.n); | connect(WA.p, RA.n);
connect(resistor11.p, p1); | connect(RA.p, p_A);
connect(winding12.p, resistor12.n); | connect(WB.p, RB.n);
connect(winding13.p, resistor13.n); | connect(WC.p, RC.n);
connect(winding12.port_p, core2.port_n); | connect(WB.port_p, CoreB.port_n);
connect(winding12.port_n, winding22.port_p); | connect(WB.port_n, Wb.port_p);
connect(winding21.port_n, ground.port); | connect(Wa.port_n, ground.port);
connect(ground.port, winding22.port_n); | connect(ground.port, Wb.port_n);
connect(winding23.port_n, ground.port); | connect(Wc.port_n, ground.port);
connect(winding23.port_p, winding13.port_n); | connect(Wc.port_p, WC.port_n);
connect(winding13.port_p, core3.port_n); | connect(WC.port_p, CoreC.port_n);
connect(p2, resistor12.p); | connect(p_B, RB.p);
connect(p3, resistor13.p); | connect(p_C, RC.p);
connect(Temp.port, resistor11.heatPort); | connect(Temp.port, RA.heatPort);
connect(resistor12.heatPort, Temp.port); | connect(RB.heatPort, Temp.port);
connect(resistor13.heatPort, Temp.port); | connect(RC.heatPort, Temp.port);
connect(resistor23.heatPort, Temp.port); | connect(Rc.heatPort, Temp.port);
connect(resistor22.heatPort, Temp.port); | connect(Rb.heatPort, Temp.port);
connect(resistor21.heatPort, Temp.port); | connect(Ra.heatPort, Temp.port);
connect(resistor21.p, winding21.p); | connect(Ra.p, Wa.p);
connect(resistor22.p, winding22.p); | connect(Rb.p, Wb.p);
connect(resistor23.p, winding23.p); | connect(Rc.p, Wc.p);
connect(resistor21.n, n1); | connect(Ra.n, p_a);
connect(resistor22.n, n2); | connect(Rb.n, p_b);
connect(resistor23.n, n3); | connect(Rc.n, p_c);
connect(leakage.port_n, ground.port); | connect(Leakage.port_n, ground.port);
connect(winding11.port_p, core1.port_n); | connect(WA.port_p, CoreA.port_n);
connect(core1.port_p,core2. port_p); | connect(CoreA.port_p, CoreB.port_p);
connect(core3.port_p,core1. port_p); | connect(CoreC.port_p, CoreA.port_p);
connect(leakage.port_p,core3. port_p); | connect(Leakage.port_p, CoreC.port_p);
connect(winding11.n, starPoint1); | connect(WA.n, pN);
connect(starPoint1, winding13.n); | connect(pN, WC.n);
connect(starPoint1, winding12.n); | connect(pN, WB.n);
connect(winding21.n, starPoint2); | connect(Wa.n, pn);
connect(starPoint2, winding22.n); | connect(pn, Wb.n);
connect(winding23.n, starPoint2); | connect(Wc.n, pn);

model Magnetic.FluxTubes.Basic.ElectroMagneticConverter

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Phi = port_p.Phi;
V_m = i*N "Ampere's law"; | V_m = i*N;
N*der(Phi) = -v "Faraday's law"; | N*der(Phi) = -v;
Psi = N*Phi; ...

model Magnetic.FluxTubes.Shapes.HysteresisAndMagnets.GenericHystPreisachEverett

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
...
equation init2 = time >= 1.5*t1; | equation init2 = time > 1.5*t1;
init3 = edge(init2); ... del = delAsc or delDesc or evInit;
init = (abs(alpha) >= pre(hmax)) and time>=2*t1; | init = (abs(alpha) >= pre(hmax)) and time>2*t1;
evInit = init and not pre(init); ...

model Magnetic.FluxTubes.Interfaces.ConditionalHeatPort

Component | Modelica 3.2.3 | Modelica 3.2.2
heatPort | final T=T_heatPort |
final Q_flow=-LossPower |
| T(start=T) = T_heatPort
| Q_flow=-LossPower

model Magnetic.FluxTubes.Interfaces.PartialGenericHysteresis

Component | Modelica 3.2.3 | Modelica 3.2.2
derHstat |  | fixed=true

model Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_DOL

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =aimcData.fsNominal | =50
aimcM | effectiveStatorTurns=aimcData.effectiveStatorTurns |

model Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_DOL_MultiPhase

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =aimcData.fsNominal | =50
aimcM | effectiveStatorTurns=aimcData.effectiveStatorTurns |
aimc3 | effectiveStatorTurns=aimcData.effectiveStatorTurns |

model Magnetic.FundamentalWave.Examples.BasicMachines.AIMS_Start

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =aimsData.fsNominal | =50
aimsM | effectiveStatorTurns=aimsData.effectiveStatorTurns |

model Magnetic.FundamentalWave.Examples.BasicMachines.AIMS_Start_MultiPhase

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =aimsData.fsNominal | =50
w_Load | =Modelica323.SIunits.Conversions.from_rpm(1440.45) | =Modelica.SIunits.Conversions.from_rpm(1440.45)
aimsM | effectiveStatorTurns=aimsData.effectiveStatorTurns |
aims3 | effectiveStatorTurns=aimsData.effectiveStatorTurns |
sineVoltageM | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)
sineVoltage3 | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m3) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m3)

model Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_Inverter

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smpmData.fsNominal | =50
smpmM | ir(each fixed=true) |
effectiveStatorTurns=smpmData.effectiveStatorTurns |
| ir(fixed=true)
smpmE | ir(each fixed=true) |
| ir(fixed=true)
thetaM | Present |
thetaE | Present |

model Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_Inverter_MultiPhase

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smpmData.fsNominal | =50
vfController3 | BasePhase=+Modelica323.Constants.pi/2 | BasePhase=+Modelica.Constants.pi/2
orientation=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m3) | orientation=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m3)
smpmM | ir(each fixed=true) |
effectiveStatorTurns=smpmData.effectiveStatorTurns |
| ir(fixed=true)
smpm3 | ir(each fixed=true) |
effectiveStatorTurns=smpmData.effectiveStatorTurns |
| ir(fixed=true)
vfController | BasePhase=+Modelica323.Constants.pi/2 | BasePhase=+Modelica.Constants.pi/2
orientation=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | orientation=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_Generator_MultiPhase

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smeeData.fsNominal | =50
w | =Modelica323.SIunits.Conversions.from_rpm(1499) | =Modelica.SIunits.Conversions.from_rpm(1499)
Lssigma | =0.1/(2*Modelica323.Constants.pi*fsNominal) | =0.1/(2*Modelica.Constants.pi*fsNominal)
Lmd | =1.5/(2*Modelica323.Constants.pi*fsNominal) | =1.5/(2*Modelica.Constants.pi*fsNominal)
Lmq | =1.5/(2*Modelica323.Constants.pi*fsNominal) | =1.5/(2*Modelica.Constants.pi*fsNominal)
Lrsigmad | =0.05/(2*Modelica323.Constants.pi*fsNominal) | =0.05/(2*Modelica.Constants.pi*fsNominal)
sineVoltage3 | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m3) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m3)
smeeM | phiMechanical(start=-(Modelica323.Constants.pi + gamma0)/p, fixed=true) | phiMechanical(start=-(Modelica.Constants.pi + gamma0)/p, fixed=true)
sigmae=smeeData.sigmae*m/3 | sigmae=smeeData.sigmae
ir(each fixed=true) |
effectiveStatorTurns=smeeData.effectiveStatorTurns |
| ir(fixed=true)
smee3 | phiMechanical(start=-(Modelica323.Constants.pi + gamma0)/p, fixed=true) | phiMechanical(start=-(Modelica.Constants.pi + gamma0)/p, fixed=true)
ir(each fixed=true) |
effectiveStatorTurns=smeeData.effectiveStatorTurns |
| ir(fixed=true)
smeeData | alpha20s(displayUnit="1/K") = Modelica323.Electrical.Machines.Thermal.Constants.alpha20Zero | alpha20s(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero
alpha20r(displayUnit="1/K") = Modelica323.Electrical.Machines.Thermal.Constants.alpha20Zero | alpha20r(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero
alpha20e(displayUnit="1/K") = Modelica323.Electrical.Machines.Thermal.Constants.alpha20Zero | alpha20e(displayUnit="1/K") = Modelica.Electrical.Machines.Thermal.Constants.alpha20Zero
sineVoltageM | phase=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | phase=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_Generator

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smeeData.fsNominal | =50
smeeM | effectiveStatorTurns=smeeData.effectiveStatorTurns |
thetaM | Present |
thetaE | Present |

model Magnetic.FundamentalWave.Examples.BasicMachines.SMR_Inverter

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smrData.fsNominal | =50
smrM | ir(each fixed=true) |
effectiveStatorTurns=smrData.effectiveStatorTurns |
| ir(fixed=true)
smrE | ir(each fixed=true) |
| ir(fixed=true)
thetaM | Present |
thetaE | Present |

model Magnetic.FundamentalWave.Examples.BasicMachines.SMR_Inverter_MultiPhase

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smrData.fsNominal | =50
smrM | ir(each fixed=true) |
effectiveStatorTurns=smrData.effectiveStatorTurns |
| ir(fixed=true)
smr3 | ir(each fixed=true) |
effectiveStatorTurns=smrData.effectiveStatorTurns |
| ir(fixed=true)
vfController3 | BasePhase=+Modelica323.Constants.pi/2 | BasePhase=+Modelica.Constants.pi/2
orientation=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m3) | orientation=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m3)
vfControllerM | BasePhase=+Modelica323.Constants.pi/2 | BasePhase=+Modelica.Constants.pi/2
orientation=-Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | orientation=-Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)

model Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines.SM_PermanentMagnet

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |
groundR |  | Present

model Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines.SM_ElectricalExcited

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |
irRMS | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
connect(ir, rotorCage.i);
connect(irRMS, rotorCage.iRMS); |
connect(damperCageLossPower, rotorCage.lossPower); ...

model Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines.SM_ReluctanceRotor

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |
groundR |  | Present

model Magnetic.FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseWinding

Component | Modelica 3.2.3 | Modelica 3.2.2
nBase | Present |
mBase | Present |
short | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(resistor.plug_n, zeroInductor.plug_p);
| connect(zeroInductor.plug_n, electroMagneticConverter.plug_p);
connect(electroMagneticConverter.plug_n, plug_n); ... connect(strayReluctance.port_p, electroMagneticConverter.port_p);
connect(zeroInductor.plug_n, electroMagneticConverter.plug_p); connect(resistor.plug_n, short.plug_p); connect(electroMagneticConverter.plug_p, short.plug_n); |

model Magnetic.FundamentalWave.BasicMachines.Components.RotorSaliencyAirGap

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
port_sp.Phi = Phi_ss "Stator flux into positive stator port"; | port_sp.Phi = Phi_ss;
port_sp.Phi + port_sn.Phi = Complex(0, 0) "Balance of stator flux"; | port_sp.Phi + port_sn.Phi = Complex(0, 0);
port_rp.Phi = Phi_rr "Rotor flux into positive rotor port"; | port_rp.Phi = Phi_rr;
port_rp.Phi + port_rn.Phi = Complex(0, 0) "Balance of rotor flux"; | port_rp.Phi + port_rn.Phi = Complex(0, 0);
port_sp.V_m - port_sn.V_m = V_mss "Magnetomotive force of stator"; | port_sp.V_m - port_sn.V_m = V_mss;
port_rp.V_m - port_rn.V_m = V_mrr "Magnetomotive force of rotor"; | port_rp.V_m - port_rn.V_m = V_mrr;
V_msr = V_mss*Modelica323.ComplexMath.conj(rotator); |
Phi_sr = Phi_ss*Modelica323.ComplexMath.conj(rotator);
Phi_sr = Phi_rr;
| V_msr = V_mss*Modelica322.ComplexMath.conj(rotator);
(pi/2.0)*(V_mrr.re + V_msr.re) = Phi_rr.re*R_m.d; ...

model Magnetic.FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseCageWinding

Component | Modelica 3.2.3 | Modelica 3.2.2
alphaRef | =Modelica323.Electrical.Machines.Thermal.convertAlpha(alpha20, TRef, 293.15) | =Modelica.Electrical.Machines.Thermal.convertAlpha(alpha20, TRef, 293.15)
electroMagneticConverter | final orientation=Modelica323.Electrical.MultiPhase.Functions.symmetricOrientation(m) | final orientation=Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m)
resistor | final T=fill(TOperational, m) | final T=fill(TRef, m)
star | final m=nBase | final m=m
nBase | Present |
multiStar | Present |
starAuxiliary |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(ground.p, star.pin_n);
| connect(star.plug_p, electroMagneticConverter.plug_n);
connect(thermalCollector.port_a, resistor.heatPort);
connect(thermalCollector.port_b, heatPortWinding);
| connect(resistor.plug_n, starAuxiliary.plug_p);
connect(strayReluctance.port_p, port_p); ... connect(electroMagneticConverter.plug_p, resistor.plug_p);
connect(electroMagneticConverter.plug_n, multiStar.plug_p); connect(multiStar.starpoints, star.plug_p); connect(resistor.plug_n, multiStar.plug_p); |

model Magnetic.FundamentalWave.BasicMachines.Components.SaliencyCageWinding

Component | Modelica 3.2.3 | Modelica 3.2.2
alphaRef | =Modelica323.Electrical.Machines.Thermal.convertAlpha(alpha20, TRef, 293.15) | =Modelica.Electrical.Machines.Thermal.convertAlpha(alpha20, TRef, 293.15)
electroMagneticConverter | final orientation={0,Modelica323.Constants.pi/2} | final orientation={0,Modelica.Constants.pi/2}
iRMS | Present |

model Magnetic.FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseCageWinding_obsolete

Component | Modelica 3.2.3 | Modelica 3.2.2
resistor | final T=fill(TOperational, m) | final T=fill(TRef, m)

connector Magnetic.FundamentalWave.Interfaces.MagneticPort

Component | Modelica 3.2.3 | Modelica 3.2.2
V_m | SIunits.ComplexMagneticPotential | SIunits.ComplexMagneticPotentialDifference

model Magnetic.FundamentalWave.Interfaces.PartialBasicInductionMachine

Component | Modelica 3.2.3 | Modelica 3.2.2
pi | SIunits.Angle | Real
| protected
statorCoreParameters | final m=m | final m=3
internalThermalPort |  | protected
internalSupport |  | protected

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_DOL

Component | Modelica 3.2.3 | Modelica 3.2.2
m | =3 | =5
fNominal | =imc.fsNominal | =50
imc | effectiveStatorTurns=imcData.effectiveStatorTurns |
imcQS | effectiveStatorTurns=imcData.effectiveStatorTurns |
terminalBox | Present |
starMachine | Present |
groundMachine | Present |
terminalBoxM |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
sum(imc.is) = 0; |
imc.is[1:2] = zeros(2);
imc.rotorCage.electroMagneticConverter.V_m = Complex(0, 0); | imc.rotorCage.electroMagneticConverter.Phi = Complex(0, 0);
... connect(loadInertia.flange_b, quadraticLoadTorque.flange);
connect(terminalBox.plug_sn, imc.plug_sn); | connect(terminalBoxM.plug_sn, imc.plug_sn);
connect(terminalBox.plug_sp, imc.plug_sp); | connect(terminalBoxM.plug_sp, imc.plug_sp);
connect(booleanStep.y, idealCloser.control); ... connect(powerSensor.nc, currentQuasiRMSSensor.plug_p);
connect(currentQuasiRMSSensor.plug_n, terminalBox.plugSupply); | connect(currentQuasiRMSSensor.plug_n, terminalBoxM.plugSupply);
connect(loadInertiaQS.flange_b, quadraticLoadTorqueQS.flange); ... connect(starMachineQS.pin_n, groundMachineQS.pin);
connect(starMachine.plug_p, terminalBox.starpoint); connect(groundMachine.p, starMachine.pin_n); |

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMS_Start

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =ims.fsNominal | =50
terminalBoxM | Electrical.Machines.Utilities.MultiTerminalBox | Electrical.Machines.Utilities.TerminalBox
ims | effectiveStatorTurns=imsData.effectiveStatorTurns |
imsQS | effectiveStatorTurns=imsData.effectiveStatorTurns |
rheostatQS | Present |
loadInertiaQS | Present |
quadraticLoadTorqueQS | Present |
starMachine | Present |
groundMachine | Present |
rheostatE |  | Present
loadInertiaE |  | Present
quadraticLoadTorqueE |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
sum(ims.is) = 0; |
ims.is[1:2] = zeros(2);
sum(ims.ir) = 0; | ims.ir[1:mr] = zeros(mr);
ims.ir[1:2] = zeros(2); |
... connect(sineVoltage.plug_n, star.plug_p);
connect(loadInertiaQS.flange_b, quadraticLoadTorqueQS.flange); | connect(loadInertiaE.flange_b, quadraticLoadTorqueE.flange);
connect(imsQS.flange, loadInertiaQS.flange_a); | connect(imsQS.flange, loadInertiaE.flange_a);
connect(booleanStep.y, idealCloser.control); ... connect(idealCloser.plug_p, sineVoltage.plug_p);
connect(imsQS.plug_rp, rheostatQS.plug_p); | connect(imsQS.plug_rp, rheostatE.plug_p);
connect(rheostatQS.plug_n, imsQS.plug_rn); | connect(rheostatE.plug_n, imsQS.plug_rn);
connect(groundQS.pin, starQS.pin_n); ... connect(starMachineQS.plug_p, terminalBoxQS.starpoint);
connect(groundMachine.p,starMachine. pin_n); connect(terminalBoxM.starpoint, starMachine.plug_p); |

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_OpenCircuit

Component | Modelica 3.2.3 | Modelica 3.2.2
smpmQS | effectiveStatorTurns=smpmData.effectiveStatorTurns |
smpm | effectiveStatorTurns=smpmData.effectiveStatorTurns |

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_Mains

Component | Modelica 3.2.3 | Modelica 3.2.2
smpmQS | effectiveStatorTurns=smpmData.effectiveStatorTurns |
smpm | ir(each fixed=true, start=zeros(2)) |
effectiveStatorTurns=smpmData.effectiveStatorTurns |
| ir(fixed=true, start=zeros(2))
terminalBox | Electrical.Machines.Utilities.MultiTerminalBox | Electrical.Machines.Utilities.TerminalBox
starMachine | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
sum(smpm.is)=0; | smpm.is=zeros(m);
smpm.is[1:2]=zeros(2); |
... connect(star.pin_n, ground.p);
| connect(groundMachine.p, terminalBox.starpoint);
connect(powerSensor.nv, star.plug_p);
connect(terminalBox.starpoint, starMachine.plug_p); connect(starMachine.pin_n, groundMachine.p); |

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_CurrentSource

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =smpmData.fsNominal | =50
smpm | m=m |
effectiveStatorTurns=smpmData.effectiveStatorTurns |
currentController | m=m |
iq | k=84.6*3/m | k=84.6
id | k=-53.5*3/m | k=-53.5
voltageQuasiRMSSensor | m=m |
terminalBox | Electrical.Machines.Utilities.MultiTerminalBox | Electrical.Machines.Utilities.TerminalBox
currentRMSsensor | m=m |
smpmQS | m=m |
effectiveStatorTurns=smpmData.effectiveStatorTurns |
thetaQS | Present |
theta | Present |
rotorAngle | Present |
currentControllerQS | Present |
referenceCurrentSourceQS | Present |
resistorQS | Present |
rotorAngleQS | Present |
currentRMSSensorQS | Present |
voltageQuasiRMSSensorQS | Present |
starMQS | Present |
starMachine | Present |
rotorDisplacementAngle |  | Present
currentController1 |  | Present
referenceCurrentSource |  | Present
resistor |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
connect(star.pin_n, ground.p);
connect(rotorAngle.plug_n, smpm.plug_sn); | connect(rotorDisplacementAngle.plug_n, smpm.plug_sn);
connect(rotorAngle.plug_p, smpm.plug_sp); | connect(rotorDisplacementAngle.plug_p, smpm.plug_sp);
connect(terminalBox.plug_sn, smpm.plug_sn);
connect(terminalBox.plug_sp, smpm.plug_sp);
connect(smpm.flange, rotorAngle.flange); | connect(smpm.flange, rotorDisplacementAngle.flange);
connect(signalCurrent.plug_p, star.plug_p);
connect(angleSensor.flange, rotorAngle.flange); | connect(angleSensor.flange, rotorDisplacementAngle.flange);
| connect(angleSensor.phi, currentController.phi); connect(id.y, currentController.id_rms); connect(iq.y, currentController.iq_rms); connect(groundM.p, terminalBox.starpoint);
connect(voltageQuasiRMSSensor.plug_p, terminalBox.plugSupply); ... connect(starM.pin_n, groundM.p);
| connect(currentController.y, signalCurrent.i);
connect(quadraticSpeedDependentTorque.flange, inertiaLoad.flange_b); ... connect(quadraticSpeedDependentTorqueQS.flange, inertiaLoadQS.flange_b);
| connect(smpmQS.flange, inertiaLoadQS.flange_a);
connect(starMachineQS.plug_p, terminalBoxQS.starpoint); ... connect(terminalBoxQS.plug_sp, smpmQS.plug_sp);
connect(currentControllerQS.I, referenceCurrentSourceQS.I); | connect(angleSensorQS.phi, currentController1.phi);
connect(referenceCurrentSourceQS.plug_p, starQS.plug_p); | connect(currentController1.I, referenceCurrentSource.I);
| connect(referenceCurrentSource.plug_p, starQS.plug_p);
connect(starQS.pin_n, groundeQS.pin);
| connect(currentController1.id_rms, id.y); connect(iq.y, currentController1.iq_rms);
connect(angleSensorQS.flange, smpmQS.flange);
connect(referenceCurrentSourceQS.plug_p, resistorQS.plug_p); | connect(currentController1.gamma, referenceCurrentSource.gamma);
connect(resistorQS.plug_n, referenceCurrentSourceQS.plug_n); | connect(referenceCurrentSource.plug_n, terminalBoxQS.plugSupply);
connect(id.y, currentControllerQS.id_rms); | connect(referenceCurrentSource.plug_p, resistor.plug_p);
connect(id.y, currentController.id_rms); | connect(resistor.plug_n, referenceCurrentSource.plug_n);
connect(iq.y, currentControllerQS.iq_rms); connect(iq.y, currentController.iq_rms); connect(currentController.y, signalCurrent.i); connect(currentControllerQS.gamma, referenceCurrentSourceQS.gamma); connect(angleSensorQS.phi, currentControllerQS.phi); connect(angleSensor.phi, currentController.phi); connect(smpmQS.flange, rotorAngleQS.flange); connect(terminalBoxQS.plug_sp, rotorAngleQS.plug_p); connect(terminalBoxQS.plugSupply, currentRMSSensorQS.plug_n); connect(currentRMSSensorQS.plug_p, referenceCurrentSourceQS.plug_n); connect(inertiaLoadQS.flange_a, smpmQS.flange); connect(rotorAngleQS.plug_n, terminalBoxQS.plug_sn); connect(voltageQuasiRMSSensorQS.plug_n, currentRMSSensorQS.plug_n); connect(starMQS.pin_n, starMachineQS.pin_n); connect(starMQS.plug_p, voltageQuasiRMSSensorQS.plug_p); connect(starMachine.plug_p, terminalBox.starpoint); connect(starMachine.pin_n, groundM.p); |

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMEE_Generator

Component | Modelica 3.2.3 | Modelica 3.2.2
fsNominal | =smeeData.fsNominal | =50
terminalBoxM | Electrical.Machines.Utilities.MultiTerminalBox | Electrical.Machines.Utilities.TerminalBox
smee | sigmae=smeeData.sigmae*m/3 | sigmae=smeeData.sigmae
ir(each fixed=true) |
effectiveStatorTurns=smeeData.effectiveStatorTurns |
| ir(fixed=true)
smeeQS | effectiveStatorTurns=smeeData.effectiveStatorTurns |
thetaQS | Present |
theta | Present |
rotorAngle | Present |
rotorAngleQS | Present |
groundMachine | Present |
starMachine | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial equation
sum(smee.is) = 0; |
smee.is[1:2] = zeros(2); ... connect(star.plug_p, sineVoltage.plug_n);
| connect(smeeQS.flange, mechanicalPowerSensorQS.flange_a);
connect(mechanicalPowerSensorQS.flange_b, constantSpeedQS.flange); ... connect(starMachineQS.plug_p, terminalBoxQS.starpoint);
connect(smee.flange, rotorAngle.flange); connect(rotorAngle.plug_p, smee.plug_sp); connect(smee.plug_sn, rotorAngle.plug_n); connect(terminalBoxQS.plug_sp, rotorAngleQS.plug_p); connect(rotorAngleQS.plug_n, terminalBoxQS.plug_sn); connect(smeeQS.flange, rotorAngleQS.flange); connect(smeeQS.flange, mechanicalPowerSensorQS.flange_a); connect(starMachine.pin_n,groundMachine. p); connect(starMachine.plug_p, terminalBoxM.starpoint); |

model Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMR_CurrentSource

Component | Modelica 3.2.3 | Modelica 3.2.2
fNominal | =smrData.fsNominal | =50
currentController | m=m |
iq | k=84.6*3/m | k=84.6
id | k=53.5*3/m | k=53.5
voltageQuasiRMSSensor | m=m |
terminalBox | Electrical.Machines.Utilities.MultiTerminalBox | Electrical.Machines.Utilities.TerminalBox
rotorDisplacementAngle | m=m |
currentRMSsensor | m=m |
referenceCurrentSource | m=m |
smrQS | effectiveStatorTurns=smrData.effectiveStatorTurns |
smr | ir(each fixed=true) |
effectiveStatorTurns=smrData.effectiveStatorTurns |
| ir(fixed=true)
thetaQS | Present |
theta | Present |
currentControllerQS | Present |
resistorQS | Present |
rotorAngleQS | Present |
currentRMSSensorQS | Present |
voltageQuasiRMSSensorQS | Present |
starMQS | Present |
starMachine | Present |
currentController1 |  | Present
resistor |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(angleSensor.flange, rotorDisplacementAngle.flange);
| connect(angleSensor.phi, currentController.phi); connect(id.y, currentController.id_rms); connect(iq.y, currentController.iq_rms); connect(groundM.p, terminalBox.starpoint);
connect(voltageQuasiRMSSensor.plug_p, terminalBox.plugSupply); ... connect(starM.pin_n, groundM.p);
| connect(currentController.y, signalCurrent.i);
connect(quadraticSpeedDependentTorque.flange, inertiaLoad.flange_b); ... connect(groundMQS.pin, starMachineQS.pin_n);
connect(currentControllerQS.I, referenceCurrentSource.I); | connect(angleSensorQS.phi, currentController1.phi);
| connect(currentController1.I, referenceCurrentSource.I);
connect(referenceCurrentSource.plug_p, starQS.plug_p);
connect(starQS.pin_n, groundeQS.pin);
connect(referenceCurrentSource.plug_p, resistorQS.plug_p); | connect(currentController1.id_rms, id.y);
connect(resistorQS.plug_n, referenceCurrentSource.plug_n); | connect(iq.y, currentController1.iq_rms);
| connect(currentController1.gamma, referenceCurrentSource.gamma); connect(referenceCurrentSource.plug_n, terminalBoxQS.plugSupply); connect(referenceCurrentSource.plug_p, resistor.plug_p); connect(resistor.plug_n, referenceCurrentSource.plug_n);
connect(terminalBoxQS.plug_sn, smrQS.plug_sn);
connect(terminalBoxQS.plug_sp, smrQS.plug_sp);
| connect(smrQS.flange, inertiaLoadQS.flange_a);
connect(angleSensorQS.flange, smrQS.flange); ... connect(rotorDisplacementAngle.flange, inertiaLoad.flange_a);
connect(smrQS.flange, rotorAngleQS.flange); connect(smrQS.plug_sp, rotorAngleQS.plug_p); connect(smrQS.plug_sn, rotorAngleQS.plug_n); connect(inertiaLoadQS.flange_a, smrQS.flange); connect(currentRMSSensorQS.plug_p, referenceCurrentSource.plug_n); connect(currentRMSSensorQS.plug_n, terminalBoxQS.plugSupply); connect(id.y, currentControllerQS.id_rms); connect(id.y, currentController.id_rms); connect(iq.y, currentControllerQS.iq_rms); connect(iq.y, currentController.iq_rms); connect(angleSensor.phi, currentController.phi); connect(currentController.y, signalCurrent.i); connect(currentControllerQS.gamma, referenceCurrentSource.gamma); connect(angleSensorQS.phi, currentControllerQS.phi); connect(starMQS.plug_p, voltageQuasiRMSSensorQS.plug_p); connect(voltageQuasiRMSSensorQS.plug_n, currentRMSSensorQS.plug_n); connect(starMQS.pin_n, groundMQS.pin); connect(starMachine.pin_n, groundM.p); connect(starMachine.plug_p, terminalBox.starpoint); |

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMachines.SM_PermanentMagnet

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMachines.SM_ElectricalExcited

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMachines.SM_ReluctanceRotor

Component | Modelica 3.2.3 | Modelica 3.2.2
ir | graphical |

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.Components.RotorSaliencyAirGap

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
port_sp.Phi = Phi_s "Stator flux into positive stator port"; | port_sp.Phi = Phi_s;
port_sp.Phi + port_sn.Phi = Complex(0, 0) "Balance of stator flux"; | port_sp.Phi + port_sn.Phi = Complex(0, 0);
port_rp.Phi = Phi_r "Rotor flux into positive rotor port"; | port_rp.Phi = Phi_r;
port_rp.Phi + port_rn.Phi = Complex(0, 0) "Balance of rotor flux"; | port_rp.Phi + port_rn.Phi = Complex(0, 0);
port_sp.V_m - port_sn.V_m = V_ms "Magnetomotive force of stator"; | port_sp.V_m - port_sn.V_m = V_ms;
port_rp.V_m - port_rn.V_m = V_mr "Magnetomotive force of rotor"; | port_rp.V_m - port_rn.V_m = V_mr;
Phi_s = Phi_r; ...

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.Components.SymmetricMultiPhaseCageWinding

Component | Modelica 3.2.3 | Modelica 3.2.2
resistor | final T=fill(TOperational, m) | final T=fill(TRef, m)
star | final m=nBase | final m=m
nBase | Present |
multiStar | Present |
starAuxiliary |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(electroMagneticConverter.port_n, port_n);
| connect(starAuxiliary.plug_p, resistor.plug_n); connect(electroMagneticConverter.plug_n, star.plug_p);
connect(star.pin_n, ground.pin);
| connect(starAuxiliary.pin_n, ground.pin);
connect(strayReluctance.port_p, port_p); ... connect(electroMagneticConverter.plug_p, resistor.plug_p);
connect(electroMagneticConverter.plug_n, multiStar.plug_p); connect(multiStar.starpoints, star.plug_p); connect(multiStar.plug_p, resistor.plug_n); |

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.Components.SaliencyCageWinding

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(electroMagneticConverter.port_n, port_n);
| connect(electroMagneticConverter.plug_n, resistor.plug_n); connect(resistor.plug_n, star.plug_p);
connect(star.pin_n, ground.pin);
| connect(electroMagneticConverter.plug_p, resistor.plug_p);
connect(strayReluctance.port_p, port_p);
connect(strayReluctance.port_n, port_n);
connect(electroMagneticConverter.plug_p, resistor.plug_p); connect(electroMagneticConverter.plug_n, star.plug_p); connect(star.plug_p, resistor.plug_n); |

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.Components.PermanentMagnet

Component | Modelica 3.2.3 | Modelica 3.2.2
abs_V_m | =Modelica323.ComplexMath.'abs'(V_m) | =Modelica.ComplexMath.'abs'(V_m)
arg_V_m | =Modelica323.ComplexMath.arg(V_m) | =Modelica.ComplexMath.arg(V_m)
abs_Phi | =Modelica323.ComplexMath.'abs'(Phi) | =Modelica.ComplexMath.'abs'(Phi)
arg_Phi | =Modelica323.ComplexMath.arg(Phi) | =Modelica.ComplexMath.arg(Phi)
V_mGamma | =V_m*Modelica323.ComplexMath.fromPolar(1, -gamma) | =V_m*Modelica.ComplexMath.fromPolar(1, -gamma)

model Magnetic.QuasiStatic.FundamentalWave.BasicMachines.BaseClasses.PartialBasicMachine

Component | Modelica 3.2.3 | Modelica 3.2.2
pi | SIunits.Angle | Real
| protected
statorCoreParameters | final m=m | final m=3
abs_vs | =Modelica323.ComplexMath.'abs'(vs) | =Modelica.ComplexMath.'abs'(vs)
arg_vs | =Modelica323.ComplexMath.arg(vs) | =Modelica.ComplexMath.arg(vs)
abs_is | =Modelica323.ComplexMath.'abs'(is) | =Modelica.ComplexMath.'abs'(is)
arg_is | =Modelica323.ComplexMath.arg(is) | =Modelica.ComplexMath.arg(is)
Ps | ={Modelica323.ComplexMath.real(vs[k]*Modelica323.ComplexMath.conj(is[k])) for k in 1:m} | ={Modelica.ComplexMath.real(vs[k]*Modelica.ComplexMath.conj(is[k])) for k in 1:m}
Qs | ={Modelica323.ComplexMath.imag(vs[k]*Modelica323.ComplexMath.conj(is[k])) for k in 1:m} | ={Modelica.ComplexMath.imag(vs[k]*Modelica.ComplexMath.conj(is[k])) for k in 1:m}
Ss | ={Modelica323.ComplexMath.'abs'(vs[k]*Modelica323.ComplexMath.conj(is[k])) for k in 1:m} | ={Modelica.ComplexMath.'abs'(vs[k]*Modelica.ComplexMath.conj(is[k])) for k in 1:m}
pfs | ={cos(Modelica323.ComplexMath.arg(Complex(Ps[k], Qs[k]))) for k in 1:m} | ={cos(Modelica.ComplexMath.arg(Complex(Ps[k], Qs[k]))) for k in 1:m}
internalThermalPort |  | protected
internalSupport |  | protected

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
initial algorithm
assert(not Modelica323.Math.isPowerOf2(m), String(m) + " phases are currently not supported in this version of FundametalWave"); | assert(not Modelica.Math.isPowerOf2(m), String(m) + " phases are currently not supported in this version of FundametalWave");
...

model Magnetic.QuasiStatic.FundamentalWave.Losses.StrayLoad

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
tau = -strayLoadParameters.tauRef*(iRMS/strayLoadParameters.IRef)^2* sign(w)*(abs(w)/strayLoadParameters.wRef)^strayLoadParameters.power_w; | tau = -strayLoadParameters.tauRef*(iRMS/strayLoadParameters.IRef)^2* smooth(1, if w >= 0 then +(+w/strayLoadParameters.wRef)^ strayLoadParameters.power_w else -(-w/strayLoadParameters.wRef)^ strayLoadParameters.power_w);
end if; ...

model Magnetic.QuasiStatic.FundamentalWave.Losses.PermanentMagnetLosses

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
tau = -permanentMagnetLossParameters.tauRef*(permanentMagnetLossParameters.c + (1 - permanentMagnetLossParameters.c)* (iRMS/permanentMagnetLossParameters.IRef)^permanentMagnetLossParameters.power_I)* sign(w)*(abs(w)/permanentMagnetLossParameters.wRef)^permanentMagnetLossParameters.power_w; | tau = -permanentMagnetLossParameters.tauRef*( permanentMagnetLossParameters.c + (1 - permanentMagnetLossParameters.c) *(iRMS/permanentMagnetLossParameters.IRef)^ permanentMagnetLossParameters.power_I)*smooth(1, if w >= 0 then +(+w/ permanentMagnetLossParameters.wRef)^permanentMagnetLossParameters.power_w else -(-w/permanentMagnetLossParameters.wRef)^ permanentMagnetLossParameters.power_w);
end if; ...

block Magnetic.QuasiStatic.FundamentalWave.Utilities.VfController

Component | Modelica 3.2.3 | Modelica 3.2.2
u | unit="Hz" |

model Magnetic.QuasiStatic.FundamentalWave.Utilities.CurrentController

Component | Modelica 3.2.3 | Modelica 3.2.2
gamma | unit="rad" |

model Mechanics.MultiBody.World

Component | Modelica 3.2.3 | Modelica 3.2.2
g | =Modelica323.Constants.g_n | =9.81
mue | =3.986004418e14 | =3.986e14
animateGround | Present |
groundAxis_u | Present |
groundLength_u | Present |
groundLength_v | Present |
groundColor | Present |
surface | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
Connections.root(frame_b.R);
assert(Modelica323.Math.Vectors.length(n) > 1e-10, "Parameter n of World object is wrong (length(n) > 0 required)"); | assert(Modelica322.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.DoublePendulumInitTip

Component | Modelica 3.2.3 | Modelica 3.2.2
revolute2 | phi(start=Modelica323.Constants.pi/2) |

model Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses2

Component | Modelica 3.2.3 | Modelica 3.2.2
pointMass3 | r_0(start={2,1,0}, fixed={true,false,false}) | r_0(start={2,1,0}, each fixed=true)
v_0(start={0,0,-1}, fixed={true,false,false}) | v_0(start={0,0,-1}, each fixed=true)
pointMass4 | r_0(start={2,-1,0}, fixed={false,false,true}) |
v_0(start={0,0,-1}, fixed={false,false,true}) |
pointMass5 | r_0(start={2,0,1}, fixed={false,false,true}) |
v_0(start={0,0,-1}, fixed={false,false,true}) |

model Mechanics.MultiBody.Examples.Elementary.RollingWheel

Component | Modelica 3.2.3 | Modelica 3.2.2
world | animateGround=true |
groundLength_u=4 |
groundColor={130,200,130} |
ground |  | Present

model Mechanics.MultiBody.Examples.Elementary.RollingWheelSetDriving

Component | Modelica 3.2.3 | Modelica 3.2.2
world | animateGround=true |
groundLength_u=3 |
groundColor={130,200,130} |
ground |  | Present

model Mechanics.MultiBody.Examples.Elementary.RollingWheelSetPulling

Component | Modelica 3.2.3 | Modelica 3.2.2
world | animateGround=true |
groundLength_u=3 |
groundColor={130,200,130} |
ground |  | Present

model Mechanics.MultiBody.Examples.Elementary.Surfaces

Component | Modelica 3.2.3 | Modelica 3.2.2
world | animateGround=true |
groundLength_u=4 |
groundColor={215,215,215} |
pipeWithScalarField | T=Modelica323.Math.sin(Modelica323.Constants.pi*pipeWithScalarField.xsi)*Modelica323.Math.cos(Modelica323.Constants.pi*time) .+ 1 | T=sin(Modelica322.Constants.pi*pipeWithScalarField.xsi)*cos(Modelica322.Constants.pi*time) .+ 1
ground |  | Present

function Mechanics.MultiBody.Examples.Elementary.Utilities.sineSurface

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Y[i,j] = aux_y;
Z[i, j] = A*Modelica323.Math.sin(wz + 0.1*j + 0.1*i) + A; | Z[i,j] = A*sin(wz + 0.1*j + 0.1*i)+A;
end for; ...

model Mechanics.MultiBody.Examples.Loops.Fourbar2

Component | Modelica 3.2.3 | Modelica 3.2.2
j1 | useAxisFlange=false | useAxisFlange=true
w(displayUnit="deg/s", start=5.235987755983, fixed=true) | w(displayUnit="deg/s", start=5.235987755982989, fixed=true)

model Mechanics.MultiBody.Examples.Loops.Fourbar_analytic

Component | Modelica 3.2.3 | Modelica 3.2.2
j1 | useAxisFlange=false | useAxisFlange=true
w(displayUnit="deg/s", start=5.235987755983, fixed=true) | w(displayUnit="deg/s", start=5.235987755982989, fixed=true)

model Mechanics.MultiBody.Examples.Loops.Utilities.Cylinder

Component | Modelica 3.2.3 | Modelica 3.2.2
CylinderInclination | n_y={0,Modelica323.Math.cos(cylinderInclination),Modelica323.Math.sin(cylinderInclination)} | n_y={0,cos(cylinderInclination),sin(cylinderInclination)}
CrankAngle1 | n_y={0,Modelica323.Math.cos(crankAngleOffset),Modelica323.Math.sin(crankAngleOffset)} | n_y={0,cos(crankAngleOffset),sin(crankAngleOffset)}
CrankAngle2 | n_y={0,Modelica323.Math.cos(-crankAngleOffset),Modelica323.Math.sin(-crankAngleOffset)} | n_y={0,cos(-crankAngleOffset),sin(-crankAngleOffset)}
gasForce | Mechanics.MultiBody.Examples.Loops.Utilities.GasForce2 | Mechanics.MultiBody.Examples.Loops.Utilities.GasForce

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(Crank4.frame_b, CrankAngle2.frame_a);
| connect(Cylinder.support, gasForce.flange_b); connect(Cylinder.axis, gasForce.flange_a);
connect(CylinderInclination.frame_b, CylinderTop.frame_a); ... connect(CrankAngle2.frame_b, crank_b);
connect(Cylinder.axis, gasForce.flange_b); connect(Cylinder.support, gasForce.flange_a); |

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

Component | Modelica 3.2.3 | Modelica 3.2.2
R_air | constant |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... v_rel = der(s_rel);
press = 1e5 * ( if v_rel < 0 then ( if x < 0.986061 then 177.4132*x^4 - 287.2189*x^3 + 151.8252*x^2 - 24.9973*x + 2.4 else 2836360*x^4 - 10569296*x^3 + 14761814*x^2 - 9158505*x + 2129670) else ( if x > 0.933 then -3929704*x^4 + 14748765*x^3 - 20747000*x^2 + 12964477*x - 3036495 else 145.930*x^4 - 131.707*x^3 + 17.3438*x^2 + 17.9272*x + 2.4)); | press = 1.0E5*(if v_rel < 0 then (if x < 0.987 then 177.4132*x^4 - 287.2189*x^3 + 151.8252*x^2 - 24.9973*x + 2.4 else 2836360*x^4 - 10569296*x^3 + 14761814 *x^2 - 9158505*x + 2129670) else (if x > 0.93 then -3929704*x^4 + 14748765*x^3 - 20747000*x^2 + 12964477*x - 3036495 else 145.930*x^4 - 131.707*x^3 + 17.3438*x^2 + 17.9272*x + 2.4));
f = -press*pi*d^2/4; ... press*V = k*T;
assert(s_rel >= -1e-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 >= -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 + 1e-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."); | 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 | Modelica 3.2.3 | Modelica 3.2.2
gasForce | Mechanics.MultiBody.Examples.Loops.Utilities.GasForce2 | Mechanics.MultiBody.Examples.Loops.Utilities.GasForce

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(Mid.frame_b, jointRRP.frame_a);
| connect(gasForce.flange_a, jointRRP.axis); connect(jointRRP.bearing, gasForce.flange_b);
connect(jointRRP.frame_ib, Piston.frame_b); ... connect(Crank.frame_b, crank_b);
connect(gasForce.flange_a, jointRRP.bearing); connect(gasForce.flange_b, jointRRP.axis); |

model Mechanics.MultiBody.Examples.Loops.Utilities.Engine1bBase

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(Crank2.frame_a, Crank1.frame_b);
| connect(Crank2.frame_b, Crank3.frame_a);
connect(Bearing.frame_b, Crank1.frame_a); ... connect(Inertia.flange_b, Bearing.axis);
connect(Crank2.frame_b, Crank3.frame_a); | connect(Mid.frame_a, Crank2.frame_b);
connect(Crank2.frame_b, Mid.frame_a); |

model Mechanics.MultiBody.Examples.Rotational3DEffects.ActuatedDrive

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(torque.frame_b, bodyCylinder.frame_b);
| connect(torque.frame_resolve, world.frame_b);
connect(torque.frame_a, world.frame_b); ...

model Mechanics.MultiBody.Examples.Rotational3DEffects.MovingActuatedDrive

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(r1.frame_b, revolute.frame_a);
| connect(torque.frame_resolve, revolute.frame_a);
connect(torque.frame_a, revolute.frame_a); ...

model Mechanics.MultiBody.Examples.Constraints.PrismaticConstraint

Component | Modelica 3.2.3 | Modelica 3.2.2
jointPrismatic_x | stateSelect=StateSelect.always | stateSelect=StateSelect.never
jointPrismatic_y | stateSelect=StateSelect.always | stateSelect=StateSelect.never

model Mechanics.MultiBody.Examples.Constraints.RevoluteConstraint

Component | Modelica 3.2.3 | Modelica 3.2.2
joint | stateSelect=StateSelect.always | stateSelect=StateSelect.never

model Mechanics.MultiBody.Examples.Constraints.UniversalConstraint

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(joint.frame_b, bodyOfJoint.frame_a);
| connect(sensorConstraintRelative.frame_b, constraint.frame_b);
connect(fixedTranslation.frame_b, springOfJoint.frame_a); ... connect(bodyOfConstraint.frame_a, freeMotionScalarInit.frame_b);
connect(bodyOfConstraint.frame_a, sensorConstraintRelative.frame_b); |

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

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(gear.flange_b, accSensor.flange);
| connect(controller.axisControlBus, axisControlBus);
connect(motor.axisControlBus, axisControlBus); ... connect(const.y, initializeFlange.a_start);
connect(controller.axisControlBus, axisControlBus); |

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

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| connect(r6.frame_b, b6.frame_a);
q = {r1.phi,r2.phi,r3.phi,r4.phi,r5.phi,r6.phi}; ... connect(r6.axis, axis6);
connect(r6.frame_b, b6.frame_a); |

model Mechanics.MultiBody.Forces.LineForceWithMass

Component | Modelica 3.2.3 | Modelica 3.2.2
s_small |  | Present
fixedRotationAtFrame_a |  | Present
fixedRotationAtFrame_b |  | Present
length |  | Present
r_rel_0 |  | Present
e_rel_0 |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| assert(noEvent(length > s_small), " The distance between the origin of frame_a and the origin of frame_b of a LineForceWithMass component became smaller as parameter s_small (= a small number, defined in the \"Advanced\" menu). The distance is set to s_small, although it is smaller, to avoid a division by zero when computing the direction of the line force. Possible reasons for this situation: - At initial time the distance may already be zero: Change the initial positions of the bodies connected by this element. - Hardware stops are not modeled or are modeled not stiff enough. Include stops, e.g., stiff springs, or increase the stiffness if already present. - Another error in your model may lead to unrealistically large forces and torques that would in reality destroy the stops. - The flange_b connector might be defined by a pre-defined motion, e.g., with Modelica.Mechanics.Translational.Position and the predefined flange_b.s is zero or negative. "); r_rel_0 = frame_b.r_0 - frame_a.r_0; length = Modelica322.Math.Vectors.length(r_rel_0);
flange_a.s = 0;
flange_b.s = length;
| e_rel_0 = r_rel_0/Frames.Internal.maxWithoutEvent(length, s_small);
if cardinality(flange_a) > 0 and cardinality(flange_b) > 0 then ... end if;
| if fixedRotationAtFrame_a then Connections.root(frame_a.R); frame_a.R = Frames.nullRotation(); else frame_a.t = zeros(3); end if; if fixedRotationAtFrame_b then Connections.root(frame_b.R); frame_b.R = Frames.nullRotation(); else frame_b.t = zeros(3); end if;

model Mechanics.MultiBody.Forces.LineForceWithTwoMasses

Component | Modelica 3.2.3 | Modelica 3.2.2
s_small |  | Present
fixedRotationAtFrame_a |  | Present
fixedRotationAtFrame_b |  | Present
length |  | Present
r_rel_0 |  | Present
e_rel_0 |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| assert(noEvent(length > s_small), " The distance between the origin of frame_a and the origin of frame_b of a LineForceWithTwoMasses component became smaller as parameter s_small (= a small number, defined in the \"Advanced\" menu). The distance is set to s_small, although it is smaller, to avoid a division by zero when computing the direction of the line force. Possible reasons for this situation: - At initial time the distance may already be zero: Change the initial positions of the bodies connected by this element. - Hardware stops are not modeled or are modeled not stiff enough. Include stops, e.g., stiff springs, or increase the stiffness if already present. - Another error in your model may lead to unrealistically large forces and torques that would in reality destroy the stops. - The flange_b connector might be defined by a pre-defined motion, e.g., with Modelica.Mechanics.Translational.Position and the predefined flange_b.s is zero or negative. "); r_rel_0 = frame_b.r_0 - frame_a.r_0; length = Modelica322.Math.Vectors.length(r_rel_0);
flange_a.s = 0;
flange_b.s = length;
| e_rel_0 = r_rel_0/Frames.Internal.maxWithoutEvent(length, s_small);
if cardinality(flange_a) > 0 and cardinality(flange_b) > 0 then ... end if;
| if fixedRotationAtFrame_a then Connections.root(frame_a.R); frame_a.R = Frames.nullRotation(); else frame_a.t = zeros(3); end if; if fixedRotationAtFrame_b then Connections.root(frame_b.R); frame_b.R = Frames.nullRotation(); else frame_b.t = zeros(3); end if;

model Mechanics.MultiBody.Forces.Spring

Component | Modelica 3.2.3 | Modelica 3.2.2
lineForce | s_small=s_small |
s_small | Present |
r_rel_a | Present |
e_a | Present |
f | Present |
length | Present |
s | Present |
r_rel_0 | Present |
e_rel_0 | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
r_rel_a = Frames.resolve2(frame_a.R, r_rel_0); | connect(lineForce.frame_a, frame_a);
e_a = r_rel_a/s; | connect(lineForce.frame_b, frame_b);
f = spring.f; | connect(spring.flange_b, lineForce.flange_b);
length = lineForce.length; | connect(spring.flange_a, lineForce.flange_a);
s = lineForce.s; r_rel_0 = lineForce.r_rel_0; e_rel_0 = lineForce.e_rel_0; connect(lineForce.frame_a, frame_a); connect(lineForce.frame_b, frame_b); connect(spring.flange_b, lineForce.flange_b); connect(spring.flange_a, lineForce.flange_a); |

model Mechanics.MultiBody.Forces.SpringDamperParallel

Component | Modelica 3.2.3 | Modelica 3.2.2
shape | specularCoefficient=specularCoefficient |
length_a | Present |
diameter_a | Present |
diameter_b | Present |
color_a | Present |
color_b | Present |
shape_a | Present |
shape_b | Present |

model Mechanics.MultiBody.Forces.SpringDamperSeries

Component | Modelica 3.2.3 | Modelica 3.2.2
animation | Present |
length_a | Present |
diameter_a | Present |
diameter_b | Present |
color_a | Present |
color_b | Present |
specularCoefficient | Present |
width | Present |
coilWidth | Present |
numberOfWindings | Present |
color | Present |
shape_a | Present |
shape_b | Present |
shape | Present |

function Mechanics.MultiBody.Frames.planarRotation

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
R := Orientation(T=outerProduct(e,e) + (identity(3) - outerProduct(e,e))* Math.cos(angle) - skew(e)*Math.sin(angle),w= e*der_angle); | R := Orientation(T=[e]*transpose([e]) + (identity(3) - [e]*transpose([e]))* Math.cos(angle) - skew(e)*Math.sin(angle),w= e*der_angle);

function Mechanics.MultiBody.Frames.axisRotation

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
R := Orientation(T=(if axis == 1 then [1,0,0; 0,Modelica323.Math.cos(angle), Modelica323.Math.sin(angle); 0,-Modelica323.Math.sin(angle), Modelica323.Math.cos(angle)] else if axis == 2 then [Modelica323.Math.cos( angle),0,-Modelica323.Math.sin(angle); 0,1,0; Modelica323.Math.sin(angle),0, Modelica323.Math.cos(angle)] else [Modelica323.Math.cos(angle), Modelica323.Math.sin(angle),0; -Modelica323.Math.sin(angle), Modelica323.Math.cos(angle),0; 0,0,1]), w=if axis == 1 then {der_angle,0,0} else if axis == 2 then {0,der_angle,0} else {0,0,der_angle}); | R := Orientation(T=(if axis == 1 then [1, 0, 0; 0, cos(angle), sin(angle); 0, -sin(angle), cos(angle)] else if axis == 2 then [cos(angle), 0, -sin( angle); 0, 1, 0; sin(angle), 0, cos(angle)] else [cos(angle), sin(angle), 0; -sin(angle), cos(angle), 0; 0, 0, 1]),w= if axis == 1 then {der_angle, 0,0} else if axis == 2 then {0,der_angle,0} else {0,0,der_angle});

function Mechanics.MultiBody.Frames.axesRotationsAngles

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... B = cross(e1_1, e2_1a)*e3_1;
if abs(A) <= 1e-12 and abs(B) <= 1e-12 then | if abs(A) <= 1.e-12 and abs(B) <= 1.e-12 then
angles[1] = guessAngle1; ...

function Mechanics.MultiBody.Frames.from_nxy

Component | Modelica 3.2.3 | Modelica 3.2.2
abs_n_x |  | Present
e_x |  | Present
n_z_aux |  | Present
n_y_aux |  | Present
e_z_aux |  | Present
e_z |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
R := Orientation(T=TransformationMatrices.from_nxy(n_x,n_y),w= zeros(3)); | R := Orientation(T={e_x,cross(e_z, e_x),e_z},w= zeros(3));

function Mechanics.MultiBody.Frames.from_nxz

Component | Modelica 3.2.3 | Modelica 3.2.2
abs_n_x |  | Present
e_x |  | Present
n_y_aux |  | Present
n_z_aux |  | Present
e_y_aux |  | Present
e_y |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
R := Orientation(T=TransformationMatrices.from_nxz(n_x,n_z),w= zeros(3)); | R := Orientation(T={e_x,e_y,cross(e_x, e_y)},w= zeros(3));

function Mechanics.MultiBody.Frames.Quaternions.multipleResolve1

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
v1 := ((2*Q[4]*Q[4] - 1)*identity(3) + 2*(outerProduct(Q[1:3],Q[1:3]) + Q[4]*skew(Q[1:3])))*v2; | v1 := ((2*Q[4]*Q[4] - 1)*identity(3) + 2*([Q[1:3]]*transpose([Q[1:3]]) + Q[4]*skew(Q[1:3])))*v2;

function Mechanics.MultiBody.Frames.Quaternions.multipleResolve2

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
v2 := ((2*Q[4]*Q[4] - 1)*identity(3) + 2*(outerProduct(Q[1:3],Q[1:3]) - Q[4]*skew(Q[1:3])))*v1; | v2 := ((2*Q[4]*Q[4] - 1)*identity(3) + 2*([Q[1:3]]*transpose([Q[1:3]]) - Q[4]*skew(Q[1:3])))*v1;

function Mechanics.MultiBody.Frames.TransformationMatrices.planarRotation

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
T := outerProduct(e,e) + (identity(3) - outerProduct(e,e))*Math.cos( angle) - skew(e)*Math.sin(angle); | T := [e]*transpose([e]) + (identity(3) - [e]*transpose([e]))*Math.cos( angle) - skew(e)*Math.sin(angle);

function Mechanics.MultiBody.Frames.TransformationMatrices.axisRotation

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
T := if axis == 1 then [1,0,0; 0,Modelica323.Math.cos(angle), Modelica323.Math.sin(angle); 0,-Modelica323.Math.sin(angle), Modelica323.Math.cos(angle)] else if axis == 2 then [Modelica323.Math.cos( angle),0,-Modelica323.Math.sin(angle); 0,1,0; Modelica323.Math.sin(angle),0, Modelica323.Math.cos(angle)] else [Modelica323.Math.cos(angle), Modelica323.Math.sin(angle),0; -Modelica323.Math.sin(angle), Modelica323.Math.cos(angle),0; 0,0,1]; | T := if axis == 1 then [1, 0, 0; 0, cos(angle), sin(angle); 0, -sin(angle), cos(angle)] else if axis == 2 then [cos(angle), 0, -sin(angle); 0, 1, 0; sin(angle), 0, cos(angle)] else [cos(angle), sin(angle), 0; -sin( angle), cos(angle), 0; 0, 0, 1];

function Mechanics.MultiBody.Frames.TransformationMatrices.axesRotationsAngles

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... B = cross(e1_1, e2_1a)*e3_1;
if abs(A) <= 1e-12 and abs(B) <= 1e-12 then | if abs(A) <= 1.e-12 and abs(B) <= 1.e-12 then
angles[1] = guessAngle1; ...

function Mechanics.MultiBody.Frames.TransformationMatrices.from_nxy

Component | Modelica 3.2.3 | Modelica 3.2.2
e_x | =if length(n_x) < 1e-10 then {1,0,0} else normalize(n_x) | =if abs_n_x < 1.e-10 then {1,0,0} else n_x/abs_n_x
e_z | =normalize(e_z_aux) | =e_z_aux/sqrt(e_z_aux*e_z_aux)
abs_n_x |  | Present

function Mechanics.MultiBody.Frames.TransformationMatrices.from_nxz

Component | Modelica 3.2.3 | Modelica 3.2.2
e_x | =if length(n_x) < 1e-10 then {1,0,0} else normalize(n_x) | =if abs_n_x < 1.e-10 then {1,0,0} else n_x/abs_n_x
e_y | =normalize(e_y_aux) | =e_y_aux/sqrt(e_y_aux*e_y_aux)
abs_n_x |  | Present

model Mechanics.MultiBody.Interfaces.PartialForce

Component | Modelica 3.2.3 | Modelica 3.2.2
frame_a |  | Present
frame_b |  | Present
world |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| assert(cardinality(frame_a) > 0, "Connector frame_a of force object is not connected"); assert(cardinality(frame_b) > 0, "Connector frame_b of force object is not connected");
r_rel_b = Frames.resolve2(frame_b.R, frame_b.r_0 - frame_a.r_0); ...

model Mechanics.MultiBody.Interfaces.PartialLineForce

Component | Modelica 3.2.3 | Modelica 3.2.2
s_small |  | Present
fixedRotationAtFrame_a |  | Present
fixedRotationAtFrame_b |  | Present
frame_a |  | Present
frame_b |  | Present
s |  | Present
world |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
r_rel_a = Frames.resolve2(frame_a.R, r_rel_0); | assert(cardinality(frame_a) > 0, "Connector frame_a of line force object is not connected");
| assert(cardinality(frame_b) > 0, "Connector frame_b of line force object is not connected"); r_rel_a = Frames.resolve2(frame_a.R, frame_b.r_0 - frame_a.r_0); s = noEvent(max(Modelica322.Math.Vectors.length(r_rel_a), s_small));
e_a = r_rel_a/s; ... frame_b.f = -Frames.resolve2(Frames.relativeRotation(frame_a.R, frame_b.R), frame_a.f);
| if fixedRotationAtFrame_a then Connections.root(frame_a.R); frame_a.R = Frames.nullRotation(); else frame_a.t = zeros(3); end if; if fixedRotationAtFrame_b then Connections.root(frame_b.R); frame_b.R = Frames.nullRotation(); else frame_b.t = zeros(3); end if;

model Mechanics.MultiBody.Joints.RevolutePlanarLoopConstraint

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... ey_b = Frames.resolve2(R_rel, ey_a);
assert(noEvent(abs(e*r_rel_a) <= 1e-10 and abs(e*ex_b) <= 1e-10 and abs(e*ey_b) <= 1e-10), " The MultiBody.Joints.RevolutePlanarLoopConstraint joint is used as cut-joint of a planar loop. However, the revolute joint is not part of a planar loop where the axis of the revolute joint (parameter n) is orthogonal to the possible movements. Either use instead joint MultiBody.Joints.Revolute or correct the definition of the axes vectors n in the revolute joints of the planar loop. "); | assert(noEvent(abs(e*r_rel_a) <= 1.e-10 and abs(e*ex_b) <= 1.e-10 and abs(e*ey_b) <= 1.e-10), " The MultiBody.Joints.RevolutePlanarLoopConstraint joint is used as cut-joint of a planar loop. However, the revolute joint is not part of a planar loop where the axis of the revolute joint (parameter n) is orthogonal to the possible movements. Either use instead joint MultiBody.Joints.Revolute or correct the definition of the axes vectors n in the revolute joints of the planar loop. ");

model Mechanics.MultiBody.Joints.UniversalSpherical

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... length2_n2_a = n2_a*n2_a;
assert(length2_n2_a > 1e-10, " A Modelica.Mechanics.MultiBody.Joints.UniversalSpherical joint (consisting of a universal joint and a spherical joint connected together by a rigid rod) is in the singular configuration of the universal joint. This means that axis 1 of the universal joint defined via parameter \"n1_a\" is parallel to vector \"rRod_ia\" that is directed from the origin of frame_a to the origin of frame_b. You may try to use another \"n1_a\" vector. If this fails, use instead Modelica.Mechanics.MultiBody.Joints.SphericalSpherical, if this is possible, because this joint aggregation does not have a singular configuration. "); | assert(length2_n2_a > 1.e-10, " A Modelica.Mechanics.MultiBody.Joints.UniversalSpherical joint (consisting of a universal joint and a spherical joint connected together by a rigid rod) is in the singular configuration of the universal joint. This means that axis 1 of the universal joint defined via parameter \"n1_a\" is parallel to vector \"rRod_ia\" that is directed from the origin of frame_a to the origin of frame_b. You may try to use another \"n1_a\" vector. If this fails, use instead Modelica.Mechanics.MultiBody.Joints.SphericalSpherical, if this is possible, because this joint aggregation does not have a singular configuration. ");
length_n2_a = sqrt(length2_n2_a); ...

model Mechanics.MultiBody.Joints.Assemblies.JointUPS

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... length2_n2_a = n2_a*n2_a;
assert(noEvent(length2_n2_a > 1e-10), " A Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUPS joint (consisting of a universal, prismatic and spherical joint) is in the singular configuration of the universal joint. This means that axis 1 of the universal joint defined via parameter \"n1_a\" is parallel to vector \"eAxis_ia\" that is directed from the origin of frame_a to the origin of frame_b. You may try to use another \"n1_a\" vector. "); | assert(noEvent(length2_n2_a > 1.e-10), " A Modelica.Mechanics.MultiBody.Joints.Assemblies.JointUPS joint (consisting of a universal, prismatic and spherical joint) is in the singular configuration of the universal joint. This means that axis 1 of the universal joint defined via parameter \"n1_a\" is parallel to vector \"eAxis_ia\" that is directed from the origin of frame_a to the origin of frame_b. You may try to use another \"n1_a\" vector. ");
length_n2_a = sqrt(length2_n2_a); ...

model Mechanics.MultiBody.Joints.Assemblies.JointUSR

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
aux = cross(revolute.e, rRod2_ib)*Frames.resolveRelative(rod1.eRod_a, rod1.frame_a.R, rod1.frame_b.R);
f_rod = (-revolute.tau - revolute.e*(frame_ib.t + frame_im.t + cross( rRod2_ib, frame_im.f) - cross(rRod2_ib, Frames.resolveRelative(rod1. f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1e-10 then 1e-10 else aux); | f_rod = (-revolute.tau - revolute.e*(frame_ib.t + frame_im.t + cross( rRod2_ib, frame_im.f) - cross(rRod2_ib, Frames.resolveRelative(rod1. f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1.e-10 then 1.e-10 else aux);
if checkTotalPower then ...

model Mechanics.MultiBody.Joints.Assemblies.JointUSP

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
aux = prismatic.e*Frames.resolveRelative(rod1.eRod_a, rod1.frame_a.R, rod1.frame_b.R);
f_rod = (-prismatic.f - prismatic.e*(frame_ib.f + frame_im.f - Frames.resolveRelative(rod1.f_b_a1, rod1.frame_a.R, rod1.frame_b.R)))/ noEvent(if abs(aux) < 1e-10 then 1e-10 else aux); | f_rod = (-prismatic.f - prismatic.e*(frame_ib.f + frame_im.f - Frames.resolveRelative(rod1.f_b_a1, rod1.frame_a.R, rod1.frame_b.R)))/ noEvent(if abs(aux) < 1.e-10 then 1.e-10 else aux);
if checkTotalPower then ...

model Mechanics.MultiBody.Joints.Assemblies.JointSSR

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
aux = cross(revolute.e, rRod2_ib)*Frames.resolveRelative(rod1.eRod_a, rod1.frame_a.R, rod1.frame_b.R);
f_rod = (-revolute.tau - revolute.e*(frame_ib.t + frame_im.t + cross( rRod2_ib, frame_im.f) - cross(rRod2_ib, Frames.resolveRelative(rod1. f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1e-10 then 1e-10 else aux); | f_rod = (-revolute.tau - revolute.e*(frame_ib.t + frame_im.t + cross( rRod2_ib, frame_im.f) - cross(rRod2_ib, Frames.resolveRelative(rod1. f_b_a1, rod1.frame_a.R, rod1.frame_b.R))))/noEvent(if abs(aux) < 1.e-10 then 1.e-10 else aux);
if checkTotalPower then ...

model Mechanics.MultiBody.Joints.Assemblies.JointSSP

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
aux = prismatic.e*Frames.resolveRelative(rod1.eRod_a, rod1.frame_a.R, rod1.frame_b.R);
f_rod = (-prismatic.f - prismatic.e*(frame_ib.f + frame_im.f))/ noEvent(if abs(aux) < 1e-10 then 1e-10 else aux); | f_rod = (-prismatic.f - prismatic.e*(frame_ib.f + frame_im.f))/ noEvent(if abs(aux) < 1.e-10 then 1.e-10 else aux);
if checkTotalPower then ...

model Mechanics.MultiBody.Joints.Internal.RevoluteWithLengthConstraint

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... k1a = k1 - C*C;
assert(k1a > 1e-10, " Singular position of loop (either no or two analytic solutions; the mechanism has lost one-degree-of freedom in this position). Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. In most cases it is best that the joints outside of the JointXXX component are revolute and NOT prismatic joints. If this also lead to singular positions, it could be that this kinematic loop cannot be solved analytically. In this case you have to build up the loop with basic joints (NO aggregation JointXXX components) and rely on dynamic state selection, i.e., during simulation the states will be dynamically selected in such a way that in no position a degree of freedom is lost. "); | assert(k1a > 1.e-10, " Singular position of loop (either no or two analytic solutions; the mechanism has lost one-degree-of freedom in this position). Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. In most cases it is best that the joints outside of the JointXXX component are revolute and NOT prismatic joints. If this also lead to singular positions, it could be that this kinematic loop cannot be solved analytically. In this case you have to build up the loop with basic joints (NO aggregation JointXXX components) and rely on dynamic state selection, i.e., during simulation the states will be dynamically selected in such a way that in no position a degree of freedom is lost. ");
k1b = Frames.Internal.maxWithoutEvent(k1a, 1.0e-12); ...

model Mechanics.MultiBody.Joints.Internal.PrismaticWithLengthConstraint

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... k1a = k1*k1 - C;
assert(noEvent(k1a > 1e-10), " Singular position of loop (either no or two analytic solutions; the mechanism has lost one-degree-of freedom in this position). Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. If this also lead to singular positions, it could be that this kinematic loop cannot be solved analytically with a fixed state selection. In this case you have to build up the loop with basic joints (NO aggregation JointXXX components) and rely on dynamic state selection, i.e., during simulation the states will be dynamically selected in such a way that in no position a degree of freedom is lost. "); | assert(noEvent(k1a > 1.e-10), " Singular position of loop (either no or two analytic solutions; the mechanism has lost one-degree-of freedom in this position). Try first to use another Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXXX component. If this also lead to singular positions, it could be that this kinematic loop cannot be solved analytically with a fixed state selection. In this case you have to build up the loop with basic joints (NO aggregation JointXXX components) and rely on dynamic state selection, i.e., during simulation the states will be dynamically selected in such a way that in no position a degree of freedom is lost. ");
k1b = Frames.Internal.maxWithoutEvent(k1a, 1.0e-12); ...

model Mechanics.MultiBody.Sensors.AbsoluteAngles

Component | Modelica 3.2.3 | Modelica 3.2.2
frame_a |  | Present

model Mechanics.MultiBody.Sensors.RelativeAngles

Component | Modelica 3.2.3 | Modelica 3.2.2
frame_a |  | Present
frame_b |  | Present

model Mechanics.MultiBody.Sensors.Distance

Component | Modelica 3.2.3 | Modelica 3.2.2
s_small | =1e-10 | =1.E-10

model Mechanics.MultiBody.Visualizers.VoluminousWheel

Component | Modelica 3.2.3 | Modelica 3.2.2
ri | SIunits.Length | SIunits.Radius

model Mechanics.MultiBody.Visualizers.Advanced.Arrow

Component | Modelica 3.2.3 | Modelica 3.2.2
e_x | =noEvent(if length < 1e-10 then {1,0,0} else r_head/length) | =noEvent(if length < 1.e-10 then {1,0,0} else r_head/length)

model Mechanics.MultiBody.Visualizers.Advanced.DoubleArrow

Component | Modelica 3.2.3 | Modelica 3.2.2
e_x | =noEvent(if length < 1e-10 then {1,0,0} else r_head/length) | =noEvent(if length < 1.e-10 then {1,0,0} else r_head/length)

function Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.torus

Component | Modelica 3.2.3 | Modelica 3.2.2
ri | SIunits.Length | SIunits.Radius
ro | SIunits.Length | SIunits.Radius

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... beta = phi_start + (phi_stop-phi_start)*(j-1)/(nv-1);
X[i, j] = (ri + ro*Modelica323.Math.cos(beta))*Modelica323.Math.sin(alpha); | X[i,j] = (ri + ro*cos(beta))*sin(alpha);
Y[i, j] = ro*Modelica323.Math.sin(beta); | Y[i,j] = ro*sin(beta);
Z[i, j] = (ri + ro*Modelica323.Math.cos(beta))*Modelica323.Math.cos(alpha); | Z[i,j] = (ri + ro*cos(beta))*cos(alpha);
end for; ...

function Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.pipeWithScalarField

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... X[i,j] = length*xsi_i;
Y[i, j] = rOuter*Modelica323.Math.sin(beta); | Y[i,j] = rOuter*sin(beta);
Z[i, j] = rOuter*Modelica323.Math.cos(beta); | Z[i,j] = rOuter*cos(beta);
C[i,j,:] = Ci; ...

package Mechanics.MultiBody.Types.Defaults

Component | Modelica 3.2.3 | Modelica 3.2.2
BodyCylinderDiameterFraction | Real | SIunits.Diameter

model Mechanics.Rotational.Examples.CoupledClutches

Component | Modelica 3.2.3 | Modelica 3.2.2
sin2 | phase=1.570796326794897 | phase=1.57

model Mechanics.Rotational.Examples.GenerationOfFMUs

Component | Modelica 3.2.3 | Modelica 3.2.2
force3 | Present |
sine2 |  | Present
sine3 |  | Present
torque3 |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... connect(inverseInertia.tau, directInertia.tau);
connect(sine1.y, torque2.tau); connect(sine1.y, force3.tau); connect(torqueToAngle2b.flange, inertia2b.flange_a); connect(inertia2a.flange_b, torqueToAngle2a.flange); |
connect(torque2.flange, inertia2a.flange_a);
| connect(sine2.y, torque2.tau); connect(inertia2a.flange_b, torqueToAngle2a.flange); connect(torqueToAngle2a.phi, springDamper.phi1); connect(torqueToAngle2a.w, springDamper.w1); connect(springDamper.tau1, torqueToAngle2a.tau); connect(torqueToAngle2b.phi, springDamper.phi2); connect(torqueToAngle2b.w, springDamper.w2); connect(springDamper.tau2, torqueToAngle2b.tau); connect(inertia2b.flange_a, torqueToAngle2b.flange); connect(torque3.flange, inertia3a.flange_a); connect(sine3.y, torque3.tau);
connect(inertia3a.flange_b, torqueToAngle3a.flange);
connect(force3.flange, inertia3a.flange_a); | connect(torqueToAngle3a.phi, spring.phi1);
connect(torqueToAngle3b.flange, inertia3b.flange_a); | connect(spring.tau1, torqueToAngle3a.tau);
connect(torqueToAngle2a.phi, springDamper.phi1); | connect(torqueToAngle3b.phi, spring.phi2);
connect(torqueToAngle2a.w, springDamper.w1); | connect(spring.tau2, torqueToAngle3b.tau);
connect(torqueToAngle2a.tau, springDamper.tau1); | connect(inertia3b.flange_a, torqueToAngle3b.flange);
connect(springDamper.tau2, torqueToAngle2b.tau); connect(springDamper.phi2, torqueToAngle2b.phi); connect(springDamper.w2, torqueToAngle2b.w); connect(torqueToAngle3a.phi, spring.phi1); connect(torqueToAngle3a.tau, spring.tau1); connect(spring.phi2, torqueToAngle3b.phi); connect(spring.tau2, torqueToAngle3b.tau); |

model Mechanics.Rotational.Examples.Utilities.DirectInertia

Component | Modelica 3.2.3 | Modelica 3.2.2
torqueSource | Present |
torque |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
connect(tauDrive, torqueSource.tau); | connect(torque.flange, inertia.flange_a);
connect(torqueSource.flange, inertia.flange_a); | connect(torque.tau, tauDrive);
connect(inertia.flange_b, torqueToAngle.flange); ... connect(torqueToAngle.w, w);
| connect(torqueToAngle.tau, tau);
connect(torqueToAngle.a, a);
connect(torqueToAngle.tau, tau); |

model Mechanics.Rotational.Examples.Utilities.InverseInertia

Component | Modelica 3.2.3 | Modelica 3.2.2
inertia | phi(start=0) | phi(start=0, fixed=false)
w(start=0) | w(start=0, fixed=false)

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| connect(angleToTorque.phi, phi); connect(angleToTorque.w, w); connect(angleToTorque.a, a);
connect(angleToTorque.flange, inertia.flange_a);
connect(phi, angleToTorque.phi); | connect(angleToTorque.tau, tau);
connect(w, angleToTorque.w); connect(a, angleToTorque.a); connect(tau, angleToTorque.tau); |

model Mechanics.Rotational.Examples.Utilities.SpringDamper

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| connect(angleToTorque1.phi, phi1); connect(angleToTorque1.w, w1); connect(angleToTorque1.tau, tau1); connect(angleToTorque1.flange, springDamper.flange_a);
connect(springDamper.flange_b, angleToTorque2.flange);
connect(angleToTorque1.flange, springDamper.flange_a); | connect(phi2, angleToTorque2.phi);
connect(phi1, angleToTorque1.phi); | connect(w2, angleToTorque2.w);
connect(w1, angleToTorque1.w); | connect(angleToTorque2.tau, tau2);
connect(tau1, angleToTorque1.tau); connect(angleToTorque2.phi, phi2); connect(w2, angleToTorque2.w); connect(angleToTorque2.tau, tau2); |

model Mechanics.Rotational.Examples.Utilities.Spring

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| connect(angleToTorque1.phi, phi1); connect(angleToTorque1.tau, tau1);
connect(angleToTorque1.flange, spring.flange_a);
connect(spring.flange_b, angleToTorque2.flange);
connect(phi1, angleToTorque1.phi); | connect(phi2, angleToTorque2.phi);
connect(tau1, angleToTorque1.tau); | connect(angleToTorque2.tau, tau2);
connect(angleToTorque2.phi, phi2); connect(angleToTorque2.tau, tau2); |

model Mechanics.Rotational.Components.Inertia

Component | Modelica 3.2.3 | Modelica 3.2.2
flange_a |  | Present
flange_b |  | Present

model Mechanics.Rotational.Sources.SignTorque

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if reg == Modelica323.Blocks.Types.Regularization.Exp then
tau = tau_constant*(2/(1 + Modelica323.Math.exp(-w/(0.01*w0))) - 1); | tau = tau_constant*(2/(1+exp(-w/(0.01*w0)))-1);
elseif reg == Modelica323.Blocks.Types.Regularization.Sine then
tau = tau_constant*smooth(1, (if abs(w) >= w0 then sign(w) else Modelica323.Math.sin(pi/2*w/w0))); | tau = tau_constant*smooth(1, (if abs(w)>=w0 then sign(w) else sin(pi/2*w/w0)));
elseif reg == Modelica323.Blocks.Types.Regularization.Linear then ... else
tau = tau_constant*(if abs(w) >= w0 then sign(w) else sign(w)*(1 - Modelica323.Math.cos(pi/2*w/w0))); | tau = tau_constant*(if abs(w)>=w0 then sign(w) else sign(w)*(1 - cos(pi/2*w/w0)));
end if;

connector Mechanics.Rotational.Interfaces.Flange_a

Component | Modelica 3.2.3 | Modelica 3.2.2
phi |  | Present
tau |  | Present

connector Mechanics.Rotational.Interfaces.Flange_b

Component | Modelica 3.2.3 | Modelica 3.2.2
phi |  | Present
tau |  | Present

connector Mechanics.Rotational.Interfaces.Support

Component | Modelica 3.2.3 | Modelica 3.2.2
phi |  | Present
tau |  | Present

model Mechanics.Translational.Examples.SignConvention

Component | Modelica 3.2.3 | Modelica 3.2.2
force3 | useSupport=false | useSupport=true

function Mechanics.Translational.Examples.Utilities.GenerateStribeckFrictionTable

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... table[i, 1] = v_max*(i - 1)/(nTable - 1);
table[i, 2] = F_Coulomb + F_prop*table[i, 1] + F_Stribeck*Modelica323.Math.exp( -fexp*table[i, 1]); | table[i, 2] = F_Coulomb + F_prop*table[i, 1] + F_Stribeck*exp(-fexp* table[i, 1]);
end for; ...

model Mechanics.Translational.Components.MassWithStopAndFriction

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... 0 = flange_a.f + flange_b.f - f - m*der(v);
f = if locked then sa*unitForce else if free then 0 else (if startForward then F_prop*v + F_Coulomb + F_Stribeck else if startBackward then F_prop*v - F_Coulomb - F_Stribeck else if pre(mode) == Forward then F_prop*v + F_Coulomb + F_Stribeck*Modelica323.Math.exp(-fexp*abs(v)) else F_prop*v - F_Coulomb - F_Stribeck*Modelica323.Math.exp(-fexp*abs(v))); | f = if locked then sa*unitForce else if free then 0 else (if startForward then F_prop*v + F_Coulomb + F_Stribeck else if startBackward then F_prop*v - F_Coulomb - F_Stribeck else if pre(mode) == Forward then F_prop*v + F_Coulomb + F_Stribeck*exp(-fexp*abs(v)) else F_prop*v - F_Coulomb - F_Stribeck*exp(-fexp*abs(v)));
lossPower = f*v_relfric; ...

model Mechanics.Translational.Sources.SignForce

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if reg == Modelica323.Blocks.Types.Regularization.Exp then
f = -f_nominal*(2/(1 + Modelica323.Math.exp(-v/(0.01*v0))) - 1); | f = -f_nominal*(2/(1+exp(-v/(0.01*v0)))-1);
elseif reg == Modelica323.Blocks.Types.Regularization.Sine then
f = -f_nominal*smooth(1, (if abs(v) >= v0 then sign(v) else Modelica323.Math.sin(pi/2*v/v0))); | f = -f_nominal*smooth(1, (if abs(v)>=v0 then sign(v) else sin(pi/2*v/v0)));
elseif reg == Modelica323.Blocks.Types.Regularization.Linear then ... else
f = -f_nominal*(if abs(v) >= v0 then sign(v) else sign(v)*(1 - Modelica323.Math.cos(pi/2*v/v0))); | f = -f_nominal*(if abs(v)>=v0 then sign(v) else sign(v)*(1 - cos(pi/2*v/v0)));
end if;

connector Mechanics.Translational.Interfaces.Flange_a

Component | Modelica 3.2.3 | Modelica 3.2.2
s |  | Present
f |  | Present

connector Mechanics.Translational.Interfaces.Flange_b

Component | Modelica 3.2.3 | Modelica 3.2.2
s |  | Present
f |  | Present

connector Mechanics.Translational.Interfaces.Support

Component | Modelica 3.2.3 | Modelica 3.2.2
s |  | Present
f |  | Present

model Fluid.Examples.HeatingSystem

Component | Modelica 3.2.3 | Modelica 3.2.2
tank | ports(each p(start=1.1e5)) | ports(each p(start=1e5))

model Fluid.Examples.DrumBoiler.DrumBoiler

Component | Modelica 3.2.3 | Modelica 3.2.2
T_S | final unit="degC" |
p_S | final unit="bar" |
qm_S | unit="kg/s" |
V_l | unit="m3" |

model Fluid.Examples.DrumBoiler.BaseClasses.EquilibriumDrumBoiler

Component | Modelica 3.2.3 | Modelica 3.2.2
V | unit="m3" |

model Fluid.Examples.Tanks.TanksWithOverflow

Component | Modelica 3.2.3 | Modelica 3.2.2
upperTank | portsData={Modelica323.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1),Modelica323.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1),Modelica323.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1, height=6)} | portsData={Modelica322.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1),Modelica322.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1),Modelica322.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1, height=10)}
pipe | height_ab=-5 | height_ab=-20
lowerTank | portsData={Modelica323.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1),Modelica323.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1, height=6)} | portsData={Modelica322.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1),Modelica322.Fluid.Vessels.BaseClasses.VesselPortsData(diameter=0.1, height=10)}
overflow | height_ab=-5 | height_ab=-20

block Fluid.Examples.ControlledTankSystem.Utilities.RadioButton

Component | Modelica 3.2.3 | Modelica 3.2.2
on | start=false |
fixed=true |
table | y(start=false, fixed=true) |

model Fluid.Examples.AST_BatchPlant.BaseClasses.TankWith3InletOutletArraysWithEvaporatorCondensor

Component | Modelica 3.2.3 | Modelica 3.2.2
height |  | min=0
level_start |  | min=0
sat | Media.Water.WaterIF97_base.SaturationProperties | Media.Interfaces.Types.SaturationProperties

model Fluid.Examples.AST_BatchPlant.BaseClasses.Controller

Component | Modelica 3.2.3 | Modelica 3.2.2
BooleanExpression1 | y=time >= 2500 | y=time > 2500

model Fluid.Examples.HeatExchanger.BaseClasses.BasicHX

Component | Modelica 3.2.3 | Modelica 3.2.2
roughness_1 | Fluid.Types.Roughness | SIunits.Length
roughness_2 | Fluid.Types.Roughness | SIunits.Length

model Fluid.Examples.TraceSubstances.RoomCO2WithControls

Component | Modelica 3.2.3 | Modelica 3.2.2
volume | medium(Xi(each nominal=0.01)) |
| medium(Xi(nominal=0.01))
ductOut | mediums(each Xi(each nominal=0.01)) |
| mediums(each Xi(nominal=0.01))
ductIn | mediums(each Xi(each nominal=0.01)) |
| mediums(each Xi(nominal=0.01))

model Fluid.Examples.InverseParameterization

Component | Modelica 3.2.3 | Modelica 3.2.2
system | m_flow_start=0.4 |

model Fluid.Pipes.BaseClasses.PartialStraightPipe

Component | Modelica 3.2.3 | Modelica 3.2.2
perimeter | min=0 |
roughness | Fluid.Types.Roughness | SIunits.Height

model Fluid.Pipes.BaseClasses.PartialTwoPortFlow

Component | Modelica 3.2.3 | Modelica 3.2.2
roughnesses | Fluid.Types.Roughness | SIunits.Height
roughnessesFM | Fluid.Types.Roughness | SIunits.Height

model Fluid.Pipes.BaseClasses.FlowModels.PartialStaggeredFlowModel

Component | Modelica 3.2.3 | Modelica 3.2.2
roughnesses | Fluid.Types.Roughness | SIunits.Height

model Fluid.Pipes.BaseClasses.FlowModels.PartialGenericPipeFlow

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... equation for i in 1:n-1 loop
assert(m_flows[i] > -m_flow_small or allowFlowReversal, "Reversing flow occurs even though allowFlowReversal is false"); | assert(m_flows[i] > -m_flow_small or allowFlowReversal, "Reverting flow occurs even though allowFlowReversal is false");
end for; ...

model Fluid.Pipes.BaseClasses.HeatTransfer.PartialFlowHeatTransfer

Component | Modelica 3.2.3 | Modelica 3.2.2
roughnesses | Fluid.Types.Roughness | SIunits.Height

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

Component | Modelica 3.2.3 | Modelica 3.2.2
roughness | Fluid.Types.Roughness | SIunits.Length

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

Component | Modelica 3.2.3 | Modelica 3.2.2
g_times_height_ab | unit="m2/s2" |
roughness | Fluid.Types.Roughness | SIunits.Length

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

Component | Modelica 3.2.3 | Modelica 3.2.2
roughness | Fluid.Types.Roughness | SIunits.Length

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

Component | Modelica 3.2.3 | Modelica 3.2.2
g_times_height_ab | unit="m2/s2" |
roughness | Fluid.Types.Roughness | SIunits.Length

function Fluid.Pipes.BaseClasses.WallFriction.Laminar.massFlowRate_dp_staticHead

Component | Modelica 3.2.3 | Modelica 3.2.2
dp_grav_a | SIunits.Pressure | Real
dp_grav_b | SIunits.Pressure | Real

function Fluid.Pipes.BaseClasses.WallFriction.Laminar.pressureLoss_m_flow_staticHead

Component | Modelica 3.2.3 | Modelica 3.2.2
dp_grav_a | SIunits.Pressure | Real
dp_grav_b | SIunits.Pressure | Real
m_flow_a | SIunits.MassFlowRate | Real
m_flow_b | SIunits.MassFlowRate | Real

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

Component | Modelica 3.2.3 | Modelica 3.2.2
m_flow_a | SIunits.MassFlowRate | Real
m_flow_b | SIunits.MassFlowRate | Real

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

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

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

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

function Fluid.Pipes.BaseClasses.WallFriction.LaminarAndQuadraticTurbulent.Internal.m_flow_of_dp_fric

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

function Fluid.Pipes.BaseClasses.WallFriction.LaminarAndQuadraticTurbulent.Internal.dp_fric_of_m_flow

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

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

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

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

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

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

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

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

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

function Fluid.Pipes.BaseClasses.WallFriction.Detailed.Internal.m_flow_of_dp_fric

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

function Fluid.Pipes.BaseClasses.WallFriction.Detailed.Internal.dp_fric_of_m_flow

Component | Modelica 3.2.3 | Modelica 3.2.2
Delta | min=0 |

model Fluid.Pipes.BaseClasses.WallFriction.TestWallFrictionAndGravity

Component | Modelica 3.2.3 | Modelica 3.2.2
roughness | Fluid.Types.Roughness | SIunits.Length
mu_a | =if not WallFriction.use_mu then 1e-10 else (if use_nominal then mu_nominal else Medium.dynamicViscosity(state_a)) | =if not WallFriction.use_mu then 1.e-10 else (if use_nominal then mu_nominal else Medium.dynamicViscosity(state_a))
mu_b | =if not WallFriction.use_mu then 1e-10 else (if use_nominal then mu_nominal else Medium.dynamicViscosity(state_b)) | =if not WallFriction.use_mu then 1.e-10 else (if use_nominal then mu_nominal else Medium.dynamicViscosity(state_b))

model Fluid.Machines.ControlledPump

Component | Modelica 3.2.3 | Modelica 3.2.2
head_op | SIunits.Position | SIunits.Height

model Fluid.Machines.BaseClasses.PartialPump

Component | Modelica 3.2.3 | Modelica 3.2.2
delta_head_init | SIunits.Position | SIunits.Height
head | SIunits.Position | SIunits.Height
unitHead | SIunits.Position | SIunits.Height

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if not checkValve then
head = homotopy((N/N_nominal)^2*flowCharacteristic(V_flow_single*N_nominal/N), N/N_nominal*(flowCharacteristic(V_flow_single_init)+(V_flow_single-V_flow_single_init)*noEvent(if abs(V_flow_single_init)>0 then delta_head_init/(0.1*V_flow_single_init) else 0))); | 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;
else
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(V_flow_single_init)+(V_flow_single-V_flow_single_init)*noEvent(if abs(V_flow_single_init)>0 then delta_head_init/(0.1*V_flow_single_init) else 0))); | 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 = homotopy(if s > 0 then s*unitMassFlowRate/rho else 0, s*unitMassFlowRate/rho_nominal); ...

function Fluid.Machines.BaseClasses.PumpCharacteristics.baseFlow

Component | Modelica 3.2.3 | Modelica 3.2.2
head | SIunits.Position | SIunits.Height

function Fluid.Machines.BaseClasses.PumpCharacteristics.linearFlow

Component | Modelica 3.2.3 | Modelica 3.2.2
head_nominal | SIunits.Position | SIunits.Height

function Fluid.Machines.BaseClasses.PumpCharacteristics.quadraticFlow

Component | Modelica 3.2.3 | Modelica 3.2.2
head_nominal | SIunits.Position | SIunits.Height

function Fluid.Machines.BaseClasses.PumpCharacteristics.polynomialFlow

Component | Modelica 3.2.3 | Modelica 3.2.2
head_nominal | SIunits.Position | SIunits.Height

model Fluid.Machines.BaseClasses.PumpMonitoring.PumpMonitoringNPSH

Component | Modelica 3.2.3 | Modelica 3.2.2
NPSHa | SIunits.Position | SIunits.Length

model Fluid.Valves.BaseClasses.PartialValve

Component | Modelica 3.2.3 | Modelica 3.2.2
Av | fixed=CvData == Modelica323.Fluid.Types.CvTypes.Av | fixed=if CvData == Modelica322.Fluid.Types.CvTypes.Av then true else false

model Fluid.Fittings.BaseClasses.QuadraticTurbulent.TestWallFriction

Component | Modelica 3.2.3 | Modelica 3.2.2
roughness | Fluid.Types.Roughness | SIunits.Length

model Fluid.Sources.FixedBoundary

Component | Modelica 3.2.3 | Modelica 3.2.2
C | =Medium.C_default | =fill(0, Medium.nC)

model Fluid.Sources.Boundary_pT

Component | Modelica 3.2.3 | Modelica 3.2.2
C | =Medium.C_default | =fill(0, Medium.nC)

model Fluid.Sources.Boundary_ph

Component | Modelica 3.2.3 | Modelica 3.2.2
C | =Medium.C_default | =fill(0, Medium.nC)

model Fluid.Sources.MassFlowSource_T

Component | Modelica 3.2.3 | Modelica 3.2.2
C | =Medium.C_default | =fill(0, Medium.nC)

model Fluid.Sources.MassFlowSource_h

Component | Modelica 3.2.3 | Modelica 3.2.2
C | =Medium.C_default | =fill(0, Medium.nC)

model Fluid.Sources.BaseClasses.PartialFlowSource

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
assert(abs(sum(abs(ports.m_flow)) - max(abs(ports.m_flow))) <= Modelica323.Constants.small, "FlowSource only supports one connection with flow");
assert(nPorts > 0, "At least one port needs to be present (nPorts > 0), otherwise the model is singular"); |
for i in 1:nPorts loop ...

model Fluid.Sensors.MassFractionsTwoPort

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... ind:= -1;
for i in 1:Medium.nXi loop | for i in 1:Medium.nC loop
if (Modelica323.Utilities.Strings.isEqual(Medium.substanceNames[i], substanceName)) then ...

model Fluid.Interfaces.PartialTwoPortTransport

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... m_flow = port_a.m_flow;
assert(m_flow > -m_flow_small or allowFlowReversal, "Reversing flow occurs even though allowFlowReversal is false"); | assert(m_flow > -m_flow_small or allowFlowReversal, "Reverting flow occurs even though allowFlowReversal is false");
port_a.m_flow + port_b.m_flow = 0; ...

model Fluid.Interfaces.PartialLumpedVolume

Component | Modelica 3.2.3 | Modelica 3.2.2
C_start | =Medium.C_default | =fill(0, Medium.nC)
medium | preferredMediumStates=(if energyDynamics == Dynamics.SteadyState and massDynamics == Dynamics.SteadyState then false else true) | preferredMediumStates=true

model Fluid.Interfaces.PartialDistributedVolume

Component | Modelica 3.2.3 | Modelica 3.2.2
C_start | =Medium.C_default | =fill(0, Medium.nC)

function Fluid.Dissipation.HeatTransfer.Channel.kc_evenGapLaminar_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*d_hyd/max(MIN, IN_var.eta)) | =max(1, IN_var.rho*velocity*d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.Channel.kc_evenGapOverall_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*d_hyd/max(MIN, IN_var.eta)) | =max(1, IN_var.rho*velocity*d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.Channel.kc_evenGapTurbulent_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =max(MIN, (IN_var.rho*velocity*d_hyd/max(MIN, IN_var.eta))) | =max(2.6, IN_var.rho*velocity*d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(4*abs(IN_var.m_flow)/max(MIN, IN_con.perimeter*IN_var.eta)) | =max(1, 4*abs(IN_var.m_flow)/max(MIN, IN_con.perimeter*IN_var.eta))

function Fluid.Dissipation.HeatTransfer.HeatExchanger.kc_flatTube

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if IN_con.geometry == TYP.LouverFin then
Re = abs(IN_var.m_flow)*IN_con.L_p/(IN_var.eta*A_c); | Re = max(1e-3, abs(IN_var.m_flow)*IN_con.L_p/(IN_var.eta*A_c));
Nu = max(1e-3, kc*IN_con.L_p/IN_var.lambda);
elseif IN_con.geometry == TYP.RectangularFin then
Re = abs(IN_var.m_flow)*IN_con.D_h/(IN_var.eta*A_c); | Re = max(1e-3, abs(IN_var.m_flow)*IN_con.D_h/(IN_var.eta*A_c));
Nu = max(1e-3, kc*IN_con.D_h/IN_var.lambda); ...

function Fluid.Dissipation.HeatTransfer.HeatExchanger.kc_flatTube_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re_Dh | =max(MIN, (abs(IN_var.m_flow)*IN_con.D_h/(IN_var.eta*A_c))) | =max(1e-3, abs(IN_var.m_flow)*IN_con.D_h/(IN_var.eta*A_c))
Re_Lp | =max(MIN, (abs(IN_var.m_flow)*IN_con.L_p/(IN_var.eta*A_c))) | =max(1e-3, abs(IN_var.m_flow)*IN_con.L_p/(IN_var.eta*A_c))

function Fluid.Dissipation.HeatTransfer.HeatExchanger.kc_roundTube

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if IN_con.geometry == TYP.PlainFin or IN_con.geometry == TYP.LouverFin or IN_con.geometry == TYP.SlitFin or IN_con.geometry == TYP.WavyFin then
Re = abs(IN_var.m_flow)*IN_con.D_c/(IN_var.eta*A_c); | Re = max(1e-3, abs(IN_var.m_flow)*IN_con.D_c/(IN_var.eta*A_c));
Nu = max(1e-3, kc*IN_con.D_c/IN_var.lambda); ...

function Fluid.Dissipation.HeatTransfer.HeatExchanger.kc_roundTube_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re_Dc | =max(MIN, (abs(IN_var.m_flow)*IN_con.D_c/(IN_var.eta*A_c))) | =max(1e-3, abs(IN_var.m_flow)*IN_con.D_c/(IN_var.eta*A_c))
Re_i | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... elseif IN_con.geometry == TYP.WavyFin then
Re_i = 2*exp(2.921)^(1/(A_c/IN_con.A_fr)); | if Re_Dc < exp(2.921) then
if Re_Dc > Re_i then | j = 1.201/(log(exp(2.921)^(A_c/IN_con.A_fr)))^2.921;
j = 1.201/((Modelica323.Math.log(Re_Dc^(A_c/IN_con.A_fr)))^2.921); | kc = j*(exp(2.921)*Pr^(1/3)*IN_var.lambda/IN_con.D_c);
else
j = (Re_Dc - Re_i)*(-1.201*2.921*(A_c/IN_con.A_fr)/((Modelica323.Math.log(Re_i^ (A_c/IN_con.A_fr)))^3.921*Re_i)) + 1.201/((Modelica323.Math.log(Re_i^(A_c/ IN_con.A_fr)))^2.921); | j = 1.201/((log(Re_Dc^(A_c/IN_con.A_fr)))^2.921);
| kc = j*(Re_Dc*Pr^(1/3)*IN_var.lambda/IN_con.D_c);
end if;
kc = j*(Re_Dc*Pr^(1/3)*IN_var.lambda/IN_con.D_c); |
else ...

function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_laminar

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda));
Re = abs(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)); | Re = max(1, abs(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_laminar_KC( IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_laminar_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)) | =max(1, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_overall

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda));
Re = (IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)); | Re = max(MIN, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_overall_KC( IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_overall_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)) | =max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_turbulent

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/IN_var.lambda);
Re = abs(IN_var.rho*velocity*IN_con.d_hyd/IN_var.eta); | Re = max(1e-3, abs(IN_var.rho*velocity*IN_con.d_hyd/IN_var.eta));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_turbulent_KC( IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.HelicalPipe.kc_turbulent_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)) | =max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.Plate.kc_laminar

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda);
Re = abs(IN_var.rho*IN_var.velocity*IN_con.L/max(MIN, IN_var.eta)); | Re = max(1e-3, abs(IN_var.rho*IN_var.velocity*IN_con.L/max(MIN, IN_var.eta)));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.Plate.kc_laminar_KC(IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.Plate.kc_laminar_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(rho*velocity*L/eta) | =max(1e-3, rho*velocity*L/eta)

function Fluid.Dissipation.HeatTransfer.Plate.kc_overall

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda);
Re = abs(IN_var.rho*IN_var.velocity*IN_con.L/max(MIN, IN_var.eta)); | Re = max(1e-3, abs(IN_var.rho*IN_var.velocity*IN_con.L/max(MIN, IN_var.eta)));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.Plate.kc_overall_KC(IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.Plate.kc_turbulent

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda));
Re = abs(IN_var.rho*IN_var.velocity*IN_con.L/max(MIN, IN_var.eta)); | Re = max(1e-3, abs(IN_var.rho*IN_var.velocity*IN_con.L/max(MIN, IN_var.eta)));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.Plate.kc_turbulent_KC(IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.Plate.kc_turbulent_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =abs(rho*velocity*L/eta) | =max(1e-3, abs(rho*velocity*L/eta))

function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_laminar

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda));
Re = (IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)); | Re = max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_laminar_KC( IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_laminar_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)) | =max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda));
Re = (IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)); | Re = max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall_KC( IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_overall_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =(IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)) | =max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta))

function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_turbulent

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Pr := abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda));
Re = (IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta)); | Re = max(1e-3, IN_var.rho*velocity*IN_con.d_hyd/max(MIN, IN_var.eta));
kc = Modelica323.Fluid.Dissipation.HeatTransfer.StraightPipe.kc_turbulent_KC( IN_con, IN_var); ...

function Fluid.Dissipation.HeatTransfer.StraightPipe.kc_turbulent_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re | =max(MIN, (IN_var.rho*velocity*IN_con.d_hyd/IN_var.eta)) | =max(2.6, IN_var.rho*velocity*IN_con.d_hyd/IN_var.eta)

function Fluid.Dissipation.PressureLoss.General.dp_volumeFlowRate_DP

Component | Modelica 3.2.3 | Modelica 3.2.2
a | =abs(IN_con.a) | =max(Modelica322.Constants.eps, abs(IN_con.a))
b | =abs(IN_con.b) | =max(Modelica322.Constants.eps, abs(IN_con.b))
dp_min | =max(Modelica323.Constants.eps, abs(IN_con.dp_min)) | =IN_con.dp_min
V_flow_smooth | =if a > 0 and b <= 0 then (dp_min/a)^0.5 else 0 | =if IN_con.a > 0 then -(b/(2*a) + ((-b/(2*a))^2 + dp_min/a)^0.5) else dp_min/b

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
assert(a+b>0, "Please provide non-zero factors for either a or b of function dp=a*V_flow^2 + b*V_flow"); | DP := a*Dissipation.Utilities.Functions.General.SmoothPower( V_flow, V_flow_smooth, 2) + b*V_flow;
DP = a*(if a>0 and b<=0 then Dissipation.Utilities.Functions.General.SmoothPower( V_flow, V_flow_smooth, 2) elseif a>0 and b>0 then V_flow*abs(V_flow) else 0) + b*V_flow; |

function Fluid.Dissipation.PressureLoss.General.dp_volumeFlowRate_MFLOW

Component | Modelica 3.2.3 | Modelica 3.2.2
a | =abs(IN_con.a) | =max(Modelica322.Constants.eps, abs(IN_con.a))
b | =abs(IN_con.b) | =max(Modelica322.Constants.eps, abs(IN_con.b))
dp_min | =max(Modelica323.Constants.eps, abs(IN_con.dp_min)) | =IN_con.dp_min

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
assert(a+b>0, "Please provide non-zero factors for either a or b of function dp=a*V_flow^2 + b*V_flow"); | M_FLOW := IN_var.rho*(-b/(2*a) + Modelica322.Fluid.Dissipation.Utilities.Functions.General.SmoothPower( (b/(2*a))^2 + (1/a)*dp, (b/(2*a))^2 + (1/a)*dp_min, 0.5));
M_FLOW = IN_var.rho*(if a > 0 and b <= 0 then Modelica323.Fluid.Dissipation.Utilities.Functions.General.SmoothPower( (1/a)*dp, (1/a)*dp_min, 0.5) elseif a > 0 and b > 0 then sign(dp)*(-b/(2*a) + sqrt((b/(2*a))^2 + (1/a) *abs(dp))) else b*dp); |

function Fluid.Dissipation.PressureLoss.StraightPipe.dp_twoPhaseOverall_DP

Component | Modelica 3.2.3 | Modelica 3.2.2
DP_fric | =if IN_con.frictionalPressureLoss == TYP.Friedel then Modelica323.Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.dp_twoPhaseFriedel_DP(Modelica323.Fluid.Dissipation.Utilities.Records.General.TwoPhaseFlow_con(A_cross=IN_con.A_cross, perimeter=IN_con.perimeter, length=IN_con.length), Modelica323.Fluid.Dissipation.Utilities.Records.General.TwoPhaseFlow_var(rho_g=IN_var.rho_g, rho_l=IN_var.rho_l, eta_g=IN_var.eta_g, eta_l=IN_var.eta_l, sigma=IN_var.sigma, x_flow=IN_var.x_flow), m_flow) else if IN_con.frictionalPressureLoss == TYP.Chisholm then Modelica323.Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.dp_twoPhaseChisholm_DP(Modelica323.Fluid.Dissipation.Utilities.Records.General.TwoPhaseFlow_con(A_cross=IN_con.A_cross, perimeter=IN_con.perimeter, length=IN_con.length), Modelica323.Fluid.Dissipation.Utilities.Records.General.TwoPhaseFlow_var(rho_g=IN_var.rho_g, rho_l=IN_var.rho_l, eta_g=IN_var.eta_g, eta_l=IN_var.eta_l, sigma=IN_var.sigma, x_flow=IN_var.x_flow), m_flow) else 0 | =if IN_con.frictionalPressureLoss == TYP.Friedel then Modelica322.Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.dp_twoPhaseFriedel_DP(IN_con, IN_var, m_flow) else if IN_con.frictionalPressureLoss == TYP.Chisholm then Modelica322.Fluid.Dissipation.Utilities.Functions.PressureLoss.TwoPhase.dp_twoPhaseChisholm_DP(IN_con, IN_var, m_flow) else 0

function Fluid.Dissipation.Utilities.Functions.HeatTransfer.TwoPhase.kc_twoPhase_condensationHorizontal_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re_l | =(IN_var.rho_l*velocity*d_hyd/max(MIN, IN_var.eta_l)) | =max(1, IN_var.rho_l*velocity*d_hyd/max(MIN, IN_var.eta_l))

function Fluid.Dissipation.Utilities.Functions.HeatTransfer.TwoPhase.kc_twoPhase_boilingVertical_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re_l | =(IN_var.rho_l*velocity_l*d_hyd/max(MIN, IN_var.eta_l)) | =max(1, IN_var.rho_l*velocity_l*d_hyd/max(MIN, IN_var.eta_l))

function Fluid.Dissipation.Utilities.Functions.HeatTransfer.TwoPhase.kc_twoPhase_boilingHorizontal_KC

Component | Modelica 3.2.3 | Modelica 3.2.2
Re_l | =(IN_var.rho_l*velocity_l*d_hyd/max(MIN, IN_var.eta_l)) | =max(1, IN_var.rho_l*velocity_l*d_hyd/max(MIN, IN_var.eta_l))

function Fluid.Utilities.checkBoundary

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... end for;
if nX > 0 and abs(sum(X_boundary) - 1.0) > 1e-10 then | if nX > 0 and abs(sum(X_boundary) - 1.0) > 1.e-10 then
X_str = ""; ...

function Fluid.Utilities.regRoot2

Component | Modelica 3.2.3 | Modelica 3.2.2
sqrt_k1 | Present |
sqrt_k2 | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
y := smooth(2, if x >= x_small then sqrt_k1*sqrt(x) else if x <= -x_small then -sqrt_k2*sqrt(abs(x)) else if k1 >= k2 then regRoot2_utility(x,x_small,k1,k2,use_yd0,yd0) else -regRoot2_utility(-x,x_small,k2,k1,use_yd0,yd0)); | y := smooth(2, if x >= x_small then sqrt(k1*x) else if x <= -x_small then -sqrt(k2*abs(x)) else if k1 >= k2 then regRoot2_utility(x,x_small,k1,k2,use_yd0,yd0) else -regRoot2_utility(-x,x_small,k2,k1,use_yd0,yd0));

model Media.Examples.ReferenceAir.Inverse_sh_T

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
h1 = if time < 0 then h_min else if time >= 1 then h_max else h_min + time /timeUnit*(h_max - h_min); | h1 = if time < 0 then h_min else if time > 1 then h_max else h_min + time /timeUnit*(h_max - h_min);
s1 = if time < 0 then s_min else if time >= 1 then s_max else s_min + time /timeUnit*(s_max - s_min); | s1 = if time < 0 then s_min else if time > 1 then s_max else s_min + time /timeUnit*(s_max - s_min);
Th = Medium.temperature_phX( p, h1, fill(0.0, 0)); ...

model Media.Examples.ReferenceAir.Inverse_sh_TX

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
h1 = if time < 0 then h_min else if time >= 1 then h_max else h_min + time /timeUnit*(h_max - h_min); | h1 = if time < 0 then h_min else if time > 1 then h_max else h_min + time /timeUnit*(h_max - h_min);
s1 = if time < 0 then s_min else if time >= 1 then s_max else s_min + time /timeUnit*(s_max - s_min); | s1 = if time < 0 then s_min else if time > 1 then s_max else s_min + time /timeUnit*(s_max - s_min);
Th = Medium.temperature_phX( p, h1, X); ...

model Media.Examples.TestOnly.MixIdealGasAir

Component | Modelica 3.2.3 | Modelica 3.2.2
medium2 | X(start={0.2,0.8}, each fixed=true) | X(start={0.2,0.8}, fixed=true)

model Media.Examples.TestOnly.FlueGas

Component | Modelica 3.2.3 | Modelica 3.2.2
medium2 | X(start={0.2,0.1,0.3,0.4}, each fixed=true) | X(start={0.2,0.1,0.3,0.4}, fixed=true)

model Media.Examples.Tests.Components.ShortPipe

Component | Modelica 3.2.3 | Modelica 3.2.2
dp_nominal | min=1e-10 | min=1.e-10
m_flow_nominal | min=1e-10 | min=1.e-10

package Media.Interfaces.PartialMedium

Component | Modelica 3.2.3 | Modelica 3.2.2
C_default | Present |

model Media.Air.ReferenceAir.Air_Base.BaseProperties

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
MM = Air_Utilities.Basic.Constants.MM; | MM = ReferenceAir.Air_Utilities.Basic.Constants.MM;
if dT_explicit then ... u = h - p/d;
R = Air_Utilities.Basic.Constants.R; | R = Constants.R;
h = state.h; ...

function Media.Air.MoistAir.specificInternalEnergy

Component | Modelica 3.2.3 | Modelica 3.2.2
u |  | Present

function Media.Air.MoistAir.density_derX

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
dddX[Water] := - pressure(state)*(steam.R - dryair.R)/(((steam.R - dryair.R) *state.X[Water] + dryair.R)^2*temperature(state)); | dddX[Water] := pressure(state)*(steam.R - dryair.R)/((steam.R - dryair.R) *state.X[Water]*temperature(state) + dryair.R*temperature(state))^2;
dddX[Air] = - pressure(state)*(dryair.R - steam.R)/((steam.R + (dryair.R - steam.R)* state.X[Air])^2*temperature(state)); | dddX[Air] = pressure(state)*(dryair.R - steam.R)/((dryair.R - steam.R)* state.X[Air]*temperature(state) + steam.R*temperature(state))^2;

function Media.Air.MoistAir.molarMass

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
MM := Modelica323.Constants.R/Modelica323.Media.Air.MoistAir.gasConstant(state); | MM := Modelica322.Media.Air.MoistAir.gasConstant(state)/Modelica322.Constants.R;

function Media.Air.MoistAir.s_pTX

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
s := Modelica323.Media.IdealGases.Common.Functions.s0_Tlow(dryair, T)*(1 - X[ Water]) + Modelica323.Media.IdealGases.Common.Functions.s0_Tlow(steam, T)*X[ Water] - Modelica323.Constants.R*(Utilities.smoothMax( X[Water]/MMX[Water], 0.0, 1e-9)*Modelica323.Math.log(max(Y[Water], Modelica323.Constants.eps)*p/ reference_p) + Utilities.smoothMax( (1 - X[Water])/MMX[Air], 0.0, 1e-9)*Modelica323.Math.log(max(Y[Air], Modelica323.Constants.eps)*p/ reference_p)); | s := Modelica322.Media.IdealGases.Common.Functions.s0_Tlow(dryair, T)*(1 - X[ Water]) + Modelica322.Media.IdealGases.Common.Functions.s0_Tlow(steam, T)*X[ Water] - Modelica322.Constants.R*(Utilities.smoothMax( X[Water]/MMX[Water]*Modelica322.Math.log(max(Y[Water], Modelica322.Constants.eps) *p/reference_p), 0.0, 1e-9) - Utilities.smoothMax( (1 - X[Water])/MMX[Air]*Modelica322.Math.log(max(Y[Air], Modelica322.Constants.eps) *p/reference_p), 0.0, 1e-9));

function Media.Air.MoistAir.s_pTX_der

Component | Modelica 3.2.3 | Modelica 3.2.2
dX | each unit="1/s" |
| unit="1/s"
MM | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
MM := MMX[Water]*MMX[Air]/(X[Water]*MMX[Air] + X[Air]*MMX[Water]); | ds := Modelica322.Media.IdealGases.Common.Functions.s0_Tlow_der( dryair, T, dT)*(1 - X[Water]) + Modelica322.Media.IdealGases.Common.Functions.s0_Tlow_der( steam, T, dT)*X[Water] + Modelica322.Media.IdealGases.Common.Functions.s0_Tlow(dryair, T)*dX[Air] + Modelica322.Media.IdealGases.Common.Functions.s0_Tlow(steam, T)* dX[Water] - Modelica322.Constants.R*(1/MMX[Water]*Utilities.smoothMax_der( X[Water]*Modelica322.Math.log(max(Y[Water], Modelica322.Constants.eps)*p/ reference_p), 0.0, 1e-9, (Modelica322.Math.log(max(Y[Water], Modelica322.Constants.eps)*p/reference_p) + (X[Water]/Y[Water]*(X[Air]*MMX[Water]/(X[Air]*MMX[Water] + X[Water]*MMX[ Air])^2)))*dX[Water] + X[Water]*reference_p/p*dp, 0, 0) - 1/MMX[Air]*Utilities.smoothMax_der( (1 - X[Water])*Modelica322.Math.log(max(Y[Air], Modelica322.Constants.eps)*p/ reference_p), 0.0, 1e-9, (Modelica322.Math.log(max(Y[Air], Modelica322.Constants.eps)*p/reference_p) + (X[Air]/Y[Air]*(X[Water]*MMX[Air]/(X[Air]*MMX[Water] + X[Water]*MMX[Air]) ^2)))*dX[Air] + X[Air]*reference_p/p*dp, 0, 0));
ds = IdealGases.Common.Functions.s0_Tlow_der( dryair, T, dT)*(1 - X[Water]) + IdealGases.Common.Functions.s0_Tlow_der( steam, T, dT)*X[Water] + Modelica323.Media.IdealGases.Common.Functions.s0_Tlow(dryair, T)*dX[Air] + Modelica323.Media.IdealGases.Common.Functions.s0_Tlow(steam, T)* dX[Water] - Modelica323.Constants.R*(1/MMX[Water]*(Utilities.smoothMax_der( X[Water], 0.0, 1e-9, dX[Water], 0.0, 0.0)*(Modelica323.Math.log(max(Y[Water], Modelica323.Constants.eps)*p/ reference_p) + MM/MMX[Air]) + dp/p*Utilities.smoothMax( X[Water], 0.0, 1e-9)) + 1/MMX[Air]*(Utilities.smoothMax_der( X[Air], 0.0, 1e-9, dX[Air], 0.0, 0.0)*(Modelica323.Math.log(max(Y[Air], Modelica323.Constants.eps)*p/ reference_p) + MM/MMX[Water]) + dp/p*Utilities.smoothMax( X[Air], 0.0, 1e-9))); |

model Media.Air.ReferenceMoistAir.BaseProperties

Component | Modelica 3.2.3 | Modelica 3.2.2
x_water | Real | Media.Interfaces.Types.MassFraction
x_sat | Real | Media.Interfaces.Types.MassFraction

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... p_steam_sat = Modelica323.Media.Air.ReferenceMoistAir.Utilities.pds_pT(p, T);
X_sat = Modelica323.Media.Air.ReferenceMoistAir.Xsaturation(state); | X_sat = k_mair/(p/p_steam_sat - 1 + k_mair);
X_liquid = max(Xi[Water] - X_sat, 0.0); | X_liquid = Xi[Water] - X_sat;
X_steam = Xi[Water] - X_liquid; ... state.X = X;
x_sat = Modelica323.Media.Air.ReferenceMoistAir.xsaturation(state); | x_sat = k_mair*p_steam_sat/max(100*Constants.eps, p - p_steam_sat);
x_water = Modelica323.Media.Air.ReferenceMoistAir.waterContent_X(state.X); | x_water = Xi[Water]/max(X_air, 100*Constants.eps);
phi = Modelica323.Media.Air.ReferenceMoistAir.Utilities.phi_pTX( p, T, Xi);

function Media.Air.ReferenceMoistAir.massFractionWaterVapor

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
xw := state.X[1]/max(100*Modelica323.Constants.eps, (1 - state.X[1])); | xw := state.X[1]/(1 - state.X[1]);
xws = Utilities.xws_pT(state.p, state.T); ...

function Media.Air.ReferenceMoistAir.massFractionWaterNonVapor

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
xw := state.X[1]/max(100*Modelica323.Constants.eps, (1 - state.X[1])); | xw := state.X[1]/(1 - state.X[1]);
xws = Utilities.xws_pT(state.p, state.T); ...

function Media.Air.ReferenceMoistAir.waterContent_X

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
xw := X[1]/max(100*Modelica323.Constants.eps, (1 - X[1])); | xw := X[1]/(1 - X[1]);

function Media.Air.ReferenceMoistAir.molarMass

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
MM := 1/(state.X[1]/steam.MM + state.X[2]/dryair.MM); | MM := 1/(state.X[1]*steam.MM + state.X[2]*dryair.MM);

function Media.Air.ReferenceMoistAir.Utilities.pds_pT

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
pds = p; | pds = -1;
end if; ...

function Media.Air.ReferenceMoistAir.Utilities.xws_pT

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Tlim = if (T <= 273.16) then Modelica323.Media.Air.ReferenceMoistAir.Utilities.Ice09_Utilities.Basic.Tsub( p) else Modelica323.Media.Air.ReferenceMoistAir.Utilities.Water95_Utilities.Tsat(p);
xws = if (pds < p) then pds*Modelica323.Media.Air.ReferenceMoistAir.k_mair/(p - pds) else Modelica323.Constants.inf; | xws = if (T <= Tlim) then Modelica322.Media.Air.ReferenceMoistAir.k_mair*pds/(p - pds) else -1;

function Media.Air.ReferenceMoistAir.Utilities.phi_pTX

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... pd = xw/(Modelica323.Media.Air.ReferenceMoistAir.k_mair + xw)*p;
phi = pd/max(100*Modelica323.Constants.eps, pds); | if (pd <= pds) then
end if; | phi = pd/pds;
| else
| phi = -1; end if; end if;

function Media.Air.ReferenceMoistAir.Utilities.pd_pTX_der

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... xws = Modelica323.Media.Air.ReferenceMoistAir.Utilities.xws_pT(p, T);
pd_der = if (xw <= xws) then pd_der else pds_der; | pd_der = if ((xw <= xws) or (xws == -1)) then pd_der else pds_der;
end if; ...

function Media.Air.ReferenceMoistAir.Utilities.xws_pT_der

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... Tlim = if (T <= 273.16) then Modelica323.Media.Air.ReferenceMoistAir.Utilities.Ice09_Utilities.Basic.Tsub( p) else Modelica323.Media.Air.ReferenceMoistAir.Utilities.Water95_Utilities.Tsat(p);
if (pds < p) then | if (T <= Tlim) then
xws_der = Modelica323.Media.Air.ReferenceMoistAir.k_mair*((pds_der*(p - pds) + pds*pds_der)/(p - pds)^2); ...

function Media.Air.ReferenceMoistAir.Utilities.pds_pT_der

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
pds_der = p_der; | pds_der = 0;
end if; ...

function Media.IdealGases.Common.Functions.s0_Tlow_der

Component | Modelica 3.2.3 | Modelica 3.2.2
T_der | unit="K/s" |
s_der | Present |
s |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
s_der := data.R*T_der*(data.alow[1]/(T*T*T) + data.alow[2]/(T*T) + data.alow[3]/T + data.alow[4] + T*(data.alow[5] + T*(data.alow[6] + T*data.alow[7]))); | s := data.R*(data.blow[2] - 0.5*data.alow[ 1]/(T*T) - data.alow[2]/T + data.alow[3]*Math.log(T) + T*( data.alow[4] + T*(0.5*data.alow[5] + T*(1/3*data.alow[6] + 0.25*data.alow[ 7]*T))));

function Media.IdealGases.Common.Functions.thermalConductivityEstimate

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
lambda := if method == 1 then eta*(Cp - data.R + (9/4)*data.R) else eta*(Cp - data.R)*(1.32 + 1.77/((Cp/data.R) - 1.0)); | lambda := if method == 1 then eta*(Cp - data.R + (9/4)*data.R) else eta*(Cp - data.R)*(1.32 + 1.77/((Cp/Modelica322.Constants.R) - 1.0));

function Media.IdealGases.Common.MixtureGasNasa.specificEntropy

Component | Modelica 3.2.3 | Modelica 3.2.2
Y | each unit="mol/mol" |
| unit="mol/mol"

function Media.IdealGases.Common.MixtureGasNasa.mixtureViscosityChung

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... mum = (sigmam3*(sum(sum(y[i]*y[j]*mu[i]^2*mu[j]^2/sigma[i,j]^3 for j in 1:n) for i in 1:n)))^(1/4);
Vcm = sigmam3/(0.809)^3 "eq. (4)"; | Vcm = sigmam3/(0.809)^3;
Tcm = 1.2593*edivkm "eq. (5)"; | Tcm = 1.2593*edivkm;
murm = 131.3*mum/(Vcm*Tcm)^(1/2) "eq. (8)"; | murm = 131.3*mum/(Vcm*Tcm)^(1/2);
kappam = (sigmam3*(sum(sum(y[i]*y[j]*kappaij[i,j] for j in 1:n) for i in 1:n)));
Fcm = 1 - 0.275*wm + 0.059035*murm^4 + kappam "eq. (7)"; | Fcm = 1 - 0.275*wm + 0.059035*murm^4 + kappam;
Tmstar = T/edivkm "eq. (3)"; | Tmstar = T/edivkm;
omegav = 1.16145*(Tmstar)^(-0.14874) + 0.52487*Modelica323.Math.exp(-0.77320* Tmstar) + 2.16178*Modelica323.Math.exp(-2.43787*Tmstar) "eq. (2)"; | omegav = 1.16145*(Tmstar)^(-0.14874) + 0.52487*Math.exp(-0.77320*Tmstar) + 2.16178*Math.exp(-2.43787*Tmstar);
etam = 26.69*Fcm*(Mm*T)^(1/2)/(sigmam3^(2/3)*omegav) "eq. (1)"; | etam = 26.69*Fcm*(Mm*T)^(1/2)/(sigmam3^(2/3)*omegav);
etaMixture = etam*1e-7; | etaMixture = etam*1e7;

package Media.IdealGases.Common.SingleGasesData

Component | Modelica 3.2.3 | Modelica 3.2.2
CH2 | blow={4.733624710e+004,-2.143628603e+000} | blow={0,47336.2471}
ahigh={2550418.031,-7971.62539,12.28924487,-0.001699122922,2.991728605e-007,-2.767007492e-011,1.051341740e-015} | ahigh={10027.417,2550418.031,-7971.62539,12.28924487,-0.001699122922,2.991728605e-007,-2.767007492e-011}
bhigh={9.642216890e+004,-6.094739910e+001} | bhigh={1.05134174e-015,0}
CH3 | blow={1.408271825e+004,2.022772791e+001} | blow={0,14082.71825}
ahigh={2760802.663,-9336.53117,14.87729606,-0.001439429774,2.444477951e-007,-2.224555778e-011,8.395065760e-016} | ahigh={10366.34,2760802.663,-9336.53117,14.87729606,-0.001439429774,2.444477951e-007,-2.224555778e-011}
bhigh={7.481809480e+004,-7.919682400e+001} | bhigh={8.39506576e-016,0}
CH3OOH | blow={-3.058414201e+004,1.031696850e+002} | blow={0,-30584.14201}
ahigh={3060740.61,-12829.59627,25.41021168,-0.002394481095,4.44342991e-007,-4.4166595e-011,1.819673372e-015} | ahigh={13918.692,3060740.61,-12829.59627,25.41021168,-0.002394481095,4.44342991e-007,-4.4166595e-011}
bhigh={5.837492360e+004,-1.387713096e+002} | bhigh={1.819673372e-015,0}
C2CL2 | alow={3.871168730e+004,-9.336870210e+002,1.119377832e+001,-3.746287380e-003,6.770471350e-006,-4.910387450e-009,1.299068486e-012} | alow={38711.6908,-933.6870729999999,11.19377861,-0.0037462882,6.77047256e-006,-4.91038835e-009,1.299068749e-012}
blow={2.948153174e+004,-3.310723530e+001} | blow={0,29481.53198}
ahigh={2.961995390e+005,-2.044290845e+003,1.187529729e+001,-5.115031340e-004,1.072666588e-007,-1.183417569e-011,5.326530480e-016} | ahigh={14592.612,296197.8472,-2044.286552,11.87529315,-0.000511501145,1.072661556e-007,-1.183411171e-011}
bhigh={3.636802500e+004,-4.000826050e+001} | bhigh={5.32649834e-016,0}
C2CL4 | alow={3.746257500e+004,-8.481774390e+002,1.009156041e+001,1.845463807e-002,-2.390899731e-005,1.514828471e-008,-3.841119950e-012} | alow={37462.583,-848.177563,10.0915611,0.01845463613,-2.390899444e-005,1.514828257e-008,-3.84111932e-012}
blow={-1.598289063e+003,-2.368079134e+001} | blow={0,-1598.288471}
ahigh={-3.001289625e+005,-1.132413909e+003,1.683073063e+001,-3.288820170e-004,7.220975400e-008,-8.245417760e-012,3.810154710e-016} | ahigh={19605.643,-300131.5659,-1132.407598,16.8307247,-0.000328879249,7.22090703e-008,-8.24533269e-012}
bhigh={-2.292758158e+003,-5.980164420e+001} | bhigh={3.81011278e-016,0}
C2CL6 | alow={1.593451902e+005,-2.606697262e+003,2.028011918e+001,1.769364625e-002,-3.133104894e-005,2.389395021e-008,-6.893037660e-012} | alow={159345.1813,-2606.697136,20.28011847,0.01769364822,-3.133105185e-005,2.389395238e-008,-6.8930383e-012}
blow={-9.038007040e+003,-7.953073010e+001} | blow={0,-9038.00764}
ahigh={-5.577351940e+005,-4.976576790e+002,2.237042798e+001,-1.477797229e-004,3.257641460e-008,-3.727218070e-012,1.723860648e-016} | ahigh={27129.39,-557738.632,-497.649124,22.37041989,-0.0001477759098,3.25754658e-008,-3.72709921e-012}
bhigh={-2.335217699e+004,-8.381736910e+001} | bhigh={1.723801704e-016,0}
C2HCL | alow={1.329784931e+005,-2.174542005e+003,1.497980787e+001,-1.290343200e-002,1.602596399e-005,-9.152047430e-009,2.021222995e-012} | alow={132978.5007,-2174.542126,14.97980854,-0.01290343389,1.602596678e-005,-9.152049509999999e-009,2.021223607e-012}
blow={3.604801260e+004,-5.958236750e+001} | blow={0,36048.0132}
ahigh={1.152149855e+006,-4.461204350e+003,1.281367818e+001,-6.797397460e-004,1.151395389e-007,-1.046657798e-011,3.949939170e-016} | ahigh={11787.625,1152145.326,-4461.192999999999,12.81366744,-0.000679734676,1.151382756e-007,-1.046641954e-011}
bhigh={5.233955000e+004,-5.320661700e+001} | bhigh={3.94986052e-016,0}
C2HCL3 | alow={3.959233060e+004,-5.178756040e+002,5.155030160e+000,2.816922101e-002,-3.624741150e-005,2.392073843e-008,-6.362400700e-012} | alow={39592.3125,-517.875358,5.15502877,0.02816922486,-3.62474172e-005,2.39207427e-008,-6.36240196e-012}
blow={-1.534345080e+003,1.209377115e+000} | blow={0,-1534.346259}
ahigh={6.049298240e+005,-4.237003190e+003,1.846274582e+001,-8.137243260e-004,1.551223511e-007,-1.584645594e-011,6.701006540e-016} | ahigh={16604.624,604925.466,-4236.992319999999,18.46273557,-0.000813719506,1.551211545e-007,-1.584630634e-011}
bhigh={1.848292676e+004,-7.698375250e+001} | bhigh={6.70093249e-016,0}
CH2CO_ketene | blow={-5.209992580e+003,3.839604220e+000} | blow={0,-5209.99258}
ahigh={2013564.915,-8200.88746,17.59694074,-0.001464544521,2.695886969e-007,-2.66567484e-011,1.094204522e-015} | ahigh={11795.805,2013564.915,-8200.88746,17.59694074,-0.001464544521,2.695886969e-007,-2.66567484e-011}
bhigh={4.177776880e+004,-8.725803580e+001} | bhigh={1.094204522e-015,0}
O_CH_2O | blow={-4.454486010e+004,1.327028760e+002} | blow={0,-44544.8601}
ahigh={267806.3593,-4436.61748,17.81696797,-0.000709717378,1.272621878e-007,-1.237226678e-011,5.025057520e-016} | ahigh={13682.443,267806.3593,-4436.61748,17.81696797,-0.000709717378,1.272621878e-007,-1.237226678e-011}
bhigh={-4.479608280e+003,-8.156700640e+001} | bhigh={5.02505752e-016,0}
HO_CO_2OH | blow={-8.797942550e+004,9.751091370e+000} | blow={0,-87979.4255}
ahigh={1805560.696,-9240.33315,26.25742604,-0.001418458557,2.526840574e-007,-2.521005198e-011,1.040036111e-015} | ahigh={17321.662,1805560.696,-9240.33315,26.25742604,-0.001418458557,2.526840574e-007,-2.521005198e-011}
bhigh={-3.754286460e+004,-1.326879788e+002} | bhigh={1.040036111e-015,0}
CH2BrminusCOOH | blow={-5.541187620e+004,8.165423200e+001} | blow={0,-55411.8762}
ahigh={2486349.85,-11402.56346,27.56020307,-0.00184318701,3.26539274e-007,-3.122663159e-011,1.223452495e-015} | ahigh={16862.437,2486349.85,-11402.56346,27.56020307,-0.00184318701,3.26539274e-007,-3.122663159e-011}
bhigh={1.837013127e+004,-1.420040888e+002} | bhigh={1.223452495e-015,0}
C2H3CL | alow={-1.688896130e+004,8.545105550e+002,-6.514968110e+000,4.944682090e-002,-6.117756910e-005,4.067294030e-008,-1.101392662e-011} | alow={-16888.95457,854.510455,-6.51496755,0.0494468193,-6.11775667e-005,4.067293850000001e-008,-1.101392611e-011}
blow={-2.069321797e+003,5.928435530e+001} | blow={0,-2069.321321}
ahigh={2.456178566e+006,-1.047452720e+004,2.178736544e+001,-1.816893523e-003,3.296374030e-007,-3.214400710e-011,1.302256512e-015} | ahigh={11819.647,2456176.938,-10474.52327,21.78736181,-0.001816891849,3.29636995e-007,-3.21439569e-011}
bhigh={6.346231290e+004,-1.149890773e+002} | bhigh={1.302254061e-015,0}
CH2CLminusCOOH | alow={-1.122506431e+005,2.168288546e+003,-1.227791221e+001,7.514388060e-002,-9.083158490e-005,5.812363980e-008,-1.518247440e-011} | alow={-112250.6518,2168.288658,-12.27791286,0.0751438825,-9.083158770000001e-005,5.81236419e-008,-1.518247503e-011}
blow={-6.314314500e+004,9.694389710e+001} | blow={0,-63143.1455}
ahigh={2.472881709e+006,-1.152275613e+004,2.766275288e+001,-1.886429520e-003,3.361772590e-007,-3.231268060e-011,1.273273865e-015} | ahigh={16513.941,2472883.176,-11522.75963,27.66275606,-0.001886430963,3.36177605e-007,-3.23127225e-011}
bhigh={1.370384800e+004,-1.443191119e+002} | bhigh={1.273275883e-015,0}
HO2 | blow={-5.873350960e+003,5.193602140e+001} | blow={0,-5873.35096}
ahigh={-1810669.724,4963.19203,-1.039498992,0.004560148530000001,-1.061859447e-006,1.144567878e-010,-4.763064160e-015} | ahigh={10002.162,-1810669.724,4963.19203,-1.039498992,0.004560148530000001,-1.061859447e-006,1.144567878e-010}
bhigh={-3.200817190e+004,4.066850920e+001} | bhigh={-4.76306416e-015,0}
HO2minus | blow={-7.417741590e+003,-1.251878002e+001} | blow={0,-7417.741590000001}
ahigh={793330.6,-2503.312417,7.54896233,8.308390149999999e-005,-5.96973091e-008,9.955377000000001e-012,-5.606477280e-016} | ahigh={10245.32,793330.6,-2503.312417,7.54896233,8.308390149999999e-005,-5.96973091e-008,9.955377000000001e-012}
bhigh={2.512079084e+003,-2.070065846e+001} | bhigh={-5.60647728e-016,0}
OD | alow={2.118691536e+004,-2.785982360e+002,5.456210120e+000,-6.148119830e-003,9.117670560e-006,-5.527812710e-009,1.239794711e-012} | alow={21186.91536,-278.598236,5.45621012,-0.00614811983,9.117670560000001e-006,-5.527812710000001e-009,1.239794711e-012}
blow={4.464878250e+003,-7.616618910e+000} | blow={0,4464.87825}
ahigh={7.832473160e+005,-2.532992554e+003,5.952124650e+000,-3.743595280e-004,4.959527620e-008,3.454454730e-012,-7.380626800e-016} | ahigh={8999.108,783247.316,-2532.992554,5.95212465,-0.000374359528,4.95952762e-008,3.45445473e-012}
bhigh={1.930492973e+004,-1.568898441e+001} | bhigh={-7.3806268e-016,0}
ODminus | alow={5.606128320e+004,-7.514156150e+002,7.544188470e+000,-1.092083064e-002,1.503688938e-005,-9.351665840e-009,2.246466046e-012} | alow={56061.2832,-751.415615,7.54418847,-0.01092083064,1.503688938e-005,-9.35166584e-009,2.246466046e-012}
blow={-1.515707370e+004,-2.106498377e+001} | blow={0,-15157.0737}
ahigh={3.029467029e+005,-1.079684654e+003,4.211417380e+000,6.260830070e-004,-2.411665054e-007,4.248425540e-011,-2.387099102e-015} | ahigh={8642.103999999999,302946.7029,-1079.684654,4.21141738,0.000626083007,-2.411665054e-007,4.248425540000001e-011}
bhigh={-1.188935343e+004,-4.724898790e+000} | bhigh={-2.387099102e-015,-11889.35343}

model Media.Incompressible.TableBased.BaseProperties

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... assert(T >= T_min and T <= T_max, "Temperature T (= " + String(T) + " K) is not in the allowed range (" + String(T_min) + " K <= T <= " + String(T_max) + " K) required from medium model \"" + mediumName + "\".");
R = Modelica323.Constants.R/MM_const; | R = Modelica322.Constants.R;
cp = Poly.evaluate(poly_Cp,if TinK then T else T_degC);
h = specificEnthalpyOfT(p,T,densityOfT); | h = if enthalpyOfT then h_T(T) else h_pT(p,T,densityOfT);
u = h - (if singleState then reference_p/d else state.p/d); ...

function Media.Incompressible.TableBased.specificEnthalpy

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
h := specificEnthalpyOfT(state.p, state.T); | h := if enthalpyOfT then h_T(state.T) else h_pT(state.p,state.T);

function Media.Incompressible.TableBased.specificInternalEnergy

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
u := specificEnthalpyOfT(state.p,state.T) - (if singleState then reference_p 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.R134a.R134a_ph.setState_dTX

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... R := R134aData.data.R;
sat = setSat_T(T); dl = bubbleDensity(sat); dv = dewDensity(sat); if d < dl and d > dv and T < R134aData.data.FTCRIT then f = Modelica323.Media.Common.HelmholtzDerivs( d=d, T=T, R=R, delta=0, tau=0, f=0, fdelta=0, fdeltadelta=0, ftau=0, ftautau=0, fdeltatau=0); state.p = saturationPressure_sat(sat); state.h = (dl*dv/d*(dewEnthalpy(sat) - bubbleEnthalpy(sat)) - dv*dewEnthalpy(sat) + dl*bubbleEnthalpy(sat))/(dl - dv); state.phase = 2; else |
f = f_R134a(d=d, T=T); ... state.h = R*T*(f.tau*f.ftau + f.delta*f.fdelta);
state.phase = 1; | sat.psat = state.p;
end if; |
state.T = T;
state.d = d;
| sat.Tsat = state.T;
| dl = bubbleDensity(sat); dv = dewDensity(sat); state.phase = if ((state.d < dl) or (state.d > dv) or (state.p > R134aData.data.FPCRIT)) then 1 else 2;

function Media.R134a.R134a_ph.setState_psX

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... state.p := p;
state.phase = getPhase_ps(p, s); | if (getPhase_ps(p, s) == 1) then
if state.phase == 1 then |
(state.d, state.T, error) = dtofpsOnePhase( p=p, s=s, delp=delp, dels=dels); ... state.h = hofpsTwoPhase(p, s);
(state.d, state.T) = dt_ph(p, state.h); |
end if; ...

function Media.R134a.R134a_ph.dtofphOnePhase

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... damping = 0.3;
d = R134aData.data.FDCRIT*Common.CubicSplineEval(localx, dl_coef[int,1:4])*1.5; | d = R134aData.data.FDCRIT*Common.CubicSplineEval(localx, dl_coef[int, 1:4])*1.02;
T = Common.CubicSplineEval(localx, T_coef[int, 1:4]); ...

function Media.Water.IF97_Utilities.BaseIF97.Basic.psat

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm
assert(T >= 273.16, "IF97 medium function psat: input temperature (= " + String(triple.Ttriple) + " K).\n" + "lower than the triple point temperature 273.16 K"); | assert(T >= 273.16, "IF97 medium function psat: input temperature (= " + String(triple.ptriple) + " K).\n" + "lower than the triple point temperature 273.16 K");
o[1] = -650.17534844798 + Tlim; ...

model Thermal.FluidHeatFlow.Examples.SimpleCooling

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe | =prescribedHeatFlow.port.T - pipe.T_q | =prescribedHeatFlow.port.T - pipe.heatPort.T
pipe | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe

model Thermal.FluidHeatFlow.Examples.ParallelCooling

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe1 | =prescribedHeatFlow1.port.T - pipe1.T_q | =prescribedHeatFlow1.port.T - pipe1.heatPort.T
dTtoPipe2 | =prescribedHeatFlow2.port.T - pipe2.T_q | =prescribedHeatFlow2.port.T - pipe2.heatPort.T
pipe1 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
pipe2 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
pipe3 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.IsolatedPipe

model Thermal.FluidHeatFlow.Examples.IndirectCooling

Component | Modelica 3.2.3 | Modelica 3.2.2
outerMedium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
innerMedium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe | =prescribedHeatFlow.port.T - pipe1.T_q | =prescribedHeatFlow.port.T - pipe1.heatPort.T
dTCooler | =innerPipe.T_q - outerPipe.T_q | =innerPipe.heatPort.T - outerPipe.heatPort.T
pipe1 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
outerPipe | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
innerPipe | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe

model Thermal.FluidHeatFlow.Examples.PumpAndValve

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe | =prescribedHeatFlow.port.T - pipe.T_q | =prescribedHeatFlow.port.T - pipe.heatPort.T
idealPump |  | V_flow(start=0)
pipe | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe

model Thermal.FluidHeatFlow.Examples.PumpDropOut

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe | =prescribedHeatFlow.port.T - pipe.T_q | =prescribedHeatFlow.port.T - pipe.heatPort.T
pipe | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe

model Thermal.FluidHeatFlow.Examples.ParallelPumpDropOut

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe1 | =prescribedHeatFlow1.port.T - pipe1.T_q | =prescribedHeatFlow1.port.T - pipe1.heatPort.T
dTtoPipe2 | =prescribedHeatFlow2.port.T - pipe2.T_q | =prescribedHeatFlow2.port.T - pipe2.heatPort.T
pipe1 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
pipe2 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
pipe3 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.IsolatedPipe

model Thermal.FluidHeatFlow.Examples.OneMass

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe | =heatCapacitor.port.T - pipe.T_q | =heatCapacitor.port.T - pipe.heatPort.T
pipe | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe

model Thermal.FluidHeatFlow.Examples.TwoMass

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
dTtoPipe1 | =heatCapacitor1.port.T - pipe1.T_q | =heatCapacitor1.port.T - pipe1.heatPort.T
dTtoPipe2 | =heatCapacitor2.port.T - pipe2.T_q | =heatCapacitor2.port.T - pipe2.heatPort.T
pipe1 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
pipe2 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.HeatedPipe
pipe3 | Thermal.FluidHeatFlow.Components.Pipe | Thermal.FluidHeatFlow.Components.IsolatedPipe

model Thermal.FluidHeatFlow.Components.IsolatedPipe

Component | Modelica 3.2.3 | Modelica 3.2.2
h_g |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| volumeFlow = V_flow; dp = pressureDrop + medium.rho*Modelica322.Constants.g_n*h_g; Q_flow = Q_friction;

model Thermal.FluidHeatFlow.Components.HeatedPipe

Component | Modelica 3.2.3 | Modelica 3.2.2
h_g |  | Present
heatPort |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| volumeFlow = V_flow; dp = pressureDrop + medium.rho*Modelica322.Constants.g_n*h_g; Q_flow = heatPort.Q_flow + Q_friction; heatPort.T = T_q;

model Thermal.FluidHeatFlow.Sources.AbsolutePressure

Component | Modelica 3.2.3 | Modelica 3.2.2
medium |  | Present
flowPort |  | Present

model Thermal.FluidHeatFlow.Sources.IdealPump

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... else
dp = -dp1*(1 - V_flow/V_flow1); | dp = -dp1*(1-noEvent(abs(V_flow/V_flow1)));
flange_a.tau*w = -dp*V_flow; ...

model Thermal.FluidHeatFlow.Interfaces.Partials.TwoPort

Component | Modelica 3.2.3 | Modelica 3.2.2
medium | =Modelica323.Thermal.FluidHeatFlow.Media.Medium() | =FluidHeatFlow.Media.Medium()
V_flow | start=0 |
T_q |  | protected
h | start=medium.cp*T0 |

model Thermal.FluidHeatFlow.Interfaces.Partials.Ambient

Component | Modelica 3.2.3 | Modelica 3.2.2
medium |  | Present
T |  | Present
T_port |  | Present
h |  | Present
flowPort |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| T_port=flowPort.h/medium.cp; h = medium.cp*T; flowPort.H_flow = semiLinear(flowPort.m_flow,flowPort.h,h);

function Math.Matrices.LU

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgetrf( m, n, LU, lda, pivots, info); | external "FORTRAN 77" dgetrf( size(A, 1), size(A, 2), LU, lda, pivots, info);

function Math.Matrices.LAPACK.dgeev

Component | Modelica 3.2.3 | Modelica 3.2.2
ldvl | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgeev( "N", "V", n, Awork, n, eigenReal, eigenImag, dummy, ldvl, eigenVectors, n, work, lwork, 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.dgeev_eigenValues

Component | Modelica 3.2.3 | Modelica 3.2.2
lwork | =8*n | =8*size(A, 1)
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgeev( "N", "N", n, Awork, n, EigenReal, EigenImag, EigenvectorsL, n, EigenvectorsL, n, work, lwork, info); | external "FORTRAN 77" dgeev( "N", "N", size(A, 1), Awork, size(A, 1), EigenReal, EigenImag, EigenvectorsL, size(EigenvectorsL, 1), EigenvectorsL, size(EigenvectorsL, 1), work, size(work, 1), info);

function Math.Matrices.LAPACK.dgegv

Component | Modelica 3.2.3 | Modelica 3.2.2
ldvl | Present |
ldvr | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgegv( "N", "N", n, Awork, n, Bwork, n, alphaReal, alphaImag, beta, dummy1, ldvl, dummy2, ldvr, work, lwork, info); | external "FORTRAN 77" dgegv( "N", "N", n, Awork, n, Bwork, n, alphaReal, alphaImag, beta, dummy1, 1, dummy2, 1, work, size(work, 1), info);

function Math.Matrices.LAPACK.dgelsx_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgelsx( nrow, ncol, nrhs, Awork, nrow, x, nx, jpvt, rcond, rank, work, info); | external "FORTRAN 77" dgelsx( nrow, ncol, 1, Awork, nrow, x, nx, jpvt, rcond, rank, work, info);

function Math.Matrices.LAPACK.dgelsy_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgelsy( nrow, ncol, nrhs, Awork, nrow, x, nx, jpvt, rcond, rank, work, lwork, info); | external "FORTRAN 77" dgelsy( nrow, ncol, 1, Awork, nrow, x, nx, jpvt, rcond, rank, work, lwork, info);

function Math.Matrices.LAPACK.dgels_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgels( "N", nrow, ncol, nrhs, Awork, nrow, x, nx, work, lwork, info); | external "FORTRAN 77" dgels( "N", nrow, ncol, 1, Awork, nrow, x, nx, work, lwork, info);

function Math.Matrices.LAPACK.dgesv

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgesv( n, nrhs, Awork, lda, ipiv, X, ldb, info); | external "FORTRAN 77" dgesv( size(A, 1), size(B, 2), Awork, lda, ipiv, X, ldb, info);

function Math.Matrices.LAPACK.dgesv_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgesv( n, nrhs, Awork, lda, ipiv, x, ldb, info); | external "FORTRAN 77" dgesv( size(A, 1), 1, Awork, lda, ipiv, x, ldb, info);

function Math.Matrices.LAPACK.dgtsv

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |
ldb | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgtsv( n, nrhs, subdiagwork, diagwork, superdiagwork, X, ldb, info); | external "FORTRAN 77" dgtsv( size(diag, 1), size(B, 2), subdiagwork, diagwork, superdiagwork, X, size(B, 1), info);

function Math.Matrices.LAPACK.dgtsv_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |
ldb | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgtsv( n, nrhs, subdiagwork, diagwork, superdiagwork, x, ldb, info); | external "FORTRAN 77" dgtsv( size(diag, 1), 1, subdiagwork, diagwork, superdiagwork, x, size(b, 1), info);

function Math.Matrices.LAPACK.dgbsv

Component | Modelica 3.2.3 | Modelica 3.2.2
nrhs | Present |
ldab | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgbsv( n, kLower, kUpper, nrhs, Awork, ldab, ipiv, X, n, info); | external "FORTRAN 77" dgbsv( n, kLower, kUpper, size(B, 2), Awork, size(Awork, 1), ipiv, X, n, info);

function Math.Matrices.LAPACK.dgbsv_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
nrhs | Present |
ldab | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgbsv( n, kLower, kUpper, nrhs, Awork, ldab, ipiv, x, n, info); | external "FORTRAN 77" dgbsv( n, kLower, kUpper, 1, Awork, size(Awork, 1), ipiv, x, n, info);

function Math.Matrices.LAPACK.dgesvd

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgesvd( "A", "A", m, n, Awork, m, sigma, U, m, VT, n, work, lwork, info); | external "FORTRAN 77" dgesvd( "A", "A", size(A, 1), size(A, 2), Awork, size(A, 1), sigma, U, size(A, 1), VT, size(A, 2), work, lwork, info);

function Math.Matrices.LAPACK.dgesvd_sigma

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgesvd( "N", "N", m, n, Awork, m, sigma, U, m, VT, n, work, lwork, info); | external "FORTRAN 77" dgesvd( "N", "N", size(A, 1), size(A, 2), Awork, size(A, 1), sigma, U, size(A, 1), VT, size(A, 2), work, lwork, info);

function Math.Matrices.LAPACK.dgetrf

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgetrf( m, n, LU, lda, pivots, info); | external "FORTRAN 77" dgetrf( size(A, 1), size(A, 2), LU, lda, pivots, info);

function Math.Matrices.LAPACK.dgetrs

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgetrs( "N", n, nrhs, work, lda, pivots, X, ldb, info); | external "FORTRAN 77" dgetrs( "N", size(LU, 1), size(B, 2), work, lda, pivots, X, ldb, info);

function Math.Matrices.LAPACK.dgetrs_vec

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgetrs( "N", n, nrhs, work, lda, pivots, x, ldb, info); | external "FORTRAN 77" dgetrs( "N", size(LU, 1), 1, work, lda, pivots, x, ldb, info);

function Math.Matrices.LAPACK.dgetri

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgetri( n, inv, lda, pivots, work, lwork, info); | external "FORTRAN 77" dgetri( size(LU, 1), inv, lda, pivots, work, lwork, info);

function Math.Matrices.LAPACK.dgeqpf

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgeqpf( m, ncol, QR, lda, p, tau, work, info); | external "FORTRAN 77" dgeqpf( size(A, 1), ncol, QR, lda, p, tau, work, info);

function Math.Matrices.LAPACK.dorgqr

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |
n | Present |
k | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dorgqr( m, n, k, Q, lda, tau, work, lwork, info); | external "FORTRAN 77" dorgqr( size(QR, 1), size(QR, 2), size(tau, 1), Q, lda, tau, work, lwork, info);

function Math.Matrices.LAPACK.dgesvx

Component | Modelica 3.2.3 | Modelica 3.2.2
n | Present |
nrhs | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgesvx( "N", transA, n, nrhs, Awork, lda, AF, lda, ipiv, equed, R, C, Bwork, lda, X, lda, rcond, ferr, berr, work, iwork, info); | external "FORTRAN 77" dgesvx( "N", transA, size(A, 1), size(B, 2), Awork, lda, AF, lda, ipiv, equed, R, C, Bwork, lda, X, lda, rcond, ferr, berr, work, iwork, info);

function Math.Matrices.LAPACK.dgesdd

Component | Modelica 3.2.3 | Modelica 3.2.2
m | Present |
n | Present |

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "FORTRAN 77" dgesdd( "A", m, n, Awork, lda, sigma, U, ldu, VT, ldvt, work, lwork, iwork, info); | external "FORTRAN 77" dgesdd( "A", size(A, 1), size(A, 2), Awork, lda, sigma, U, ldu, VT, ldvt, work, lwork, iwork, info);

function Math.Matrices.Utilities.toUpperHessenberg

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if n > 0 then
if n == 1 then H = A; V = {{0.0}}; tau = zeros(0); info = 0; else |
(Aout, tau, info) = LAPACK.dgehrd(A, ilo, ihi);
H = zeros(size(H, 1), size(H, 2)); | H[1:2, 1:ihi] = Aout[1:2, 1:ihi];
H[1:2, 1:n] = Aout[1:2, 1:n]; | H[1:2, ihi + 1:n] = A[1:2, ihi + 1:n];
for i in 3:n loop
H[i, (i - 1):n] = Aout[i, (i - 1):n]; | H[i, i - 1:ihi] = Aout[i, i - 1:ihi];
| H[i, ihi + 1:n] = A[i, ihi + 1:n];
end for;
V = zeros(size(V, 1), size(V, 2)); | for i in 1:min(n - 2, ihi) loop
for i in ilo:min(n - 2, ihi) loop |
V[i + 1, i] = 1.0;
V[(i + 2):n, i] = Aout[(i + 2):n, i]; | V[i + 2:n, i] = Aout[i + 2:n, i];
end for; ... end if;
end if; |

function Math.Random.Utilities.impureRandomInteger

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... r := impureRandom(id=id);
y = min(imax, integer(r*(imax-imin+1))+imin); | y = integer(r*imax) + integer((1-r)*imin);
| y = min(imax, max(imin, y));

model Math.FastFourierTransform.Examples.RealFFT1

Component | Modelica 3.2.3 | Modelica 3.2.2
y_buf | start=vector([6.5; fill(0, ns - 1)]) |
| each start=0

model Math.FastFourierTransform.Examples.RealFFT2

Component | Modelica 3.2.3 | Modelica 3.2.2
FFT_resultFileName | ="RealFFT2_resultFFT.mat" | ="RealFFT1_resultFFT.mat"
y_buf | start=vector([6.5; fill(0, ns - 1)]) |
| each start=0

function Math.FastFourierTransform.realFFTwriteToFile

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... if success then
print("... FFT result computed at time = " + String(t_computed) + " s stored on file: " + Modelica323.Utilities.Files.fullPathName(fileName)); | print("... FFT result computed at time = " + String(t_computed) + " s stored on file: " + fileName);
end if; ...

model Utilities.Examples.WriteRealMatrixToFile

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
algorithm |
when initial() then ... end when;

model Utilities.Examples.ReadRealMatrixFromFile

Component | Modelica 3.2.3 | Modelica 3.2.2
dim | =Modelica323.Utilities.Streams.readMatrixSize(file, matrixName) | =Modelica322.Utilities.Streams.readMatrixSize(file1, matrixName)
A | =Modelica323.Utilities.Streams.readRealMatrix(file, matrixName, dim1[1], dim1[2]) | =Modelica322.Utilities.Streams.readRealMatrix(file1, matrixName1, dim1[1], dim1[2])

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
... der(x) = -A[1,1]*x;
algorithm |
when initial() then ... end when;

function Utilities.Files.temporaryFileName

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
external "C" fileName=ModelicaInternal_temporaryFileName(); | external "C" fileName=ModelicaInternal_temporaryFileName(0);

function Utilities.System.exit

Component | Modelica 3.2.3 | Modelica 3.2.2
status |  | Present

Equations in Modelica 3.2.3 | Equations in Modelica 3.2.2
| external "C" exit(status);

package Constants

Component | Modelica 3.2.3 | Modelica 3.2.2
q | Present |

Class | Modelica 3.2.3 | Modelica 3.2.2
Modelica323.Blocks.Sources.Exponentials
| block
| model
package Modelica323.UsersGuide.Conventions.Terms | Present |
class Modelica323.UsersGuide.Conventions.Icons | Present |
class Modelica323.UsersGuide.ReleaseNotes.Version_3_2_3 | Present |
model Modelica323.Blocks.Examples.SlewRateLimiter | Present |
model Modelica323.Blocks.Examples.Rectifier6pulseFFT | Present |
model Modelica323.Blocks.Examples.Rectifier12pulseFFT | Present |
model Modelica323.Blocks.Examples.TotalHarmonicDistortion | Present |
model Modelica323.Blocks.Interfaces.Adaptors.FlowToPotentialAdaptor | Present |
model Modelica323.Blocks.Interfaces.Adaptors.PotentialToFlowAdaptor | Present |
package Modelica323.Blocks.Interfaces.Adaptors.Functions | Present |
connector Modelica323.Blocks.Interfaces.RealVectorOutput | Present |
block Modelica323.Blocks.Math.Power | Present |
block Modelica323.Blocks.Math.WrapAngle | Present |
block Modelica323.Blocks.Math.TotalHarmonicDistortion | Present |
block Modelica323.Blocks.Math.RealFFT | Present |
block Modelica323.Blocks.Math.Pythagoras | Present |
block Modelica323.Blocks.Routing.Multiplex | Present |
block Modelica323.Blocks.Routing.DeMultiplex | Present |
block Modelica323.Blocks.Tables.CombiTable2Dv | Present |
package Modelica323.Blocks.Tables.Internal | Present |
type Modelica323.Blocks.Types.TimeEvents | Present |
type Modelica323.Blocks.Types.LimiterHomotopy | Present |
type Modelica323.Blocks.Types.VariableLimiterHomotopy | Present |
block Modelica323.ComplexBlocks.ComplexMath.Bode | Present |
block Modelica323.ComplexBlocks.Sources.ComplexRampPhasor | Present |
package Modelica323.ComplexBlocks.Routing | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.DirectCapacitor | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.InverseCapacitor | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.SwitchedCapacitor | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.Resistor | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.DirectInductor | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.InverseInductor | Present |
model Modelica323.Electrical.Analog.Examples.Utilities.Conductor | Present |
model Modelica323.Electrical.Analog.Examples.HeatingPNP_NORGate | Present |
model Modelica323.Electrical.Analog.Examples.GenerationOfFMUs | Present |
model Modelica323.Electrical.Analog.Examples.ResonanceCircuits | Present |
model Modelica323.Electrical.Analog.Examples.InvertingAmp | Present |
model Modelica323.Electrical.Analog.Basic.GeneralCurrentToVoltageAdaptor | Present |
model Modelica323.Electrical.Analog.Basic.GeneralVoltageToCurrentAdaptor | Present |
function Modelica323.Electrical.Analog.Semiconductors.powlin | Present |
function Modelica323.Electrical.Analog.Semiconductors.exlin2 | Present |
model Modelica323.Electrical.Analog.Sensors.MultiSensor | Present |
model Modelica323.Electrical.Digital.Interfaces.MemoryBase | Present |
model Modelica323.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_InverterDrive | Present |
model Modelica323.Electrical.Machines.Examples.SynchronousInductionMachines.SMR_DOL | Present |
model Modelica323.Electrical.Machines.Examples.SynchronousInductionMachines.SMPM_NoLoad | Present |
model Modelica323.Electrical.Machines.Examples.SynchronousInductionMachines.SMEE_DOL | Present |
model Modelica323.Electrical.Machines.Examples.DCMachines.DCPM_CurrentControlled | Present |
package Modelica323.Electrical.Machines.Examples.ControlledDCDrives | Present |
model Modelica323.Electrical.Machines.Sensors.HallSensor | Present |
block Modelica323.Electrical.Machines.SpacePhasors.Blocks.LessThreshold | Present |
function Modelica323.Electrical.Machines.Thermal.linearTemperatureDependency | Present |
model Modelica323.Electrical.Machines.Icons.Machine | Present |
model Modelica323.Electrical.Machines.Icons.Drive | Present |
class Modelica323.Electrical.MultiPhase.UsersGuide.PhaseOrientation | Present |
function Modelica323.Electrical.MultiPhase.Functions.symmetricBackTransformationMatrix | Present |
model Modelica323.Electrical.MultiPhase.Sensors.MultiSensor | Present |
model Modelica323.Electrical.MultiPhase.Sensors.AronSensor | Present |
model Modelica323.Electrical.MultiPhase.Sensors.ReactivePowerSensor | Present |
model Modelica323.Electrical.PowerConverters.Examples.DCAC.MultiPhaseTwoLevel.ThreePhaseTwoLevel_PWM | Present |
model Modelica323.Electrical.PowerConverters.Examples.DCDC.ExampleTemplates.ChopperStepUp | Present |
package Modelica323.Electrical.PowerConverters.Examples.DCDC.ChopperStepUp | Present |
package Modelica323.Electrical.PowerConverters.DCAC.Control | Present |
model Modelica323.Electrical.PowerConverters.DCDC.ChopperStepUp | Present |
package Modelica323.Electrical.PowerConverters.Types | Present |
model Modelica323.Electrical.QuasiStationary.SinglePhase.Examples.SeriesBode | Present |
model Modelica323.Electrical.QuasiStationary.SinglePhase.Sensors.MultiSensor | Present |
model Modelica323.Electrical.QuasiStationary.SinglePhase.Sources.FrequencySweepVoltageSource | Present |
model Modelica323.Electrical.QuasiStationary.SinglePhase.Sources.FrequencySweepCurrentSource | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Examples.UnsymmetricalLoad | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Examples.TestSensors | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Basic.MutualInductor | Present |
block Modelica323.Electrical.QuasiStationary.MultiPhase.Blocks.FromSymmetricalComponents | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Sensors.MultiSensor | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Sensors.AronSensor | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Sensors.ReactivePowerSensor | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Sources.FrequencySweepVoltageSource | Present |
model Modelica323.Electrical.QuasiStationary.MultiPhase.Sources.FrequencySweepCurrentSource | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_YD | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_Transformer | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_Inverter | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_Conveyor | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_Steinmetz | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_withLosses | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.AIMC_Initialize | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_CurrentSource | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_VoltageSource | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.SMPM_Braking | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_DOL | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_LoadDump | Present |
model Modelica323.Magnetic.FundamentalWave.Examples.BasicMachines.SMEE_Rectifier | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Characteristics | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_YD | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Transformer | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Conveyor | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_withLosses | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Initialize | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMS_Characteristics | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.SynchronousMachines.SMPM_MTPA | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Sensors.RotorDisplacementAngle | Present |
model Modelica323.Magnetic.QuasiStatic.FundamentalWave.Utilities.SwitchYD | Present |
package Modelica323.Magnetic.QuasiStatic.FluxTubes | Present |
model Modelica323.Mechanics.MultiBody.Examples.Loops.PlanarFourbar | Present |
model Modelica323.Mechanics.MultiBody.Interfaces.LineForceBase | Present |
function Modelica323.Mechanics.MultiBody.Visualizers.Advanced.SurfaceCharacteristics.rectangle | Present |
model Modelica323.Mechanics.MultiBody.Visualizers.Rectangle | Present |
model Modelica323.Mechanics.Rotational.Examples.EddyCurrentBrake | Present |
model Modelica323.Mechanics.Rotational.Examples.OneWayClutch | Present |
model Modelica323.Mechanics.Rotational.Examples.OneWayClutchDisengaged | Present |
model Modelica323.Mechanics.Rotational.Components.GeneralAngleToTorqueAdaptor | Present |
model Modelica323.Mechanics.Rotational.Components.GeneralTorqueToAngleAdaptor | Present |
model Modelica323.Mechanics.Rotational.Sources.EddyCurrentTorque | Present |
connector Modelica323.Mechanics.Rotational.Interfaces.Flange | Present |
model Modelica323.Mechanics.Translational.Examples.Utilities.DirectMass | Present |
model Modelica323.Mechanics.Translational.Examples.Utilities.InverseMass | Present |
model Modelica323.Mechanics.Translational.Examples.Utilities.SpringDamper | Present |
model Modelica323.Mechanics.Translational.Examples.Utilities.Spring | Present |
model Modelica323.Mechanics.Translational.Examples.Utilities.SpringDamperNoRelativeStates | Present |
model Modelica323.Mechanics.Translational.Examples.EddyCurrentBrake | Present |
model Modelica323.Mechanics.Translational.Examples.GenerationOfFMUs | Present |
model Modelica323.Mechanics.Translational.Components.GeneralForceToPositionAdaptor | Present |
model Modelica323.Mechanics.Translational.Components.GeneralPositionToForceAdaptor | Present |
model Modelica323.Mechanics.Translational.Sources.EddyCurrentForce | Present |
connector Modelica323.Mechanics.Translational.Interfaces.Flange | Present |
package Modelica323.Media.Examples.Utilities | Present |
function Modelica323.Media.Incompressible.TableBased.specificEnthalpyOfT | Present |
record Modelica323.Media.Water.WaterIF97_base.SaturationProperties | Present |
model Modelica323.Thermal.FluidHeatFlow.Examples.WaterPump | Present |
model Modelica323.Thermal.FluidHeatFlow.Examples.TestOpenTank | Present |
model Modelica323.Thermal.FluidHeatFlow.Examples.TwoTanks | Present |
model Modelica323.Thermal.FluidHeatFlow.Examples.TestCylinder | Present |
model Modelica323.Thermal.FluidHeatFlow.Components.Pipe | Present |
model Modelica323.Thermal.FluidHeatFlow.Components.OpenTank | Present |
model Modelica323.Thermal.FluidHeatFlow.Components.Cylinder | Present |
model Modelica323.Thermal.FluidHeatFlow.Components.OneWayValve | Present |
record Modelica323.Thermal.FluidHeatFlow.Media.Water_10degC | Present |
record Modelica323.Thermal.FluidHeatFlow.Media.Water_90degC | Present |
record Modelica323.Thermal.FluidHeatFlow.Media.Gylcol20_20degC | Present |
record Modelica323.Thermal.FluidHeatFlow.Media.Gylcol50_20degC | Present |
record Modelica323.Thermal.FluidHeatFlow.Media.MineralOil | Present |
model Modelica323.Thermal.FluidHeatFlow.Interfaces.Partials.SinglePortLeft | Present |
model Modelica323.Thermal.FluidHeatFlow.Interfaces.Partials.SinglePortBottom | Present |
model Modelica323.Thermal.HeatTransfer.Examples.GenerationOfFMUs | Present |
package Modelica323.Thermal.HeatTransfer.Examples.Utilities | Present |
model Modelica323.Thermal.HeatTransfer.Components.GeneralHeatFlowToTemperatureAdaptor | Present |
model Modelica323.Thermal.HeatTransfer.Components.GeneralTemperatureToHeatFlowAdaptor | Present |
function Modelica323.Math.wrapAngle | Present |
package Modelica323.Utilities.Internal.PartialModelicaServices.System | Present |
package Modelica323.Icons.FunctionsPackage | Present |
package Modelica323.Icons.RecordsPackage | Present |
type Modelica323.SIunits.LinearTemperatureCoefficientResistance | Present |
type Modelica323.SIunits.QuadraticTemperatureCoefficientResistance | Present |
operator record Modelica323.SIunits.ComplexPerUnit | Present |
class Modelica322.UsersGuide.ModelicaLicense2 |  | Present
class Modelica322.Electrical.MultiPhase.UsersGuide.Concept |  | Present
model Modelica322.Magnetic.QuasiStatic.FundamentalWave.Examples.BasicMachines.InductionMachines.IMC_Inverter |  | Present
class Modelica322.Media.UsersGuide.Future |  | Present