CONVENTION, NAMING |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Variable/quantity registry and naming conventions, with symbol markup. |
|
|
|
Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour |
CONVENTION, NAMING |
Webel: Psy/MPsy: Psychrometrics for Mathematica: The term 'steam' (indicated in variable names with a suffix '$s') is reserved for water vapour created through boiling. |
|
|
|
Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour |
CONVENTION, NAMING |
Webel: Psy/MPsy: Psychrometrics for Mathematica: A suffix '$g' in a water-related variable name refers to water vapour (a special case of gas) or steam. A suffix '$f' refers to liquid (fluid) water. [Although a gas is a fluid.] |
|
|
|
Psychrometrics, Webel::MPsy, Webel::Psy, humid air, water, liquid water, steam, gas, fluid, vapour, water vapour |
MODELLING, NAMING, TIP |
Webel: SysML4Mathematica: Does every bit of the Mathematica code need to be modelled in SysML? No. Typically just the main function parameters and their interdependencies, data structures, and main code logic. Except for special or educational purposes. |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, OpaqueBehavior |
ConstraintBlock |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language |
ASSERTION, TIP |
Psychrometrics: Calculations of the mass flow rate of the dry air component (assumed constant under steady state) from the ENTRY volumetric flow rate of the humid air mixture MUST use the INITIAL state variables! |
|
|
|
Psychrometrics, humid air, air, water, water vapour, steam |
EXPLANATION, MODELLING |
Webel: SysML/UML: Some example diagrams show extremely fine-grained and trivial examples purely for educational and capability demonstration purposes (not as practical recommendations for real-world projects). You can sometimes just use code in SysML. |
fUML-1.4, OCL-2.4, SysML-1.6, SysML-1.7, SysMLv2, SysPhS-1.1, UML-2.5.1 |
|
|
SysML, UML, Model-Based Systems Engineering, training, education, demonstration, Webel Best Practice |
MODELLING, POLICY |
Webel: SysML4Mathematica: POLICY: Handle flow sign changes via a single negative (not duplicated and "adjusted" algebra). This strategy may come at a very slight performance cost (for benefit of more robustness). |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Parameter, Constraint, Activity, OpaqueExpression |
SysML Parametric Diagram, ConstraintBlock, constraint parameter, MD:ConstraintParameter, SysML Activity Diagram |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook, Webel::MPsy, Psychrometrics, Webel::Psy |
CAPABILITY, FEATURE, MODELLING, TIP, TOOL |
Cameo Simulation Toolkit: You can use Mathematica as an external maths engine to share maths between an OpaqueBehavior and a ConstraintBlock using custom auto-loaded Mathematica functions (keeps a project nice and DRY and respects Single Source of Truth) |
SysML-1.6, SysML-1.7 |
Constraint |
ConstraintBlock, SysML Parametric Diagram |
Wolfram, JLink, Mathematica, MagicDraw SysML, SysML, MD SysML, SysML Parametrics, mathematics, CATIA Magic, Magic Model Analyst [Cameo Simulation Toolkit], DRY, WET, Single Source of Truth, SysMLv1.x |
TIP, TOOL |
HOWTO: MagicDraw/Cameo: v2022Refresh1: JDK 11 download compatible with the modelling tools AND Apple Silicon (ARM) machines (such as M1 Max) |
|
Constraint |
ConstraintBlock, SysML Parametric Diagram |
MagicDraw SysML, CATIA Magic, Magic Model Analyst [Cameo Simulation Toolkit], CATIA Magic:v2021x, CATIA Magic:v2021xR1, JDK, Java Development Kit, Java, ARM Architecture, M1 Max, Apple Silicon, CATIA Magic:v2022xGolden, CATIA Magic:v2022xRefresh1 |
CAVEAT, COMPLICATION, LIMITATION |
SysMLv1.x: Limitation: The 'body' (maths formula) of an OpaqueBehavior can't be synchronised (shared) with the 'constraint' of a ConstraintBlock (directly in the SysML model). Can lead to a WET (not DRY) model and breaks Single Source of Truth! |
|
Constraint, OpaqueBehavior:body, OpaqueBehavior:language, Activity, OpaqueBehavior, Abstraction |
ConstraintBlock, SysML Parametric Diagram, SysML Activity Diagram |
DRY, WET, Single Source of Truth, Systems Modeling Language, SysMLv1.x, Model-Based Systems Engineering, Wolfram, Mathematica |
MODELLING, TIP |
Webel: SysML4Mathematica: Yes, SysML Activities and SysML Activity Diagrams CAN represent functional programming paradigms! You can type Parameters by encapsulations of functions and pass them to/from InputPins/OutputPins of Actions. |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Parameter, Activity, Action |
SysML Activity Diagram |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, functional, functional programming |
MODELLING, TIP |
Webel: SysML4Mathematica: TIP: Representing Mathematica Paclets and their inter-dependencies as SysML Packages modelled in SysML Package Diagrams can really help you organise your Wolfram Language code on complex projects! |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Package, Model, Usage, Dependency |
SysML Package Diagram |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook, Mathematica:Paclet |
MODELLING, TIP |
Webel: SysML4Mathematica: TIP: Representing Mathematica functions as SysML ConstraintBlocks modelled in Block Definition Diagram (BDD) overviews can really help you organise and document your Wolfram Language code on complex projects! |
SysML-1.6, SysML-1.7, UML-2.5.1 |
|
SysML Block Definition Diagram, ConstraintBlock, constraint parameter, MD:ConstraintParameter |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook |
MODELLING, TIP |
Webel: SysML4Mathematica: TIP: Representing Mathematica functions as SysML ConstraintBlocks modelled in SysML Parametric Diagrams and as Activities in SysML Activity Diagrams is super for analysing the dependencies between functions and their arguments! |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Parameter, Constraint, Activity |
SysML Parametric Diagram, ConstraintBlock, constraint parameter, MD:ConstraintParameter, SysML Activity Diagram |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook |
MODELLING, TIP |
Webel: SysML4Mathematica: TIP: Exported SysML Diagrams can be embedded in Mathematica Notebooks! |
SysML-1.6, SysML-1.7, UML-2.5.1 |
|
|
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica:notebook |
CONVENTION, MODELLING |
Webel: SysML4Mathematica: Convention: A custom SysML ValueType 'Quantity' extends a custom ValueType '_' (representing a Mathematica '_' Blank). It DOES NOT also extend the SysML Real! |
SysML-1.6, SysML-1.7 |
|
ValueType |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, Mathematica::Expression, Mathematica::Blank |
CAVEAT, GOTCHA, LIMITATION, MODELLING, TIP |
SysML: Cameo Systems Modeler: A ValueType that does not extend Real might not always simulate correctly when used to type a constraint parameter of a ConstraintBlock (in a SysML Parametric Diagram) or to type a parameter (in a SysML Activity Diagram)! |
|
Parameter, Activity, Action, Pin |
ConstraintBlock, constraint parameter, SysML Parametric Diagram, SysML Activity Diagram, Real, ValueType, value property |
Cameo Systems Modeler, Magic Model Analyst [Cameo Simulation Toolkit], MagicDraw SysML, SysML, CATIA Magic, Systems Modeling Language, simulation, execution |
CONVENTION, MODELLING, NAMING, TOOL |
Webel: SysML4Mathematica: Convention: A Mathematica Blank '_' (which pattern-matches any Expression) is represented by a custom SysML ValueType '_' |
SysML-1.6, SysML-1.7 |
Activity, Type, Parameter, custom Stereotype |
ConstraintBlock, constraint parameter, ValueType, MD:UNSPECIFIED |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, Mathematica::Expression, Mathematica::Blank |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The nested property path concept is implemented using a vendor-specific stereotype extension NestedPropertyPath |
SysML-1.6, SysML-1.7 |
|
nested property path, MD:NestedPropertyPath |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The value property concept is implemented using a vendor-specific stereotype extension ValueProperty |
SysML-1.6, SysML-1.7 |
|
value property, MD:ValueProperty |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The shared property concept is implemented using a vendor-specific stereotype extension SharedProperty |
SysML-1.6, SysML-1.7 |
|
shared property, MD:SharedProperty |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The reference property concept is implemented using a vendor-specific stereotype extension ReferenceProperty |
SysML-1.6, SysML-1.7 |
|
reference property, MD:ReferenceProperty |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The part property concept is implemented using a vendor-specific stereotype extension PartProperty |
SysML-1.6, SysML-1.7 |
|
part property, MD:PartProperty |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The block property concept is implemented using a vendor-specific stereotype extension BlockProperty |
SysML-1.6, SysML-1.7 |
|
block property, MD:BlockProperty |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The constraint parameter concept is implemented using a vendor-specific stereotype extension ConstraintParameter |
SysML-1.6, SysML-1.7 |
|
constraint property, MD:ConstraintParameter |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
MODELLING, TIP, TOOL |
SysML1.x: MagicDraw/Cameo: The constraint property concept is (was) implemented using a vendor-specific stereotype extension ConstraintProperty [VENDOR-DEPRECATED] |
SysML-1.6, SysML-1.7 |
|
constraint property, MD:ConstraintProperty |
MagicDraw SysML, Cameo Systems Modeler, Systems Modeling Language, CATIA Magic, SysMLv1.x |
ASSERTION, GOTCHA, TIP |
Psychrometrics: The volumetric flow rate of a humid air mixture MAY change between a State1 and State2 (but the mass flow rate of dry air does not under steady state)! This is sometimes "glossed over" in some online calculators and less formal guides. |
|
|
|
Psychrometrics, humid air, air, water, water vapour, steam |
NAMING, PATTERN, POLICY |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Convention: Option variable names are prefixed with '$opt$psy' |
|
|
|
Webel Best Practice, Mathematica, Wolfram Language, naming, coding, Mathematica::option, Webel::MPsy, Webel::Psy |
NAMING, PATTERN, POLICY |
Webel Best Practice: Mathematica: Options are encapsulated as a String variable with the prefix '$opt', and have a related '$info$opt$' String (help), '$lab$opt' String (label), a 'def$opt' default value expression, and an optional '$warn$opt' String. |
|
|
|
Webel Best Practice, Webel::SysML4Mathematica, Mathematica, Wolfram Language, naming, coding, Mathematica::option |
CONVENTION, MODELLING, NAMING |
Webel: SysML4Mathematica: An Association used as the Type of an argument or return is represented by a Block '<||>'. A List used as as the Type of an argument or return is represented by a Block '{}'. |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, OpaqueBehavior |
Block, ConstraintBlock |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica::Association, Mathematica::List |
GOTCHA, TIP |
CoolProp: Mathematica wrapper: Psychrometrics (humid air): When obtaining the dew point temperature 'Tdp' at the pressure 'P', humidity ratio 'W', and dry bulb temperature 'Tdb', the 'Tdb' value will be "ignored" but MUST be within a sensible range! |
|
|
|
Psychrometrics, Webel::Psy, Mathematica, CoolProp, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, humidity ratio, dew point temperature |
EXPLANATION, FEATURE, POLICY |
Webel: Psy/MPsy: Psychrometrics for Mathematica: The default newPsy[tdb] builder accepts the pressure 'p' as an option, which defaults to sea level atmospheric pressure. |
|
|
|
Psychrometrics, Webel::Psy, Mathematica, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: The CoolProp "wrappers" of the Psy library in fact wrap lower-level wrappers (bindings) for CoolProp for Mathematica |
|
|
|
Psychrometrics, Webel::Psy, Mathematica, CoolProp, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio |
CAVEAT, COMPLICATION, GOTCHA, ISSUE, MODELLING, NAMING, TOOL |
ISSUE/GOTCHA: MagicDraw/Cameo v2022x: UML/SysML: If you "rename" an ActivityParameterNode symbol on the frame of an Activity Diagram it actually renames the underlying Parameter (only) NOT the name of the ActivityParameterNode element! |
|
Activity, ActivityParameterNode, Activity Diagram, Pin, Parameter, CallBehaviorAction, CallOperationAction |
SysML Activity Diagram |
Unified Modeling Language, UML, SysML, Systems Modeling Language, SysMLv1.x, MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler, MagicDraw:validation |
MODELLING, NAMING, TIP, TOOL |
SysML/UML: MagicDraw/Cameo: The name of an ActivityParameterNode does not always stay in synch with its Parameter (and it is not always desirable that it does). |
|
Activity, ActivityParameterNode, Activity Diagram, Pin, Parameter, CallBehaviorAction, CallOperationAction |
SysML Activity Diagram |
Unified Modeling Language, UML, SysML, Systems Modeling Language, SysMLv1.x, MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler, MagicDraw:validation |
MODELLING, TIP, TOOL |
SysML/UML: MagicDraw/Cameo: Activity Diagrams: All Pins of CallBehaviorActions and CallOperationActions MUST be displayed (synchronised). All ActivityParameterNodes MUST be shown on the frame of an Activity Diagram. |
|
Activity, ActivityParameterNode, Activity Diagram, Pin, Parameter, CallBehaviorAction, CallOperationAction |
SysML Activity Diagram |
Unified Modeling Language, UML, SysML, Systems Modeling Language, SysMLv1.x, MagicDraw UML, MagicDraw SysML, Cameo Systems Modeler, MagicDraw:validation |
CAPABILITY, EXPLANATION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: The default MPsy class is a readonly one-shot class that pre-builds many frequently used psychrometric properties (offered as public fields) using CoolProp, and also offers some value-adding methods. |
|
|
|
Psychrometrics, Webel::Psy, Mathematica, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio, CoolProp |
EXPLANATION, FEATURE, POLICY |
Webel: Psy/MPsy: Psychrometrics for Mathematica: The default newPsy[tdb] builder requires the dry bulb temperature 'tdb', and one (only) of the relative humidity 'r', the humidity ratio 'w', or the wet bulb temperature 'twb' (as options). |
|
|
|
Psychrometrics, Webel::Psy, Mathematica, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio |
LIMITATION, MODELLING, WARNING |
Webel: SysML4Mathematica: SysML Parametric Diagrams are not well suited to modelling calculations with Blocks for MTools classes, or for modelling complex logic flow of Mathematica functions. Prefer SysML Activity Diagrams for those modelling cases. |
|
|
SysML Activity Diagram, SysML Parametric Diagram |
SysML, Systems Modeling Language, Mathematica, Wolfram Language, Mathematica:MTools |
COMPLICATION, CONVENTION, GOTCHA, LIMITATION, NAMING, TOOL |
SysML/UML: MagicDraw/Cameo: GOTCHA: Connecting a typed OutputPin to an untyped (UNSPECIFIED) InputPin with an ObjectFlow changes the type of the InputPin |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, CallBehaviorAction, Action, Parameter, Activity Diagram, ObjectFlow, Pin, InputPin, OutputPin |
SysML Activity Diagram, MD::UNSPECIFIED |
Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic |
CONVENTION, LIMITATION, MODELLING, NAMING, TOOL |
Webel: SysML4Mathematica: Convention: A '$E' in a function name indicates that all parameters (arguments and return) are Mathematica '_' expressions. However, when representing such functions as Activities they may end up getting strongly typed in tools! |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, CallBehaviorAction, Action, Parameter, Activity Diagram, ObjectFlow, Pin, InputPin, OutputPin |
SysML Activity Diagram, MD:UNSPECIFIED |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, Mathematica::Expression, Mathematica::Blank |
MODELLING, TIP |
TIP: Webel: SysML/UML: On the boundary of symbols for ConstraintParameters on a ConstraintProperty (ConstraintBlock usage) symbol in Parametric Diagrams use any placement or "ordering" of ConstraintParameter symbols that works for the diagram! |
|
|
MD:ConstraintParameter, constraint parameter, SysML Parametric Diagram, ConstraintBlock |
Systems Modeling Language, SysML, SysMLv1.x, Webel Best Practice, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic |
MODELLING, TIP |
TIP: Webel: SysML/UML: On the boundary of Action symbols in Activity Diagrams use any placement or "ordering" of Parameter symbols that works for the diagram. Ignore the Parameter ordering of Operation and Behavior signatures completely! |
|
Activity Diagram, Action, Activity, Behavior, Parameter, Operation, ActivityParameterNode |
SysML Activity Diagram |
Systems Modeling Language, SysML, SysMLv1.x, Webel Best Practice, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic |
CONVENTION, MODELLING, NAMING |
Webel: SysML4Mathematica: When modelling the logic flow of Mathematica code with Activity diagrams it is not necessary to model every single Mathematica construct. Placeholder OpaqueBehaviors (used via CallBehaviorActions) and OpaqueActions may be used. |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, OpaqueBehavior, OpaqueAction |
ConstraintBlock |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic |
CAVEAT, COMPLICATION, ISSUE, LIMITATION, MODELLING, TOOL |
Webel: SysML4Mathematica: Cameo Systems Modeler: Can perform calculations with a custom Quantity ValueType (for Mathematica) directly, but DOES NOT perform units-aware algebra (no automatic conversions) |
SysML-1.6, SysML-1.7 |
Activity, OpaqueBehavior |
ConstraintBlock, Real, ValueType, ValueType::unit, MD:ValueProperty, value property |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica::Quantity, SI unit, units, Imperial unit, Mathematica::Blank, Cameo Systems Modeler, CATIA Magic, MagicDraw SysML |
DISPLAY, MODELLING, TIP, TOOL |
SysML/UML: MagicDraw/Cameo: To display the body of an OpaqueBehavior on a usage (CallBehaviorAction) in an Activity Diagram use an element property callout of 'Body' into a Note with a handle to the CallBehaviorAction |
SysML-1.6, SysML-1.7, UML-2.5.1 |
CallBehaviorAction, OpaqueBehavior, Activity Diagram, Note, callout |
SysML Activity Diagram |
Systems Modeling Language, Unified Modeling Language, SysML, MagicDraw SysML, Cameo Systems Modeler, CATIA Magic, SysMLv1.x |
CONVENTION, MODELLING, NAMING |
Webel: SysML4Mathematica: An '@' prefix in the name of a Block indicates a Mathematica data structure (such as an Association or List) that is not represented by an MTools class in the Mathematica code |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, OpaqueBehavior |
ConstraintBlock |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language, Mathematica::Association, Mathematica::List |
CONVENTION, MODELLING, NAMING |
Webel: SysML4Mathematica: An '@' prefix in the name of a ConstraintBlock, Activity, or OpaqueBehavior indicates that it is not represented by a dedicated function in a Mathematica code library (typically for minor maths or logic) |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, OpaqueBehavior |
ConstraintBlock |
Webel::SysML4Mathematica, Mathematica, Systems Modeling Language, SysML, SysMLv1.x, Wolfram Language |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Most CoolProp wrappers can be invoked with the dry bulb temperature 'tdb', the pressure 'p', and one (only) of the relative humidity 'r', the humidity ratio 'w', or the wet bulb temperature 'twb' |
|
|
|
Psychrometrics, Webel::Psy, Mathematica, CoolProp, humid air, temperature, pressure, wet bulb temperature, dry bulb temperature, relative humidity, humidity ratio |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Due to Mathematica's units-aware Quantity algebra system it is irrelevant what units are used for the input Quantities for creation of the MPsy objects, as long as they are dimensionally consistent! |
|
|
|
Psychrometrics, Webel::Psy, Webel::MPsy, Mathematica, units, SI unit, Imperial unit, Mathematica::Quantity |
MODELLING, NAMING, TIP |
SysML Parametrics: You can use custom stereotypes keywords «i» and «o» on constraint parameters to indicate their intended use (causality) as (i)nputs and (o)utputs on ConstraintBlocks |
|
Property, Stereotype, custom Stereotype, «keyword» |
constraint parameter, ConstraintBlock, SysML Parametric Diagram, BindingConnector, MD:ConstraintParameter, MD:ConstraintProperty |
Webel Best Practice, Systems Modeling Language |
CAVEAT, GOTCHA, TIP, WARNING |
GOTCHA: Mathematica v13.2+: Operations on "DegreesFahrenheit" °F and "DegreesCelsius" °C are now performed using Kelvins (K). CASE: Naive percentage operation gives answer relative to Kelvins. Use "DegreesCelsiusDifference"/"DegreesFahrenheitDifference"! |
|
|
|
Wolfram, Wolfram Language, Mathematica, temperature, celsius, Fahrenheit, kelvin, Kelvins, units, unit conversion |
TIP |
TIP: If your browser can't zoom in on large tutorial trail slide images in the tutorial trail image viewer, open the slide image in a separate tab then zoom in there |
|
|
|
|
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Transferred heat (energy "Q") has field names with lower case 'qTot', 'qSen', 'qLat'. Heat rates (energy per time) have field names 'qDotTot', 'qDotSen', 'qDotLat' (to avoid clashes with Mathematica core) |
|
|
|
Psychrometrics, humidity, humidity ratio, absolute humidity, Mathematica, Mathematica::Real |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Relative humidity is indicated by a lower case 'r' and measured as a Real fraction (rather than as a Percentage). [Some tables and plots do SHOW the relative humidity as a Percentage.] |
|
|
|
Psychrometrics, humidity, relative humidity, Mathematica, Mathematica::Real, fraction |
ISSUE, TIP, WORKAROUND |
Mathematica: Notebooks: Automatic Cell Grouping mode can be a "royal pain", turn it off by setting Cell > Grouping > Manual Grouping |
|
|
|
Wolfram, Mathematica, Mathematica::Cell, Mathematica:notebook |
ASSERTION, GOTCHA, WARNING |
In the course PDF for 'CED Engineering: Air Conditioning Psychrometrics (A.Bhatia)' the term "enthalpy (h)" usually refers to the mass-specific enthalpy per dry air (in CoolProp notation 'Hda') |
|
|
|
enthalpy, specific enthalpy, Psychrometrics, CoolProp |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: For Imperial Units (IP), International British Thermal Units (Btu) are assumed |
|
|
|
Psychrometrics, energy, British Thermal Unit, Btu, Webel::Psy, Webel::MPsy |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Convention: 'Q' indicates the energy GAINED BY the system as heat energy transfer; 'W' indicates the work DONE BY the system on its external surroundings. |
|
|
|
Psychrometrics, Webel::MPsy, Webel::Psy, thermodynamics, heat, energy transfer, work, thermodynamic work |
CONVENTION |
Webel: Psy/MPsy: Psychrometrics for Mathematica: Humidity ratio (absolute humidity) is indicated by a lower case 'w' and measured in mass (water) / mass (dry air) units, so the SI and IP representations are equal Real (without an explicit unit system) |
|
|
|
Psychrometrics, humidity, humidity ratio, absolute humidity, Mathematica, Mathematica::Real |
COMPLICATION, GOTCHA, TIP |
GOTCHA: Mathematica: Specific enthalpy conversion J/kg to Btu/lb: Does not consider a possible "total" enthalpy reference offset vs 0 °C or 0 °F respectively |
|
|
|
enthalpy, specific enthalpy, unit conversion, SI unit, Imperial unit, Btu, British Thermal Unit, Mathematica, Wolfram, HVAC&R, water condensation, humid air, air, air conditioner, Psychrometrics, US customary measurement system |
CAPABILITY, TIP |
Mathematica: HOWTO: Add every element of one list to the end of another list |
|
|
|
Mathematica, Mathematica::Join, Mathematica::List, Wolfram, Mathematica::MapThread |
ISSUE, TOOL |
ISSUE: MagicDraw/Cameo: v2022x Golden, v2022xRefresh1: Comment can't connect anchor to another Comment as annotatedElement |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Comment, Comment::annotatedElement |
|
Systems Modeling Language, SysML, MagicDraw, CATIA Magic:v2022xGolden, MagicDraw SysML, MagicDraw UML, Cameo Systems Modeler, CATIA Magic:v2022xRefresh1 |
COMPLICATION, DISPLAY, FEATURE, ISSUE, MODELLING, STYLE, TOOL, WARNING, WORKAROUND |
[FIXED in v2022Refresh1]: BUG: MagicDraw/Cameo: 19SP3/v2022xGolden: Activity Diagrams: Pin display mode 'Position of Labels' does not stick, label positions in Diagrams have sometimes moved after re-opening a project [and "FIX"] |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity, Pin, Activity Diagram, ObjectFlow |
SysML Activity Diagram |
MagicDraw, UML, MagicDraw UML, Unified Modeling Language, Systems Modeling Language, SysML, MD SysML, Cameo Systems Modeler, CATIA Magic, Mathematica, Webel:MathematicaSysML, CATIA Magic:v2022xGolden |
ASSERTION, DISPLAY, FEATURE, SETTINGS, TIP, TOOL |
Webel: SysML: MagicDraw/Cameo: Strongly recommend that you set the Perspective to 'Full Featured' and 'Expert' at the very beginning at the start of every new project |
SysML-1.6, SysML-1.7, SysMLv2 |
|
|
Cameo Systems Modeler, MagicDraw UML, MagicDraw SysML |
EXPLANATION, MODELLING, TIP |
On the Webel Best Practice modelling tips for SysML (and UML). If you want to model the Webel way, use them, if you don't, ignore them. They are ONLY offered as options and graphical modelling paradigms and idioms for you to consider. |
SysML-1.6, SysML-1.7, UML-2.5.1 |
|
|
Systems Modeling Language, SysML, MBSE, Model-Based Systems Engineering, Webel Best Practice |
EXPLANATION, MODELLING, TIP |
Webel: On going beyond SysML (and UML) with additional modelling practices, policies, and additional semantics |
SysML-1.6, SysML-1.7, UML-2.5.1 |
custom Stereotype, Stereotype, Profile |
|
SysML, Systems Modeling Language, UML, Unified Modeling Language, modelling, semantics, Webel Best Practice |
CONVENTION, MODELLING, TIP |
Webel: SysML: TIP: CONVENTION (default policy suggestion): Use reverse time ordering for Dependency, reserve Usage, PackageImport, ElementImport for software dependencies |
SysML-1.6, SysML-1.7 |
Dependency, Dependency::client, Dependency::supplier |
|
Systems Modeling Language, SysML, MBSE, Model-Based Systems Engineering, Webel Best Practice |
MODELLING, TIP |
Dr Darren explains: Why I am not offering SysML diagrams on some of my LinkedIn TIP postings |
SysML-1.6, SysML-1.7, SysMLv2, UML-2.5.1 |
|
|
Model-Based Systems Engineering, SysML, UML, MagicDraw, MagicDraw SysML, Systems Modeling Language, MBSE, education, LinkedIn |
CAVEAT, ISSUE, LIMITATION, TOOL |
Mathematica: Wolfram Player Pro 13.1: NotebookDelete[] does not work |
|
|
|
Wolfram, Mathematica, Wolfram Player Pro |
MODELLING, STYLE, TIP |
MagicDraw/Cameo: UML/SysML: TIP: Activity Diagrams: Learn how to use the Refactor > Extract feature to divide-and-conquer and identify cleaner flow and logic. Get control of those crossed wires! |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity Diagram, Activity, Pin, Port |
SysML Activity Diagram, SysML Internal Block Diagram |
MagicDraw, Cameo Systems Modeler, UML, SysML, MagicDraw SysML, CATIA Magic, Systems Modeling Language, Unified Modeling Language |
MODELLING, STYLE, TIP |
Webel: MagicDraw/Cameo: UML/SysML: TIP: Activity Diagrams, StateMachine Diagrams, and port-based IBDs: Keep it loose initially with oblique (no break) paths, then square it up with rectangular paths at the very end |
SysML-1.6, SysML-1.7, UML-2.5.1 |
StateMachine Diagram, Activity Diagram, Activity, StateMachine, Pin, Port |
SysML Activity Diagram, SysML Internal Block Diagram |
MagicDraw, Cameo Systems Modeler, UML, SysML, MagicDraw SysML, CATIA Magic, Systems Modeling Language, Unified Modeling Language, Webel Best Practice |
CAPABILITY, FEATURE, TIP, TOOL |
Mathematica: v13.1: There is an undocumented command MessagesNotebook[] |
|
|
|
Wolfram Language, Mathematica, coding, Mathematica::MessagesNotebook |
COMPLICATION, DISPLAY, GOTCHA, ISSUE, TIP, TOOL |
Mathematica: GOTCHA: Print[] from Manipulate always goes to the Messages console notebook |
|
|
|
Wolfram Language, Mathematica, Mathematica::Print, Mathematica::Manipulate |
TIP, TOOL |
Mathematica: 'Through' is your more functional friend. |
|
|
|
Wolfram Language, Mathematica, coding, functional, functional programming, Mathematica::Through, Don't Repeat Yourself, DRY |
MODELLING, TIP, TOOL |
UML/SysML: TIP: Using Cameo Simulation Toolkit will strengthen your use of Activity Diagrams even when they are "just" analysis diagrams |
SysML-1.6, SysML-1.7, UML-2.5.1 |
Activity Diagram, StateMachine Diagram, Activity, StateMachine, Behavior |
SysML Activity Diagram, SysML State Machine Diagram |
MagicDraw SysML, SysML, UML, Model-Based Systems Engineering, Magic Model Analyst [Cameo Simulation Toolkit], Systems Modeling Language, Cameo Systems Modeler, Unified Modeling Language |
DISPLAY, LIMITATION, MODELLING, PROPOSAL, TOOL, WISHLIST |
Webel: WISHLIST: MagicDraw/Cameo: UML/SysML: Ability to freeze the Feature lines shown on symbols under Edit Compartments so that the diagram does not "break" when new Features are added elsewhere (reduce graphical coupling) |
|
Feature, Operation, attribute, Property, compartment, attributes compartment |
value property, block property |
UML, Unified Modeling Language, SysML, MD SysML, Systems Modeling Language, MagicDraw, MagicDraw UML, MagicDraw SysML, CATIA Magic, graphical coupling, Model-Based Systems Engineering, model-based development, graphical engineering |
|
Mathematica: TIP: Use And@@ to test whether all elements of a List are True |
|
|
|
Wolfram Language, Wolfram, Mathematica::And, Mathematica::Apply, logic, logic::and, Mathematica::List, Mathematica::AllTrue |
TIP |
THE BIG TIP: You brain has many facets: code + graphical engineering is greater than either alone |
|
|
|
Mathematica, Systems Modeling Language, MagicDraw, CATIA Magic, Cameo Systems Modeler, Magic Model Analyst, Model-Based Systems Engineering, model-based development, SysML |
ANTI-PATTERN, TIP |
TIP: Mathematica: Use of For is often a hint that Map, Table, Scan, or something else more functional could be used. But don't stress over it! |
|
|
|
Wolfram, Wolfram Language, Mathematica, Mathematica::For, Mathematica::Map, Mathematica::Table, functional, functional programming, Wolfram Workbench, Eclipse IDE |
COMPLICATION, DISPLAY, FEATURE, GOTCHA, ISSUE, MODELLING, WARNING, WORKAROUND |
MagicDraw SysML: [v2022xGolden,v2022xRefresh1]: ISSUE: Automatic assignment of the Type of the 'result' of a ReadStructuralFeatureAction not working with drag & drop. |
|
CallBehaviorAction, OutputPin, Pin, ReadStructuralFeatureAction, Action |
|
MagicDraw SysML, Systems Modeling Language, CATIA Magic:v2022xGolden, CATIA Magic:v2022xRefresh1 |
ISSUE, MODELLING, TIP, TOOL, WARNING, WORKAROUND |
The integration between Wolfram Workbench and Mathematica is partly gammy (as of latest versions 2022-08-23) |
|
|
|
Mathematica, Mathematica:notebook, Wolfram, Wolfram Language |
CAPABILITY, FEATURE, MODELLING, STYLE, TIP, TOOL |
Mathematica: TIP: Wolfram Notebooks are the best testing environment I've ever used! |
|
|
|
Mathematica, Mathematica:notebook, Wolfram, Wolfram Language |
ISSUE |
Mathematica: ISSUE with all Entity operations on MMAv13.0.0.0 vs macOS Monterey 12.3 or 12.4 ["solved" by upgrade to MMA 13.1.0.0] |
|
|
|
Mathematica, Wolfram, macOS, Mac, macOS Monterey |
GOTCHA, ISSUE, TIP, TOOL |
MagicDraw/Cameo: 2022xGolden: TIP/GOTCHA: Mac: HOWTO Load the available plugins in the Resource/Plugin Manager |
SysML-1.6, SysML-1.7, UML-2.5.1 |
|
|
MagicDraw UML, MagicDraw SysML, CATIA Magic, CATIA Magic:v2022xGolden |
ISSUE, LIMITATION, WARNING |
CoolProp: Mathematica: Mac: HOWTO get CoolProp for Mathematica running on Apple M1 Max and Mathematica13 |
|
|
|
CoolProp, Darwin, Mathematica, Wolfram, Mac, M1 Max, M1 Silicon, CMake, C++, dylib |
CAPABILITY, GOTCHA, LIMITATION, TIP, TOOL |
Mac: Compressor: HOWTO render H.264 and H.265 at higher than 50Mbps |
|
|
|
Mac:Compressor, Mac, video, H.264 H.265, HEVC, bps, bitrate, Final Cut Pro, FCP, 4K |
CAPABILITY, FEATURE, TIP, TOOL |
SysMLv1.x: MagicDraw/Cameo: Contextual relationships feature (links) |
|
|
contextual relationship, Allocate, Satisfy, Refine, Trace, Verify |
Systems Modeling Language, Cameo Systems Modeler, MagicDraw SysML, MD SysML, Magic, CATIA Magic:v2021xR1, CATIA Magic, CATIA Magic:v2021x |
MODELLING, NAMING, TIP |
Webel: SysMLv1.x: TIP: The name and documentation of a ValueType can indicate and specify more than just the unit and quantity kind. Example: A ClockFrequency may document how the frequency is measured. Example: WeightOnEarth. |
|
|
ValueType, QuantityKind |
Webel Best Practice |
CONVENTION, PATTERN, POLICY, TIP |
Mathematica: TIP: Protecting against computations breaking verbosely because of Null, None, Undefined. And about using Undefined as a return policy. |
|
|
|
Wolfram, Wolfram Language, Mathematica, Mathematica::Null, Mathematica::None, Mathematica::Undefined |
CONVENTION, NAMING, PATTERN, STYLE, TIP |
Webel: Mathematica: TIP: Maintain a Package library of Quantity variables for frequently used units using a naming convention unit$[unitSymbol] and unit[DescriptiveName] or unit[Acronym] |
|
|
|
Wolfram, Mathematica, SI unit, quantity, units, Webel Best Practice, Mathematica::Quantity |
ISSUE, LIMITATION |
Mathematica: Use of UnitConvert (or even just multiplication or division by a unit Quantity) MASSIVELY slows the calculations down! |
|
|
|
Wolfram, Mathematica, Mathematica:Compile, compilation, performance, SI unit, quantity, units |
ISSUE, LIMITATION |
Mathematica: Compile won't work with a Quantity with units |
|
|
|
Wolfram, Mathematica, Mathematica:Compile, compilation, performance, quantity, SI unit, units |
CAVEAT, GOTCHA, ISSUE, LIMITATION, WARNING |
CoolProp: HOWTO reproduce a pressure vs specific enthalpy chart in Mathematica. Example: R32 refrigerant. |
|
|
|
CoolProp, equation-of-state, EoS, thermodynamics, chemistry, chemical properties, enthalpy, specific enthalpy, Wolfram, Mathematica, R32, refrigerant |
CAVEAT, GOTCHA, ISSUE, LIMITATION, WARNING |
CoolProp: LIMITATION: DOES NOT accept specific enthalpy 'H' and vapor quality 'Q' as input pairs |
|
|
|
CoolProp, equation-of-state, EoS, thermodynamics, chemistry, chemical properties, enthalpy, specific enthalpy |
TIP |
Fun fact: The normal boiling point of water isn't exactly 100 °C (at least not since 2019 when the definition of the Kelvin scale was changed to use the Boltzmann constant and decoupled from the triple point of water) |
|
|
|
thermodynamics, temperature, celsius, kelvin, Kelvins, water, boiling point, Boltzmann constant |
TIP |
Mathematica: TIP: The ThermodynamicData function of Mathematica uses NIST's RefProp under the hood. |
|
|
|
Wolfram, Mathematica, thermodynamics, HVAC&R, RefProp |
ISSUE, LIMITATION |
Mathematica: CoolProp wrapper binaries don't seem to be maintained past CoolProp 5.1.1 (and the PhaseSI and 2-args Props1SI functions do not work) |
|
|
|
Mathematica, Wolfram |
ANTI-PATTERN, GOTCHA, ISSUE, LIMITATION, WARNING |
Mathematica: MTools: Argument pattern matching does not respect inheritance (undermines design-by-contract and heaps of Design Patterns) |
|
|
|
Wolfram, Mathematica, Mathematica:MTools, inheritance, object-oriented |
PATTERN, TIP, TOOL |
Webel + Mathematica + MTools + SysML |
SysML-1.6, SysML-1.7 |
|
|
Wolfram, Mathematica, Mathematica:MTools, Wolfram Language, Systems Modeling Language, MD SysML, CATIA Magic:v2021xR1, MagicDraw SysML, MagicDraw, Cameo Systems Modeler, Webel:MathematicaSysML |