Webel's "super-relational" Note pages!

A Note is a short categorised statement, claim, policy, tip, or issue tracker Throughout this site, content is often related to supporting Notes, and each Note page links back to the content pages that reference it! The Note and Snippet concepts are very closely related and they support each other.
Look for "super-relational" Note page links at the bottom of most content pages!
Note kind Note Spec tag UML keywords SysML keywords Keywords
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