# Controlled Mass Flow Rate Source (2P)

Generate time-varying mass flow rate

## Library

Two-Phase Fluid/Sources

## Description

The Controlled Mass Flow Rate Source (2P) block generates a variable
mass flow rate in a two-phase fluid network branch. The source has two inlets, labeled
**A** and **B**, with
independently specified cross-sectional areas. By default, the source does isentropic
work on the fluid, though the block provides the option to ignore this work.

The source is ideal. In other words, it maintains the specified flow rate regardless of the pressure differential produced between its ports. In addition, because the source is isentropic, there is no viscous friction between the ports and no heat exchange with the environment. Use this block to model an idealized pump or compressor or to set a boundary condition in a model.

Use physical signal port **M** to specify the desired
mass flow rate. Use positive values for flows directed from port **A** to port **B** and negative values for
flows directed from port **B** to port **A**.

### Mass Balance

The volume of fluid in the source is considered negligible and is ignored in a model. There is no fluid accumulation between the ports and the sum of all mass flow rates into the source must therefore equal zero:

$${\dot{m}}_{\text{A}}+\text{}{\dot{m}}_{\text{B}}=0,$$

where $$\dot{m}$$ denotes the mass flow rate into the source through a port. The block
accepts as input the mass flow rate at port **A**. The flow is
directed from port **A** to port **B** when the specified value is positive.

### Energy Balance

By default, the source maintains the specified flow rate by performing isentropic work on the incoming fluid, though the block provides the option to ignore this term. The rate at which the source does work, if considered in the model, must equal the sum of the energy flow rates through the ports:

$${\varphi}_{\text{A}}+\text{}{\varphi}_{\text{B}}+\text{}{\varphi}_{\text{Work}}=0,$$

where *ϕ* denotes the energy flow rate into the source
through a port or by means of work. The energy flow rate due to work is equal to the power
generated by the source. Its value is calculated from the specific total enthalpies at the ports:

$${\varphi}_{\text{Work}}={\dot{m}}_{\text{A}}\left({h}_{\text{A}}-{h}_{\text{B}}\right).$$

The specific total enthalpy *h* is defined as:

$${h}_{*}={u}_{*}+{p}_{*}{v}_{*}+\frac{1}{2}{\left(\frac{{\dot{m}}_{*}{v}_{*}}{S}\right)}^{2},$$

where the asterisk denotes a port (**A** or
**B**) and:

*u*is specific internal energy.*p*is pressure.*S*is flow area.

The specific internal energy in the equation is obtained from the tabulated
data of the Two-Phase Fluid Properties (2P)
block. Its value is uniquely determined from the constraint that the work done by the source
is isentropic. The specific entropy, a function of specific internal energy, must then have
the same value at ports **A** and **B**:

$${s}_{\text{A}}\left({p}_{\text{A}},{u}_{\text{A}}\right)={s}_{\text{B}}\left({p}_{\text{B}},{u}_{\text{B}}\right),$$

where *s* is specific entropy. If the **Power
added** parameter is set to `None`

, the specific total
enthalpies at the ports have the same value ($${h}_{\text{A}}={h}_{\text{B}}$$) and the work done by the source reduces to zero ($${\varphi}_{\text{Work}}=0$$).

### Variables

To set the priority and initial target values for the block variables prior to simulation, use
the **Initial Targets** section in the block dialog box or Property
Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model.
Using system scaling based on nominal values increases the simulation robustness. Nominal
values can come from different sources, one of which is the **Nominal
Values** section in the block dialog box or Property Inspector. For more
information, see Modify Nominal Values for a Block Variable.

## Ports

### Conserving

### Input

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2015b**