Basic composition rules
First of all we recommend to study the example models provided in
Examples.
For basic directional flows
The library is designed to avoid a favourable structure of the equation system so
that non-linear systems are confined to their components. In order to enable this
the modeller shall follow the following rules:
  - 
    Streams shall start at a source and end at a sink. Do not leave outlets unconnected.
    Volume elements may act as source and/or sink.
  
- 
    Compose your topology using splitters and junctions from package
    Topology. Splitting directly
    using the connector is only recommended for the use of sensors.
  
- 
    Break cyclic loops by using volume elements. Each cyclic flow must be broken by at
    least one volume element. Mere bypasses are not cyclic flows and do not need to be
    torn apart.
  
That's it. Simply memorize these simple rules and check the structure of your
equation system to be sure.
Noteworthy comments
  - 
    Some classes implement asserts. Most of them represent checks that when not
    fulfilled result in a non-physical, but well behaved (numerically stable)
    simulation (e.g. reversed flow conditions for directed components), and some result
    in stopping of the simulation (e.g. zero/negative mass in a volume). While
    asserts for the latter always are done with AssertionLevel.error, the assertion
    level for the former can be set in the
    DropOfCommons globally.
    So if the simulation stops because one of the former asserts is violated, insert
    a DropOfCommons model and set the assertionLevel to warning.
  
- 
    Many models rely on mass-flow normalization for zero or small mass-flow.
    The normalization-mass-flow used in the components is set globally in the
    DropOfCommons.
    Always make sure it is between one and two orders of magnitude smaller than the
    typical mass-flows of your system.
  
For undirected flows
There is a special sub-package
if the flow direction is unknown. Basically the rules
are the same but please be aware that without knowledge of the flow-direction, loops
are more likely to occur. Hence, only use these components when needed.
 (c) 2020-2021, DLR, Institute of System Dynamics and Control
(c) 2020-2021, DLR, Institute of System Dynamics and Control
Generated at 2025-10-30T19:21:05Z
 by OpenModelicaOpenModelica 1.25.5 using GenerateDoc.mos