Engee documentation

Tank (IL)

A tank in an isothermal fluid network.

blockType: EngeeFluids.IsothermalLiquid.Volumes.Tank

Path in the library:

/Physical Modeling/Fluids/Isothermal Liquid/Tanks & Accumulators/Tank (IL)

Description

Block Tank (IL) simulates a container with six input ports, from A to F, in an isothermal fluid network. The unit outputs the values of the liquid volume in port V and the liquid level in port L as scalar signals. The block simulates the difference in hydrostatic pressure between the surface of the liquid and the height of the inlet port. The tank can be under a preset constant pressure, pressure set via an external user signal, or atmospheric pressure.

Liquid volume

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

where

  • — the total mass of liquid in the tank coming through all ports;

  • — the density of the liquid.

Due to the constant pressure in the tank, the volume of liquid inside the tank varies depending on the mass flow rate. Note that the opposite is true for pipes, where pressure is a function of a fixed volume of liquid.

It is possible to set a notification if the volume of liquid in the tank exceeds its capacity. Set for the parameter Liquid volume above max capacity the value is Warning' if you want to receive a warning when this happens during the simulation, or the value is `Error if you want the simulation to stop when this happens.

Liquid level

If for the parameter Tank volume parameterization If the value is set to Constant cross-section area', then the liquid level in the tank is determined by the volume of the liquid , which is due to the constant cross-sectional area of the tank opening. Otherwise, the liquid level can be set as tabular data in the `Tabulated data - volume vs. level option.

If the liquid level in the tank falls below the height of the tank entrance, then the assumption that the liquid completely fills the volume of the connected blocks may be incorrect. Connections to the block Pipe (IL) which are based on this assumption, in this case may give non-physical results.

If you plan to simulate the liquid levels in the tank below the height of the tank entrance, then connect the unit Tank (IL) to access the system using the block Partially Filled Pipe (IL).

As in the case of the parameter Liquid volume above max capacity you can be notified if the liquid level in the tank drops below the height of the inlet(s) during the simulation by setting the appropriate value for the parameter Liquid level below inlet height.

Mass consumption

If you have set the Number of inputs parameter to a number greater than 1, then the equations below apply to each port. Dynamic pressure for the input port equally

where

  • — density of the liquid;

  • — flow rate;

  • — the mass flow rate of the liquid flowing into the tank through the port.

Total pressure

where

  • — pressure in the tank:

    • if for the parameter Pressurization specification if the value is set to `Atmospheric pressure', then is equal to atmospheric pressure;

    • if for the parameter Pressurization specification if the value is set to `Constant specified pressure', then is equal to the parameter value Tank pressurization;

    • if for the parameter Pressurization specification the value of Variable pressure is set, then is equal to the input signal of the P port.

  • — hydrostatic pressure drop at the specified port Inlet height:

    ,

    where — either the height difference between the liquid level and the height of the tank entrance, or zero, whichever is greater.

Assumptions and limitations

If for the parameter Pressurization specification If the value is set to `Variable pressure', then the block assumes that the pressure change is slow, and there is no pressure derivative in the equations of conservation of mass and energy.

Ports

Conserving

# A — isothermal liquid port
isothermal liquid

Details

Entering the tank.

Program usage name

port_a

# B — isothermal liquid port
isothermal liquid

Details

Additional tank inlet.

Dependencies

To use this parameter, set parameter Number of inlets one of the values: 2, 3, 4, 5 or 6.

Program usage name

port_b

# C — isothermal liquid port
isothermal liquid

Details

Additional tank inlet.

Dependencies

To use this parameter, set parameter Number of inlets one of the values: 3, 4, 5 or 6.

Program usage name

port_c

# D — isothermal liquid port
isothermal liquid

Details

Additional tank inlet.

Dependencies

To use this parameter, set parameter Number of inlets one of the values: 4, 5 or 6.

Program usage name

port_d

# E — isothermal liquid port
isothermal liquid

Details

Additional tank inlet.

Dependencies

To use this parameter, set the parameters Number of inlets to 5 or 6.

Program usage name

port_e

# F — isothermal liquid port
isothermal liquid

Details

Additional tank inlet.

Dependencies

To use this parameter, set the parameters to Number of inlets value 6.

Program usage name

port_f

Output

# V — liquid volume
scalar

Details

The volume of liquid in a tank in m3, given as a scalar.

Data types

Float64.

Complex numbers support

No

# L — liquid level
scalar

Details

Liquid level in a tank in m, given as a scalar.

Data types

Float64.

Complex numbers support

No

Input

# P — tank pressure
scalar

Details

Tank pressure in Pa, given as a scalar.

Dependencies

To use this parameter, set the parameters to Variable pressure. Pressurization specification to Variable pressure.

Data types

Float64.

Complex numbers support

No

Parameters

Parameters

# Number of inlets — number of input ports
1 | 2 | 3 | 4 | 5 | 6

Details

The number of input ports. Setting this parameter to 2 or more opens additional input ports.

Values

1 | 2 | 3 | 4 | 5 | 6

Default value

1

Program usage name

port_count

Evaluatable

No

# Pressurization specification — tank pressure setting method
Atmospheric pressure | Constant specified pressure | Variable pressure

Details

Method of setting tank pressure.

To set a constant pressure other than atmospheric pressure, set this parameter to Constant specified pressure and specify the pressure value using the parameter Tank pressurization.

To specify a variable tank pressure, set this parameter to Variable pressure and supply the tank pressure value as a scalar to the P port.

Values

Atmospheric pressure | Constant specified pressure | Variable pressure

Default value

Atmospheric pressure

Program usage name

pressure_type

Evaluatable

No

# Tank pressurization — user-defined tank pressure
Pa | GPa | MPa | atm | bar | kPa | ksi | psi | uPa | kbar

Details

User-definable tank pressure.

Dependencies

To use this parameter, set the parameter Pressurization specification to Specified pressure.

Units

Pa | GPa | MPa | atm | bar | kPa | ksi | psi | uPa | kbar

Default value

0.101325 MPa

Program usage name

p_specified

Evaluatable

Yes

# Tank volume parameterization — tank area characteristics
Constant cross-section area | Tabulated data - volume vs. level

Details

Specifies the characteristics of the tank area.

This parameters is used to determine the liquid level in the tank. If you want to model a tank with a variable cross-sectional area over the height of the tank, you can provide data for tank volume as a function of liquid level using the Tabulated data - volume vs. level option.

Values

Constant cross-section area | Tabulated data - volume vs. level

Default value

Constant cross-section area

Program usage name

volume_parameterization

Evaluatable

No

# Tank cross-sectional area — tank cross-sectional area
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

The cross-sectional area of the tank in the horizontal plane.

Dependencies

To use this parameter, set the parameters Tank volume parameterization to Constant cross-section area.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

1.0 m^2

Program usage name

tank_cross_section_area

Evaluatable

Yes

# Liquid level vector — vector of liquid level values in the tank
m | cm | ft | in | km | mi | mm | um | yd

Details

Vector of liquid level values in the tank for the tabular parameterization of the variable tank area. The values in this vector correspond to the values in the parameters Liquid volume vector. The elements must be positive and listed in ascending order. The first element must be equal to 0.

Dependencies

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

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

[0.0, 3.0, 5.0] m

Program usage name

level_vector

Evaluatable

Yes

# Liquid volume vector — vector of liquid volume values in the tank
l | gal | igal | m^3 | cm^3 | ft^3 | in^3 | km^3 | mi^3 | mm^3 | um^3 | yd^3 | N*m/Pa | N*m/bar | lbf*ft/psi | ft*lbf/psi

Details

Vector of tank liquid volume values for the tabular parameterization of the tank area variable. The values in this vector correspond to the values in the parameters Liquid level vector. The elements must be positive and listed in ascending order. The first element must be equal to 0.

Dependencies

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

Units

l | gal | igal | m^3 | cm^3 | ft^3 | in^3 | km^3 | mi^3 | mm^3 | um^3 | yd^3 | N*m/Pa | N*m/bar | lbf*ft/psi | ft*lbf/psi

Default value

[0.0, 4.0, 6.0] m^3

Program usage name

V_liquid_vector

Evaluatable

Yes

# Inlet height — tank inlet height
m | cm | ft | in | km | mi | mm | um | yd

Details

The height of the tanker inlet. The value must be greater than or equal to 0.

Dependencies

To use this parameter, set the parameter Number of inlets to 1.

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

0.1 m

Program usage name

port_a_height

Evaluatable

Yes

# Inlet cross-sectional area — cross-sectional area of the tank inlet
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

The cross-sectional area of the tank inlet port. This value must be greater than 0.

Dependencies

To use this parameter, set the parameter Number of inlets to 1.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

0.01 m^2

Program usage name

port_a_area

Evaluatable

Yes

# Height vector for inlets A and B — vector of height of ports A and B
m | cm | ft | in | km | mi | mm | um | yd

Details

Vector of port heights for enabled input ports A and B. The parameters Height vector for inlets A and B is a vector of values corresponding to the height of each input port starting from port A. Each element of this vector must be greater than or equal to 0.

Dependencies

To use this parameter, set the parameter Number of inlets to one of the values: 2.

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

[0.1, 0.1] m

Program usage name

ports_ab_height_vector

Evaluatable

Yes

# Cross-sectional area vector for inlets A and B — vector of cross-sectional areas of input ports A and B
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

Vector of cross-sectional areas of tank inlets for enabled inlet ports A and B. The parameters Cross-sectional area vector for inlets A and B is a vector of values corresponding to the cross-sectional area of each inlet port, starting from port A. Each element of this vector must be greater than 0.

Dependencies

To use this parameter, set the parameter Number of inlets to one of the values: 2.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

[0.01, 0.01] m^2

Program usage name

ports_ab_area_vector

Evaluatable

Yes

# Height vector for inlets A, B, and C — vector of height of ports A, B and C
m | cm | ft | in | km | mi | mm | um | yd

Details

Vector of port heights for enabled input ports A, B and C. The parameters Height vector for inlets A, B, and C is a vector of values corresponding to the height of each input port, starting with port A. Each element of this vector must be greater than or equal to 0.

Dependencies

To use this parameter, set the parameter Number of inlets to one of the values: 3.

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

[0.1, 0.1, 0.1] m

Program usage name

ports_abc_height_vector

Evaluatable

Yes

# Cross-sectional area vector for inlets A, B, and C — vector of cross-sectional areas of input ports A, B and C
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

Vector of cross-sectional areas of tank inlets for enabled inlet ports A, B and C. The parameters Cross-sectional area vector for inlets A, B, and C is a vector of values corresponding to the cross-sectional area of each inlet port, starting from port A. Each element of this vector must be greater than 0.

Dependencies

To use this parameter, set the parameter Number of inlets to one of the values: 3.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

[0.01, 0.01, 0.01] m^2

Program usage name

ports_abc_area_vector

Evaluatable

Yes

# Height vector for inlets A, B, C and D — vector of height of ports A, B, C and D
m | cm | ft | in | km | mi | mm | um | yd

Details

Vector of port heights for enabled input ports A, B, C and D. The parameters Height vector for inlets A, B, C and D is a vector of values corresponding to the height of each input port, starting with port A. Each element of this vector must be greater than or equal to 0.

Dependencies

To use this parameter, set the parameter Number of inlets to one of the values: 4.

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

[0.1, 0.1, 0.1, 0.1] m

Program usage name

ports_abcd_height_vector

Evaluatable

Yes

# Cross-sectional area vector for inlets A, B, C and D — vector of cross-sectional areas of the input ports A, B, C and D
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

Vector of cross-sectional areas of tank inlets for included inlet ports A, B, C and D. The parameters Cross-sectional area vector for inlets A, B, C and D is a vector of values corresponding to the cross-sectional area of each inlet port, starting from port A. Each element of this vector must be greater than 0.

Dependencies

To use this parameter, set the parameter Number of inlets to one of the values: 4.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

[0.01, 0.01, 0.01, 0.01] m^2

Program usage name

ports_abcd_area_vector

Evaluatable

Yes

# Height vector for inlets A, B, C, D and E — vector of height of ports A, B, C, D and E
m | cm | ft | in | km | mi | mm | um | yd

Details

Vector of port heights for enabled input ports A, B, C, D and E. The parameters Height vector for inlets A, B, C, D and E is a vector of values corresponding to the height of each input port, starting with port A. Each element of this vector must be greater than or equal to 0.

Dependencies

To use this parameter, set the Number of inlets parameter to 5.

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

[0.1, 0.1, 0.1, 0.1, 0.1] m

Program usage name

ports_abcde_height_vector

Evaluatable

Yes

# Cross-sectional area vector for inlets A, B, C, D and E — vector of cross-sectional areas of input ports A, B, C, D and E
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

Vector of cross-sectional areas of tank inlets for included inlet ports A, B, C, D and E. The parameters Cross-sectional area vector for inlets A, B, C, D and E is a vector of values corresponding to the cross-sectional area of each inlet port, starting from port A. Each element of this vector must be greater than 0.

Dependencies

To use this parameter, set the parameter Number of inlets to 5.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

[0.01, 0.01, 0.01, 0.01, 0.01] m^2

Program usage name

ports_abcde_area_vector

Evaluatable

Yes

# Height vector for inlets A, B, C, D, E and F — vector of height of ports A, B, C, D, E and F
m | cm | ft | in | km | mi | mm | um | yd

Details

A vector of port heights for enabled input ports A, B, C, D, E and F. The parameters Height vector for inlets A, B, C, D, E and F is a vector of values corresponding to the height of each input port, starting with port A. Each element of this vector must be greater than or equal to 0.

Dependencies

To use this parameter, set the Number of inlets parameter to 6.

Units

m | cm | ft | in | km | mi | mm | um | yd

Default value

[0.1, 0.1, 0.1, 0.1, 0.1, 0.1] m

Program usage name

ports_abcdef_height_vector

Evaluatable

Yes

# Cross-sectional area vector for inlets A, B, C, D, E and F — vector of cross-sectional areas of input ports A, B, C, D, E and F
m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Details

Vector of cross-sectional areas of tank inlets for included inlet ports A, B, C, D, E and F. The parameters Cross-sectional area vector for inlets A, B, C, D, E and F is a vector of values corresponding to the cross-sectional area of each inlet port, starting with port A. Each element of this vector must be greater than 0.

Dependencies

To use this parameter, set the parameter Number of inlets to 6.

Units

m^2 | cm^2 | ft^2 | in^2 | km^2 | mi^2 | mm^2 | um^2 | yd^2

Default value

[0.01, 0.01, 0.01, 0.01, 0.01, 0.01] m^2

Program usage name

ports_abcdef_area_vector

Evaluatable

Yes

# Liquid level below inlet height — notification of low liquid level in the tank
None | Error

Details

Whether to receive a notification if the liquid level in the tanker drops below the port inlet height during the simulation. Set this parameters to Warning if you want to receive a warning when this happens during simulation. Set Error if you want the simulation to stop when this happens.

Values

None | Error

Default value

Error

Program usage name

low_level_assert_action

Evaluatable

No

# Liquid volume above max capacity — notification of excess tank volume
None | Error

Details

Whether to be notified if the volume of liquid in the tank exceeds the maximum tank capacity during the simulation. Set this parameters to Warning if you want to receive a warning when this happens during simulation. Set Error if you want the simulation to stop when this happens.

Values

None | Error

Default value

None

Program usage name

capacity_assert_action

Evaluatable

No

# Maximum tank capacity — tank filling limit
l | gal | igal | m^3 | cm^3 | ft^3 | in^3 | km^3 | mi^3 | mm^3 | um^3 | yd^3 | N*m/Pa | N*m/bar | lbf*ft/psi | ft*lbf/psi

Details

Tank filling limit.

Dependencies

To use this parameter, set the parameter Liquid volume above max capacity to Warning or Error.

Units

l | gal | igal | m^3 | cm^3 | ft^3 | in^3 | km^3 | mi^3 | mm^3 | um^3 | yd^3 | N*m/Pa | N*m/bar | lbf*ft/psi | ft*lbf/psi

Default value

10.0 m^3

Program usage name

V_capacity

Evaluatable

Yes

# Gravitational acceleration — free-fall acceleration
gee | m/s^2 | cm/s^2 | ft/s^2 | in/s^2 | km/s^2 | mi/s^2 | mm/s^2

Details

Free-fall acceleration.

Units

gee | m/s^2 | cm/s^2 | ft/s^2 | in/s^2 | km/s^2 | mi/s^2 | mm/s^2

Default value

9.81 m/s^2

Program usage name

g

Evaluatable

Yes