The Fluid.Dissipation library provides convective heat transfer and pressure loss (HTPL) correlations for a broad range of energy devices to build up thermohydraulic energy systems.
This section introduces an implementation method for the
integration of the provided HTPL functions by Fluid.Dissipation
into own application models. Additionally you can find ready-to-use
application models integrated into Modelica.Fluid as
thermohydraulic framework (see package
Fittings).
In the following the implementation method is described in 5 steps
for a straight pipe as example. Generally the implementation method
can be used for all HTPL correlations throughout the library in the
same manner.
All thermohydraulic systems using pressure loss calculations can be modelled for an incompressible case , where the pressure loss (DP) is calculated in dependence of a known mass flow rate (m_flow)
DP = f(m_flow,...)
or a compressible case , where the mass flow rate (M_FLOW) is calculated in dependence of a known pressure loss (dp)
M_FLOW = f(dp,...).
In both cases one target variable (DP for the compressible or M_FLOW for the incompressible case) is calculated as a function of the corresponding input variable (m_flow or dp respectively). Both functions for these cases can be found in the library for the pressure loss device of interest enlarged with a corresponding underscore describing its intended use (functionname_MFLOW for compressible or functionname_DP for incompressible calculation).
To create a simplified thermohydraulic model, the pressure loss (dp) and the mass flow rate (M_FLOW) have to be defined as unknown variables and only a functional correlation between them is still missing. Here the implementation for the compressible case of a flow model will be explained as example.
model straightPipe //compressible case M_FLOW = f(dp) Modelica.SIunits.Pressure dp "Input pressure loss"; Modelica.SIunits.MassFlowRate M_FLOW "Output mass flow rate"; end straightPipe equation end straightPipe
The HTPL correlations are modelled with functions for several devices. The pressure loss of a straight pipe to be modelled can be found by browsing through the Fluid.Dissipation library and looking up the function of interest, here:
Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_MFLOW
This HTPL correlation for the compressible case of a straight pipe have to be dragged and dropped in the equation section of the equation layer of the model in Step 1.
model straightPipe //compressible case M_FLOW = f(dp) Modelica.SIunits.Pressure dp "Input pressure loss"; Modelica.SIunits.MassFlowRate M_FLOW "Output mass flow rate"; equation Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_MFLOW end straightPipe
The chosen function in Step 2 still needs its corresponding input values provided by records. These input records are split into one for input parameters (e.g., for geometry) and one for input variables (e.g., for fluid properties). The name of these input records are identical with the corresponding function but with the extension _IN_con for parameters and _IN_var for variables as input. These corresponding input record for the chosen function have to be dragged and dropped on the diagram layer of the model in Step 1.
Input parameter record: Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_IN_con IN_con Input variable record: Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_IN_var IN_var
Now the equation layer of the model in Step 1 should look similar to the following (without comments and annotation):
model straightPipe ... //records Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_IN_con IN_con; Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_IN_var IN_var; equation Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_MFLOW end straightPipe
Now the input record have to be assigned to the chosen function in the equation layer. The resulting function-record implementation for the compressible case looks like the following:
model straightPipe ... equation //compressible case M_FLOW = Fluid.Dissipation.PressureLoss.StraightPipe.dp_overall_MFLOW(IN_con,IN_var,dp); end straightPipe
Here the compressible case for the unknown mass flow rate (M_FLOW) is calculated by the known pressure difference (dp) out of the interfaces of the thermohydraulic framework and the input records (IN_con,IN_var) provide data like geometry and fluid properties for example.
In the last step the variables of the input records for the function have to be assigned. The assignment of the record variables can either be done directly in the record on the diagram layer or in the equation layer. The assignment of the input record in the equation layer results into the following model:
model straightPipe ... //compressible fluid flow //input record Fluid.Dissipation.Examples.Applications.PressureLoss.BaseClasses.StraightPipe.Overall.Pres sureLossInput_con IN_con( d_hyd=d_hyd, L=L, roughness=roughness, K=K); Fluid.Dissipation.Examples.Applications.PressureLoss.BaseClasses.StraightPipe.Overall.Pres sureLossInput_var IN_var( eta=eta, rho=rho); ... end straight Pipe;
If the implementation of a HTPL correlation is done in an existing application model, the unknown variables out of Step 1 (M_FLOW and dp for compressible or DP and m_flow for incompressible case) have to be adjusted to the model variables (typically the interface variables). The implementation of HTPL correlation into Modelica.Fluid can be found for flow models of several devices.