Main Content

Tank in an isothermal liquid system

**Library:**Simscape / Fluids / Isothermal Liquid / Tanks & Accumulators

The Tank (IL) block models a container with up to six input ports,
**A** through **F**, within an isothermal liquid
system. The tank outputs fluid volume at port **V** and fluid level at
port **L** as physical signals. The block models the hydrostatic
pressure difference between the liquid surface and the inlet height level. The tank can
be pressurized to a constant, user-specified value or to atmospheric pressure.

The volume of fluid in the tank is determined from the total mass flow into the tank:

$$V=\frac{M}{\rho},$$

where:

*M*is the total mass in the tank supplied by all ports.*ρ*is the fluid density.

Due to the constant pressure in the tank, the liquid volume inside the tank changes based on mass flow rate. Note that the converse is true for pipes, where pressure is a function of fixed fluid volumes.

If the tank fluid volume exceeds the specified capacity of the tank, you can
choose to be notified. Set the **Liquid volume above max capacity**
parameter to `Warning`

if you would like to receive a
warning when this occurs during simulation. Set the parameter to
`Error`

if you would like the simulation to stop when
this occurs.

If **Tank volume parameterization** is set to
`Constant cross-section area`

, the fluid level in the
tank is determined from the fluid volume *V*, due to the constant
cross-sectional area of the tank. Otherwise, the fluid level can be specified as
tabulated data in the `Tabulated data - volume vs. level`

option.

When the level in the tank falls below the inlet height, the assumption that fluid entirely fills the volume of the connecting blocks may not be valid. Connections to a Pipe (IL) block, which is based on this assumption, may in this case return unphysical results. If you expect to model tank fluid levels below tank inlet height(s), connect the Tank (IL) block to your system with a Partially Filled Pipe (IL) block instead.

Like the **Liquid volume above max capacity** parameter, you can
be notified if the tank fluid level falls below the height of the inlet port(s)
during your simulation by changing the **Liquid level below inlet
height** parameter setting.

If you have more than one port enabled, the equations below apply to each port. The mass flow rate at the inlet port is:

$${\dot{m}}_{port}={A}_{port}\frac{\sqrt{2\rho}}{\sqrt{\xi}}\frac{\Delta {p}_{port}}{{\left[\Delta {p}_{port}{}^{2}+\Delta {p}_{port,crit}^{2}\right]}^{1/4}},$$

where:

*A*_{port}is the**Inlet cross-sectional area**.*ρ*is the fluid density.*ζ*is the**Inlet pressure loss coefficient**.

The inlet pressure difference due to inlet losses is:

$$\Delta {p}_{port}={p}_{port}-(P+\Delta {p}_{elev,port}),$$

where:

*p*_{port}is the pressure at the inlet port.*P*is the**Tank pressurization**if the**Pressurization specification**parameter is set to`Specified pressure`

. Otherwise,*P*is the atmospheric pressure.*Δp*_{elev,port}is the hydrostatic pressure difference at the specified port**Inlet height**: $$\Delta {p}_{elev,port}=\rho gL$$, where*L*is either the difference in height between the fluid level and the inlet height or zero, whichever is larger.

The critical pressure difference,
*Δp*_{crit}, is the pressure differential
associated with the *critical Reynolds number*,
*Re*_{crit}, which is the point of
transition between laminar and turbulent flow in the fluid:

$$\Delta {p}_{crit}=\frac{\pi \rho P{R}_{loss}}{8{A}_{port}}{\left(\nu {\mathrm{Re}}_{crit}\right)}^{2},$$

where *ν* is the fluid kinematic
viscosity.

Use the **Variables** tab to set the priority
and initial target values for the block variables prior to simulation.
For more information, see Set Priority and Initial Target for Block Variables.

Gas-Charged Accumulator (IL) | Partially Filled Pipe (IL) | Partially Filled Vertical Pipe LP | Spring-Loaded Accumulator (IL) | Tank (TL)