tab “Connections”

This tab is mandatory.

A connection is connecting two volumes between them. Its geometry and behaviour will define how the mass of air in those volumes will be exchanged between them.

Basically, a connection always connect two volumes (aka vol I and vol J) and is therefore located at an interface.

When defining a connection, take care to always set volume I ID to the lowest ID of both volumes.

Example: let say you have two volumes to connect, ID2 and ID7, Volume I will always be volume ID2 and Volume J will always be volume ID7.

See also

Tutorial #2 is dedicated to decompression features whereas Tutorial #3 is dedicated to doors

Parameters

Connections parameters
  description default units
id Connection ID mandatory no units
vol_i ID of volume I mandatory no units
vol_j ID of volume J mandatory no units
comments Free text   no units
door Door Frame Area 0 [m^2 | in^2]
opening_latency Feature opening latency time 0 [sec]
vent_area_i_to_j Decompression raw area 0 [m^2 | in^2]
opening_pressure_i_to_j Pressure Threshold 0 [bar | psi]
opening_time_i_to_j Feature Opening Time 0 [sec]
cp_i_to_j Discharge Coefficient 0 no units
vent_area_j_to_i Decompression raw area blank [m^2 | in^2]
opening_pressure_j_to_i Pressure Threshold blank [bar | psi]
opening_time_j_to_i Feature Opening Time blank [sec]
cp_j_to_i Discharge Coefficient blank no units
exvar Exploded Volume Area Reduction 0 no units
ovar Occupied Volume Area Reduction 0 no units
mdot Fixed mass flow rate 0 [kg/sec | lbs/sec]
fdl Partial Darcy friction factor fd * L 0 [m | in]
cddyn Dynamical CD (blank or -1 (default), 0 (never), 1(Jobson) -1 no units
slave_of Master connection ID -1 no units
slave_k1 theta_slave = k1 * theta_master + k2 1 no units
slave_k2 theta_slave = k1 * theta_master + k2 1 no units
slave_involved is slave connection involved in item’s opening 1 no units

Connections/id

Flags

Type: Int in range [1; +∞] | Default: None | Mandatory: True | Unique: True

Short description:

Connection ID [no units]

Connections/vol_i

Flags

Type: Int in range [0; +∞] | Default: None | Mandatory: True | Unique: False

Short description:

ID of volume I [no units]

Connections/vol_j

Flags

Type: Int in range [1; +∞] | Default: None | Mandatory: True | Unique: False

Short description:

ID of volume J [no units]

Connections/comments

Flags

Type: Str | Default: | Mandatory: False | Unique: False

Short description:

Free text [no units]

Connections/door

Flags

Type: Float in range [0; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Door Frame Area [m^2] or [in^2]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

Decompressing Doors are kind of special venting. Two cases exist: or the full door acts as decompression feature, or the door features an internal decompression panel.

In the first case, the door area (door column) needs to be equal to vent_area_*. This is very often the case of swivel doors. If the doors opens only in one direction, the relevant opening_pressure_* need to be set to an unreachable pressure value, such as it will never open.

In the latter case, the door area will be different from the vent_area_*, and necessarly greater.

Note

For all the cases, the door parameter only deals with opened-doors or closed-doors initial conditions. Only the `vent_area` parameters have a dynamical attribute.

Connections/opening_latency

Flags

Type: Float in range [-∞; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Feature opening latency time [sec]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

Connections/vent_area_i_to_j

Flags

Type: Float in range [0; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Decompression raw area [m^2] or [in^2]

Connections/opening_pressure_i_to_j

Flags

Type: Float in range [0; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Pressure Threshold [bar] or [psi]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

Connections/opening_time_i_to_j

Flags

Type: Float in range [0; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Feature Opening Time [sec]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

Connections/cp_i_to_j

Flags

Type: Float in range [0; 1] | Default: 0 | Mandatory: False | Unique: False

Short description:

Discharge Coefficient [no units]

Connections/vent_area_j_to_i

Flags

Type: Float in range [0; +∞] | Default: nan | Mandatory: False | Unique: False

Short description:

Decompression raw area [m^2] or [in^2]

Connections/opening_pressure_j_to_i

Flags

Type: Float in range [0; +∞] | Default: nan | Mandatory: False | Unique: False

Short description:

Pressure Threshold [bar] or [psi]

Connections/opening_time_j_to_i

Flags

Type: Float in range [0; +∞] | Default: nan | Mandatory: False | Unique: False

Short description:

Feature Opening Time [sec]

Connections/cp_j_to_i

Flags

Type: Float in range [0; 1] | Default: nan | Mandatory: False | Unique: False

Short description:

Discharge Coefficient [no units]

Connections/exvar

Flags

Type: Float in range [-∞; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Exploded Volume Area Reduction [no units]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

EXVAR stands for “EXploded Volume vent Area Reduction”. Like “OVAR”, “EXVAR” defines a way to dynamically recalculate the vent area between two volumes when one of the connected volumes (I or J) is the volume where the explosion occurs.

If one of the connected volumes is the one where the explosion occurs, the “i to j” and “j to i” venting area are reduced as follows:

\[vent\_area = vent\_area - EXVAR \times vent\_area\]

Connections/ovar

Flags

Type: Float in range [-∞; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Occupied Volume Area Reduction [no units]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

OVAR stands for “Occupied Volume vent Area Reduction”. The optional column “ovar” (default to 0 if omitted) allows ESonix to dynamically recalculate the vent area for each load case.

This parameter is specially designed to simulate the jam of an opening feature when the incoming volume is occupied. For example, a decompression panel may be blocked by a container in the cargo.

If the connection is leaving an occupied volume (parameters “DEOR” or “VEOR” for the volume #I), the vent area from J to I is reduced by this parameter as follows:

\[vent\_area\_j\_to\_i = vent\_area\_j\_to\_i - OVAR \times vent\_area\_j\_to\_i\]

Likewise, if the connection is going to an occupied volume (parameters “DEOR” or “VEOR” for the volume #J), the vent area from I to J is reduced by this parameter as follows:

\[vent\_area\_i\_to\_j = vent\_area\_i\_to\_j - OVAR \times vent\_area\_i\_to\_j\]

Connections/mdot

Flags

Type: Float in range [-∞; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Fixed mass flow rate [kg/sec] or [lbs/sec]

⚠ This parameter is incompatible with Connections parameters: cddyn, door, exvar, fdl, opening_latency, opening_pressure_i_to_j, opening_time_i_to_j, ovar, sonic

⚠ This parameter requires Connections parameters cp_i_to_j, vent_area_i_to_j

Connections/fdl

Flags

Type: Float in range [0; +∞] | Default: 0 | Mandatory: False | Unique: False

Short description:

Partial Darcy friction factor fd * L [m] or [in]

⚠ This parameter is incompatible with Connections parameters: cddyn, door, exvar, mdot, opening_latency, opening_pressure_i_to_j, opening_time_i_to_j, ovar, sonic

⚠ This parameter requires Connections parameters cp_i_to_j, vent_area_i_to_j

The parameter fdl is used to idealize a pipe as an ESonix connection. The parameter fdl partially refers to Darcy Friction factor. Actually the ESonix fdl parameter equals the Darcy friction factor \(f_d\) multiplied by the pipe’s length (\(\text{fdl} = f_d \times L_{pipe}\)).

The pipe’s internal velocity is then calculated as:

\[u = \sqrt{\frac{\Delta_p \cdot D_{pipe}}{2 \cdot \texttt{fdl} \cdot \bar{\rho}}}\]

The pipe’s diameter \(D_{pipe}\) is internally retrieved by ESonix by the formula:

\[D_{pipe} = \sqrt{\frac{4 \times \texttt{vent\_area\_i\_to\_j} \times \texttt{cp\_area\_i\_to\_j}}{\pi}}\]

Connections/cddyn

Flags

Type: Int in range [-1; +∞] | Default: -1 | Mandatory: False | Unique: False

Short description:

Dynamical CD (blank or -1 (default), 0 (never), 1(Jobson) [no units]

⚠ This parameter is incompatible with Connections parameters: fdl, mdot

The cddyn flag allows to define the dynamical behavior of a connection’s discharge coefficient independently from the engine selected.

The flag, if left to blank, is defaulted to -1. In this case, the selected engine will decide for its value. If set to 0 the connection will not have any dynamical discharge coefficient. In contrary, setting cddyn to 1 will force the discharge coefficient to a dynamical behavior, whatever the engine.

Connections/slave_of

Flags

Type: Int in range [-1; +∞] | Default: -1 | Mandatory: False | Unique: False

Short description:

Master connection ID [no units]

⚠ This parameter requires Connections parameters slave_involved, slave_k1, slave_k2

Connections/slave_k1

Flags

Type: Float in range [-∞; +∞] | Default: 1 | Mandatory: False | Unique: False

Short description:

theta_slave = k1 * theta_master + k2 [no units]

⚠ This parameter requires Connections parameters slave_of

Connections/slave_k2

Flags

Type: Float in range [-∞; +∞] | Default: 1 | Mandatory: False | Unique: False

Short description:

theta_slave = k1 * theta_master + k2 [no units]

⚠ This parameter requires Connections parameters slave_of

Connections/slave_involved

Flags

Type: Int in range [0; 1] | Default: 1 | Mandatory: False | Unique: False

Short description:

is slave connection involved in item’s opening [no units]

⚠ This parameter requires Connections parameters slave_of

Preprocessing

Right before the actual run is solved, the model the user uploaded is preprocessed (cf. Fig. 6.1). This has a particular meaning for connections and can be described by two different phases:

  1. Initialisation of the *_i_to_j columns.
  2. Symmetrization of the *_j_to_i columns.

Step 1: Initialisation

Initialisation deals with the *_i_to_j columns. This phase does not directly affect the *_j_to_i ones.

For each row of the model, any empty or blank cell within the *_i_to_j columns will be set to 0.0.

Step 2: Symmetrization

Symmetrization deals with the *_j_to_i columns. This phase never affects the *_i_to_j ones.

This “symmetrisation” process means that connections are assumed symmetric by default.

The user shall fill the *_i_to_j columns. *_j_to_i is not mandatory. The empty *_j_to_i columns will be automatically copied from *_i_to_j.

A connection may be partially symmetric. For example, a connection may have the same discharge coefficient (cp) for both ways, but different venting area. In this case, only the asymmetric values need to be filled.

Common examples

The following examples show the most common connections and propose the best way to idealize them.

Passive vent

Passive vents are the most simple connections. Passive vents are always symmetrical (although you may define unsymmetrical venting area).

Create a project

Passive vent (defined as a grid) between volumes 2 and 7

Example: A connection (ID19) is a passive vent (symmetric) between volumes 2 and 7. The total vent area is 0.3m^2, with a discharge coefficients of 0.4. Such a feature is shown at Fig. 5.5.

The ESonix pre-process phase would prepare the full connection as described below (in bold the default values determined by ESonix). Pay attention to the symmetrization process to fill the _j_to_i columns.

Passive vent parameters Example
Column User input Preprocess Actual input
id 19 19
vol_i 2 2
vol_j 7 7
door Default to zero 0
opening_latency Default to zero 0
vent_area_i_to_j 0.3 0.3
opening_pressure_i_to_j Default to zero 0
opening_time_i_to_j Default to zero 0
cp_i_to_j 0.4 0.4
vent_area_j_to_i Default to vent_area_i_to_j 0.3
opening_pressure_j_to_i Default to opening_pressure_i_to_j 0
opening_time_j_to_i Default to opening_time_i_to_j 0
cp_j_to_i Default to cp_i_to_j 0.4
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0

Standard decompression panel (Bi-directionnel)

Decompression panels are activated once the delta pressure pushing on it reach a target value. It is most of the time fully symmetric: the same delta pressure threshold triggers the mechanism and the same vent area is cleared.

Create a project

Standard Decompression panel between volumes 2 and 7 (designed with ball-catch for this particular example)

Example: A decompression panel defines the connection ID19. The total released area is 0.5m^2. The panel opens for a pressure of 1.5bar, and is assumed to open instantaneously (opening_time = 0). Such a feature is shown at Fig. 5.6.

The ESonix pre-process phase would prepare the full connection as described below (in bold the default values determined by ESonix). Pay attention to the symmetrization process to fill the _j_to_i columns.

Standard decompression panel parameters Example
Column User input Preprocess Actual input
id 19 19
vol_i 2 2
vol_j 7 7
door Default to zero 0
opening_latency Default to zero 0
vent_area_i_to_j 0.3 0.3
opening_pressure_i_to_j 1.5 1.5
opening_time_i_to_j Default to zero 0
cp_i_to_j 0.6 0.6
vent_area_j_to_i Default to vent_area_i_to_j 0.3
opening_pressure_j_to_i Default to opening_pressure_i_to_j 1.5
opening_time_j_to_i Default to opening_time_i_to_j 0
cp_j_to_i Default to cp_i_to_j 0.6
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0

Unidirectional decompression panel

Unidirectional decompression panels are activated only for one direction

Create a project

Unidirectional decompression panel between volumes 2 and 7

Example: Same example as above, but the panel can only open from 7 to 2. Such a feature is shown at Fig. 5.7.

One way to achieve this is to reduce vent_area_i_to_j to 0 (no vent area from 2 to 7), and to set vent_area_j_to_i to 0.3.

Unidirectional decompression panel parameters Example
Column User input Preprocess Actual input
id 19 19
vol_i 2 2
vol_j 7 7
door Default to zero 0
opening_latency Default to zero 0
vent_area_i_to_j Default to zero 0
opening_pressure_i_to_j Default to zero 0
opening_time_i_to_j Default to zero 0
cp_i_to_j 0.6 0.6
vent_area_j_to_i 0.3   0.3
opening_pressure_j_to_i 1.5 1.5
opening_time_j_to_i Default to opening_time_i_to_j 0
cp_j_to_i 0.6   0.6
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0

Warning

once the panel is open the air can freely flow in both direction. If the differential pressure inverts the air flow from “i_to_j” will be based on the actual calculated opened area with the discharge coefficient “cp_i_to_j”. Therefore this discharge coefficient should be always specified.

Note

another way of achieving a unidirectional decompression panel opening would be to set an artificially high opening pressure in the opposite direction.

Nested differential decompression panel

This particular design is sometimes useful to optimize a decompression layout.

Create a project

Nested differential Decompression panel between volumes 2 and 7

Example. As shown in Fig. 5.8, a decompression feature (let say with ID 23) can open in both directions with the same triggering pressure, but with different area. This would be achieved this way:

Nested decompression panel parameters Example
Column User input Preprocess Actual input
id 23 23
vol_i 2 2
vol_j 7 7
door Default to zero 0
opening_latency Default to zero 0
vent_area_i_to_j 0.3 0.3
opening_pressure_i_to_j 1.5 1.5
opening_time_i_to_j Default to zero 0
cp_i_to_j 0.6 0.6
vent_area_j_to_i 0.8   0.8
opening_pressure_j_to_i Default to opening_pressure_i_to_j 1.5
opening_time_j_to_i Default to opening_time_i_to_j 0
cp_j_to_i Default to cp_i_to_j 0.6
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0

Simple non-decompressing door

A non-decompressing door is considered as a passive vent when the opened-doors configuration is ran. No more data except door and cp_i_to_j are required (beside id, vol_j and vol_j!)

Create a project

Simple non-decompressing door between volumes 2 and 7

Example: A simple 2.2m² door (let say ID9) connects compartments 2 and 7 (cf. Fig. 5.9).

Usually, such a big clean vent is assumed to have a discharge coefficient of 0.8. When the decompression analysis is ran with the closed-doors initial conditions, this venting is ignored (the door is closed and will remain closed) whereas for the opened-doors initial conditions, the full door is opened and will remain opened as a 2.2m² passive vent.

Simple Non-decompressing door
Column User input Preprocess Actual input
id 9 9
vol_i 2 2
vol_j 7 7
door 2.2   2.20
opening_latency Default to zero 0
vent_area_i_to_j Default to zero 0
opening_pressure_i_to_j Default to zero 0
opening_time_i_to_j Default to zero 0
cp_i_to_j 0.8 0.8
vent_area_j_to_i   0
opening_pressure_j_to_i Default to opening_pressure_i_to_j 0
opening_time_j_to_i Default to opening_time_i_to_j 0
cp_j_to_i Default to cp_i_to_j 0.8
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0

Simple decompressing door

A decompressing door is considered to clear its full frame area when the \(\Delta_P\) reach the triggering pressure. For an opened-door initial condition run, the decompressing feature will not be active, since the door itself is already opened.

This kind of decompression item is usually not symmetric: the static door frame allows the door to rotate only in one direction.

Create a project

Simple decompressing door between volumes 2 and 7

Example: The same example as above is used, except that the door is able to open from 7 to 2 when \(\Delta_P\) reaches 1.5bar. Additionnally, an opening time of 0.3 seconds will be used. Will still need to set the discharge coefficient for i_to_j since the door will be opened for the opened-door initial conditions.

Simple decompressing door
Column User input Preprocess Actual input
id 9 9
vol_i 2 2
vol_j 7 7
door 2.2   2.20
opening_latency Default to zero 0
vent_area_i_to_j Default to zero 0
opening_pressure_i_to_j Default to zero 0
opening_time_i_to_j Default to zero 0
cp_i_to_j 0.8 0.8
vent_area_j_to_i 2.2   2.2
opening_pressure_j_to_i 1.5   1.5
opening_time_j_to_i 0.3   0.3
cp_j_to_i Default to cp_i_to_j 0.8
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0

Door nesting a decompression panel

Contrary to the example above (Simple decompressing door), the door has no decompression mechanism, but hosts a nested decompression panel (cf. Fig. 5.11).

For illustration purposes, and to keep a certain level of complexity, the nested panel is considered blind –opening only from volume 2 to volume 7– which is not common.

The door itself will not be triggered with maximum Δp. However its 1.05m² nested panel will, only from volume 2 to volume 7.

Values for i_to_j data has to be filled, and values for j_to_i as well, but set to 0 to avoid symmetrization (at least for the vent_area), as shown in Table 5.11).

Create a project

Door nesting a decompression panel opening from 2 to 7

Warning

It is often a bad idea to define the panel as another item (another row) as the door. Indeed, in the latter case, during an opened-door load case, the panel will still be active and may be triggered, adding a new vent area that shouldn’t be!

Door with nested decompression Panel
Column User input Preprocess Actual input
id 9 9
vol_i 2 2
vol_j 7 7
door 2.2   2.20
opening_latency Default to zero 0
vent_area_i_to_j 1.05   1.05
opening_pressure_i_to_j 1.5   1.5
opening_time_i_to_j 0.3   0.3
cp_i_to_j 0.8 0.8
vent_area_j_to_i 0   0
opening_pressure_j_to_i Default to opening_pressure_i_to_j 1.5
opening_time_j_to_i Default to opening_time_i_to_j 0.3
cp_j_to_i Default to cp_i_to_j 0.8
comments Default to null string “”
ovar Default to zero 0
exvar Default to zero 0