Tags and keywords
Modelling and style
The '@' prefix in some of the ConstraintBlocks and OpaqueBehaviors indicate that they are (typically trivial) maths operations that aren't represented by dedicated functions in the Webel Psy
Mathematica code library:
The inclusion of such fine-grained @dw
for w2-w1
in the example diagrams here is purely for demonstration of that naming policy; one could instead simply pass w1
and w2
to the dryingAirMassRate
calculation (with more concise model diagrams).
At the top we see a SysML Parametric Diagram representing a network of equations for the psychrometric properties obtained from low-level CoolProp wrappers for Mathematica, and some ConstraintBlock usages for calculating the volumetric humid air flow rate for achieving a desired degree of drying of another object.
In the middle and bottom Activity Diagrams we see how the problem can be setup instead using Webel MPsy
objects, which encapsulate the lower level CoolProp calls. Together, they represent this Mathematica invocation:
ex8$psy1 = newPsy[asDegF[80.6], $opt$psy$r -> 0.8];
ex8$psy2 = newPsy[asDegF[140], $opt$psy$twb -> asDegF[125.6]];
psy$humidification$vfr$via$waterMassRate[
ex8$psy1,
ex8$psy2,
5.68 unitPoundPerHour,
$opt$psy$doShowAsIP -> True
]
1058.7950696434616 ft^3/hr
Here unitPoundPerHour
is a pre-built Mathematica Quantity[1.0, ("Pounds")/("Hours")]
:
And the units utility function asDegF[magF_Real]
similarly creates a Quantity for °F.
Note that: