Modeling and Simulating Fluid Networks
You can use Simscape™ Fluids™ blocks to build models that represent fluid systems. The Simscape Fluids component libraries represent elements such as pumps, valves, heat exchangers, or pipes in several physical modeling domains.
Like in other Simscape models, a series of connected fluid blocks create a network. Simscape Fluid blocks model one-dimensional flow and fluid flows in both directions along the network connection lines. Many Simscape Fluids blocks support reversed flows, which you can specify by using negative variables, such as negative mass flow rate.
Each Simscape Fluid domain has Across and Through variables. Through variables are conserved through a block while the net value of an Across variables can change across a block.
|Fluid Domain||Across Variable||Through Variable|
|Isothermal liquid||Absolute pressure||Mass flow rate|
|Thermal liquid||Absolute pressure and temperature||Mass flow rate and energy flow rate|
|Two-phase fluid||Absolute pressure and specific internal energy||Mass flow rate and energy flow rate|
|Gas||Absolute pressure and temperature||Mass flow rate and energy flow rate|
|Moist Air||Absolute pressure, temperature, specific humidity (water vapor mass fraction), and trace gas mass fraction||Mixture mass flow rate, mixture energy flow rate, water vapor mass flow rate, and trace gas mass flow rate|
|Hydraulic (isothermal)||Gauge pressure||Volumetric flow rate|
You can ground a fluid network by including at least one block that models fluid volume. Blocks that model fluid volume have internal volumes, which means they have internally defined states. When you connect these blocks to a network, you can set the initial conditions of the model by specifying the block parameters for the component. The components use internal nodes, which represent the fluid states of their internal volumes, to calculate the mass, momentum, and energy balance over the block. You may observe different values if you choose to measure a variable at an internal node or at a port. For more information on grounding a network, see Networks and Network Connections.
For more information on block connections, ports, and variable types, see Basic Principles of Modeling Physical Networks.
ssc_new at the MATLAB® command line to open a Simscape model template with the recommended settings.
You can view the Simscape
Fluids block library by entering
SimscapeFluids_lib on the
MATLAB command line. Add blocks from the Simulink Library Browser or the Simscape Fluids
block library to construct your model. The signals between the blocks represent the physical
connections that exist between the components in a real system. Combine the model blocks
like you combine the elements in a physical system.
Before simulating the model, you must define the initial conditions. You can view the initial conditions in the Variable Viewer. Initial conditions for Simscape Fluids models are domain dependent:
In the isothermal liquid domain, provide the initial pressure.
In the thermal liquid domain, provide the initial pressure and temperature.
In the gas domain, provide the initial pressure, and either the density or temperature.
In the moist air domain, provide the initial pressure, temperature, humidity, and trace gas amount.
In the two-phase fluid domain, provide the initial pressure and either the vapor quality, temperature, enthalpy, or internal energy.
To learn more about initializing models and setting variable priorities, see Block-Level Variable Initialization.
If you use
ssc_new to create your model, the default
solver is set to
VariableStepAuto, which works for many models. The
automatic solver will typically use
daessc for Simscape Fluids models,
which is a recommended and robust solver. You may need to adjust the solver to balance an
accurate numerical solution and simulation time for your model. The variable-step solvers
ode15s are suitable for a range of
dynamics and less computationally expensive. To learn more about selecting and configuring
the right solver for your system, see Setting Up Solvers for Physical Models. For applications that require a fixed step solver,
such as generating code, use the
solvers. If you use a fixed step solver, consider also turning on a local solver by
selecting Use local solver in the Solver Configuration block. For more information about code generation, see
Parameterize the blocks in your model to change and control the block behavior. Choose parameter values based on information from data sheets or measurements, or adjust the parameters to match your results. You can parameterize blocks by using:
Analytical formulations — Blocks that use analytical expressions calculate the block characteristics from your specified parameters. For example, if you use a Fixed-Displacement Pump (IL) block and set Leakage and friction parameterization to
Analytical, the block calculates the leakage and friction from nominal values of shaft velocity, pressure gain, and friction torque.
Tabulated data — Blocks that use tabulated data use data defined across a range of values to define the block characteristics. The data tables may be 2-D or 3-D and are composed of independent vectors, such as from a test matrix. For example, if you use the Fixed-Displacement Pump (IL) block, and set Leakage and friction parameterization to
Tabulated data - volumetric and mechanical loss, the block populates the Volumetric loss table, q_loss(dp,w) parameter with the volumetric losses at each test point for pressure gain and shaft speed over the range of each parameter.
Input signals — Blocks that use input signals use input ports to define the block characteristics. For example, if you use the Fixed-Displacement Pump (IL) block, and set Leakage and friction parameterization to
Input signal - volumetric and mechanical loss, the block receives the leakage flow rate and friction through physical signal ports.
Block pre-parameterization — Blocks that include pre-paramerizations include predefined parameterizations that model specific manufacturer parts. To learn more, see List of Pre-Parameterized Components. For example, the Fixed-Displacement Pump (IL) block has pre-defined components available from several manufacturers.
You can modify parameter values during simulation if they are run-time configurable. To learn more about configurable parameters and settings, see About Simscape Run-Time Parameters.
Simulating and Verifying Your Model
When you are finished building and parametrizing your model, you can run the model. If the model returns any errors, see Troubleshooting Fluids Simulations for more information on addressing potential model errors. After simulating, you can verify your results to ensure that they are expected. There are multiple ways to simulate and analyze Simscape Fluids networks in the Simulink® environment:
To view and inspect your network variables at the start of the simulation, use the Variable Viewer.
Some blocks can display information on the block parametrization or attributes. For example, to visualize the compressor map for the Compressor (2P) and Compressor (G) blocks, right-click the block and select Fluids > Plot Compressor Map.
View the results of specific signals with a Scope block. Scope blocks plot Simulink signals. Convert a Simscape physical signal to a Simulink signal by using the PS-Simulink Converter block. You can also use a Probe block to select variables from blocks in the model and output them as Simulink signals. See Connecting Simscape Diagrams to Simulink Sources and Scopes for more information.
In the two-phase fluid domain, the P-H Diagram (2P) block plots a p-h diagram of the pressure with respect to the specific enthalpy and can replay the animation from the most recent simulation.
To turn on data logging for all blocks, from the Simulink Toolstrip, select Modeling > Model Settings > Model Settings. In the Configuration Parameters dialog box, select Simscape. In the right pane, under Data Logging, set Log simulation data to
Alland select Open viewer after simulation.
To turn on data logging for a specific block, click the block. In the Simscape Block tab, click Log Data and select Log Data, Log selected blocks only, and Open viewer after simulation.
Use the Simscape Results Explorer to view the results of signals after simulating the model and the Simulation Data Inspector to compare results between simulations.
Balancing Accuracy, Speed, and Efficiency in Your Model
To change the accuracy, speed, and efficiency of your simulation, you can adjust one or more of these parameters in the Solver pane of the Configuration Parameters dialog box:
If you are using a fixed step solver, consider selecting Use local solver and adjusting the solver settings in the Solver Configuration block. See the Solver Configuration block to learn more.
In most cases, the default tolerance and step size values produce a good balance between the accuracy and speed of your model. You can balance the speed and accuracy by adjusting the Relative tolerance and Absolute tolerance parameters in the Solver pane of the Configuration Parameters dialog box. If the solver is missing significant behavior, you can choose smaller values for the tolerance parameters, but this will increase simulation time.