Main Content

Tank (G-TL)

Pressurized tank with variable gas and thermal liquid volumes

  • Tank (G-TL) block

Libraries:
Simscape / Fluids / Fluid Network Interfaces / Tanks & Accumulators

Description

The Tank (G-TL) block models the accumulation of mass and energy in a chamber with separate gas and thermal liquid volumes. The total fluid volume is fixed, but the individual gas and thermal liquid volumes can vary. Two gas ports allow for gas flow and a variable number of thermal liquid ports, ranging from one to six, allow for thermal liquid flow. The thermal liquid ports can be at different elevations.

Diagram depicting tank with thermal liquid to height y and containing ports A2, B2, and C2. The top of the tank contains gas and ports A1 and B1.

The tank is pressurized, but the pressurization is not fixed. It changes during simulation with the pressure in the gas volume. The pressure rises when the pressure of the gas volume rises and falls when the pressure of the gas volume falls. The thermal liquid volume is assumed to be at equilibrium with the gas volume and its pressure is therefore the same as that of the gas.

The fluid volumes can exchange energy with other fluid components and with the environment but not with each other. The fluid volumes behave as if they were isolated from each other by an insulated membrane. Energy exchanges with other components occur through gas or thermal liquid ports, while exchanges with the environment occur, strictly in the form of heat, through thermal ports.

Use this block to model components such as drain tanks, in which water condensed from a compressed gas system is trapped at the bottom by gravity and expelled through a drain outlet. Note, however, that neither gas nor thermal liquid domains capture the effects of phase change—and therefore that this block cannot capture the effects of condensation.

Thermal Liquid Ports

You can specify the number of thermal liquid ports using the Number of inlets parameter:

Number of inletsExposed thermal liquid ports
1Port A2
2Ports A2 and B2
3Ports A2, B2, and C2
4Ports A2, B2, C2, and D2
5Ports A2, B2, C2, D2, and E2
6Ports A2, B2, C2, D2, E2, and F2

Fluid Volumes

The total volume of the tank is equal to the sum of the gas and thermal liquid volumes that it contains,

VT=VL+VG,

where V is the volume and T, L, and G stand for total, liquid, and gas. Because the total volume is fixed, the time rate of change of the gas volume must be the reverse of that measured for the thermal liquid volume,

V˙G=V˙L.

The time rate of change of the thermal liquid volume is calculated by differentiating the expression

ML=ρLVL,

where M is mass and ρ is density. The differentiation gives the mass flow rate into the thermal liquid volume,

M˙L=VLρ˙L+V˙LρL,

The time rate of change of the thermal liquid density is

ρ˙L=ρLβLp˙LαLρLT˙L,

where:

  • β is the thermal bulk modulus.

  • ɑ is the isobaric thermal expansion coefficient.

  • p is the fluid pressure.

  • T is the fluid temperature.

Rearranging terms gives the rate of change of the thermal liquid volume and, by extension, of the gas volume

V˙G=V˙LVL(p˙LβLαLT˙L)M˙LρL.

Mass Balance

The rate of mass accumulation in each fluid volume is equal to the net mass flow rate into that fluid volume. In the thermal liquid volume

M˙L=i=A2,B2,...F2m˙i,

ML is the rate of mass accumulation in the thermal liquid volume and m˙i are the individual mass flow rates into that volume through the thermal liquid ports A2, B2, C2, D2, E2, or F2. The rate of mass accumulation contains contributions from pressure, temperature, and volume change,

M˙L=VL(ρLβLp˙GαLρLT˙L)+V˙LρL,

where the pressure of the thermal liquid volume is by definition equal to the pressure of the gas volume and the equation is therefore written in terms of the gas pressure. In the gas volume

M˙G=i=A1, B1m˙i,

where MG is the rate of mass accumulation in the gas volume and m˙i are the individual mass flow rates into that volume through the gas ports A1 and B1. As with the thermal liquid volume, the rate of mass accumulation contains contributions from pressure, temperature, and volume change

M˙G=dMdp|Gp˙G+dMdT|GT˙G+V˙GρG,

where the pressure and temperature derivatives depend on the type of gas specified in the Gas Properties (G) block. The equations section of the Translational Mechanical Converter (G) page defines the derivatives. Replacing VG with the expression previously obtained for this variable and combining the two expressions for MG

dMdp|Gp˙G+dMdT|GT˙G+[VL(p˙GβLαLT˙L)M˙LρL]ρG=i=A1, B1m˙i.

Rearranging terms gives the final expression for the mass balance in the gas volume

p˙G(dMdp|G+ρGVLβL)+(T˙GdMdT|GT˙LρGVLαL)=i=A1, B1m˙i+ρGρLi=A2, B2,...F2m˙i,

where M˙L has been replaced with the summation of the mass flow rates into the thermal liquid volume.

Energy Balance

The rate of energy accumulation in each fluid volume is the sum of the energy flow rates through the fluid inlets, the heat flow rate through the corresponding thermal port, and the energy flow rate due to volume changes. For the gas volume

p˙G(dUdp|G+ρGhGVLβL)+(T˙GdUdT|GT˙LρGhGVLαL)=QH1+i=A1, B1ϕi+ρGρLhGi=A2, B2,...F2m˙i,

where:

  • U is the total energy of the fluid volume.

  • h is the fluid enthalpy.

  • Q is the heat flow rate through the thermal port.

  • ϕi are the energy flow rates through the fluid inlets.

As before, the pressure and temperature derivatives depend on the type of gas specified in the Gas Properties (G) block. See the equations section of the Translational Mechanical Converter (G) page for the definitions. For the thermal liquid volume

p˙LdUdp|L+T˙LdUdT|L=QH2+i=A2, B2,...F2ϕi+i=A2, B2,...F2m˙g(y(i)y)hLi=A2, B2,...F2m˙i,

where the pressure derivative is

dUdp|L=TLαLVL,

and the temperature derivative is

dUdT|L=cp,LρLVL,

where cp is the isobaric specific heat of the thermal liquid inside the tank.

Momentum Balance

Flow resistance due to friction or other causes is ignored in both fluid volumes. The block also ignores the effect of elevation on inlet pressure, but only on the gas side. The gas inlet pressures are therefore equal to each other and to the internal pressure of the gas volume

pA1=pB1=pG.

The thermal liquid inlet pressures are each a function of inlet depth. The internal pressure of the thermal liquid volume is equal to the gas volume, pL = pG. The block includes dynamic pressures, pi,dyn, at the inlets by using the equation

pi+pi,dyn=pG+ρL(yyi)g,

where y is the elevation of the thermal liquid surface, yi is the elevation of the thermal liquid inlet, and g is the gravitational constant. The term y - yi gives the depth of the thermal liquid inlet with respect to the gas-thermal liquid boundary. The dynamic pressure at each thermal liquid inlet depends on the direction of flow at that inlet

pi,dyn={12ρivi2,if m˙i<00,if m˙i0

where vi is the flow velocity.

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 and Initial Conditions for Blocks with Finite Gas Volume.

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.

Assumptions and Limitations

  • Fluid momentum is lost at the tank inlet due to the sudden expansion into the tank volume.

Ports

Output

expand all

Physical signal output port that reports the volume of thermal liquid in the tank, in m3.

Physical signal output port that reports the height of the thermal liquid volume relative to the bottom of the tank, in m.

Conserving

expand all

Gas conserving port associated with the opening through which gas flows into or out of the tank.

Gas conserving port associated with the opening through which gas flows into or out of the tank.

Thermal liquid conserving port associated with the opening through which thermal liquid flows into or out of the tank.

Thermal liquid conserving port associated with the opening through which thermal liquid flows into or out of the tank.

Dependencies

To enable this port, set Number of inlets to 2, 3, 4, 5, or 6.

Thermal liquid conserving port associated with the opening through which thermal liquid flows into or out of the tank.

Dependencies

To enable this port, set Number of inlets to 3, 4, 5, or 6.

Thermal liquid conserving port associated with the opening through which thermal liquid flows into or out of the tank.

Dependencies

To enable this port, set Number of inlets to 4, 5, or 6.

Thermal liquid conserving port associated with the opening through which thermal liquid flows into or out of the tank.

Dependencies

To enable this port, set Number of inlets to 5 or 6.

Thermal liquid conserving port associated with the opening through which thermal liquid flows into or out of the tank.

Dependencies

To enable this port, set Number of inlets to 6.

Thermal conserving port associated with heat transfer at the tank wall for the gas volume.

Thermal conserving port associated with heat transfer at the tank wall for the thermal liquid volume.

Parameters

expand all

Number of thermal liquid ports for the block.

Aggregate volume of the gas and thermal liquid portions of the tank.

Choice of parameterization for the thermal liquid volume. Select Constant cross-sectional area to specify a constant tank cross-sectional area. Select Tabulated data — volume vs. level to compute the thermal liquid volume by interpolation or extrapolation of tabulated data.

Area of the tank cross-section. The block assumes this value is constant over the allowed range of fluid levels. The block uses this parameter to compute the volume of thermal liquid inside the tank.

Dependencies

To enable this parameter, set Tank volume parameterization to Constant cross-sectional area.

Vector of thermal liquid levels at which to specify the thermal liquid volume in the tank. The block uses this vector to construct a one-way lookup table for the thermal liquid volume as a function of the thermal liquid level.

Dependencies

To enable this parameter, set Tank volume parameterization to Tabulated data - volume vs. level.

Vector of thermal liquid volumes that correspond to the elements of the Liquid level vector parameter. The block uses this vector to construct a one-way lookup table for the thermal liquid volume as a function of the thermal liquid level.

Dependencies

To enable this parameter, set Tank volume parameterization to Tabulated data - volume vs. level.

Two-element vector that specifies the flow areas of the gas inlets.

Height of the thermal liquid inlet.

Dependencies

To enable this parameter, set Number of inlets to 1.

Flow area of the thermal liquid inlet.

Dependencies

To enable this parameter, set Number of inlets to 1.

Vector of port heights for multiple enabled ports. The parameter name and vector length depend on the value of the Number of inlets parameter. Each element of the vector corresponds to an inlet port, starting with port A2. The default height for each inlet is .1 m. Each element of this vector must be greater than or equal to 0.

For example, if Number of inlets is 4, the name of this parameter is Height vector for inlets A2, B2, C2, and D2 and the default value is 0.1 * ones(1, 4) m.

Dependencies

To enable this parameter, set Number of inlets to 2, 3, 4, 5, or 6.

Vector of cross-sectional areas for multiple enabled ports. The parameter name and vector length depend on the value of the Number of inlets parameter. Each element of the vector corresponds to an inlet port, starting with port A2. The default height for each inlet is .01 m. Each element of this vector must be greater than 0.

For example, if Number of inlets is 4, the name of this parameter is Cross-sectional area vector for inlets A2, B2, C2, and D2 and the default value is 0.01 * ones(1, 4) m2.

Dependencies

To enable this parameter, set Number of inlets to 2, 3, 4, 5, or 6.

Whether to be notified if the tank fluid volume rises above the value of the Total tank volume parameter during simulation. Set this parameter to Warning to receive a warning when this occurs during simulation. Set the parameter to Error for the simulation to stop when this occurs.

Fill limit of the tank.

Dependencies

To enable this parameter, set Liquid volume above max capacity to either Warning or Error.

Value of the gravitational acceleration at the elevation of the tank. The block assumes this value is constant over the height of the tank.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017b

expand all

See Also

|