Acoular 25.03 documentation

OpenJet

«  FlowField   ::   environments   ::   RotatingFlow  »

OpenJet

class acoular.environments.OpenJet

Bases: FlowField

Analytical approximation of the flow field of an open jet.

This class provides a simplified analytical model of the velocity field for an open jet, based on the description in [2]. It calculates the velocity vector and its Jacobian matrix at a given location in the fluid domain, assuming flow in the x-direction only.

Notes

  • This is not a fully generic implementation, and is limited to flow in the x-direction only. No other directions are possible at the moment and flow components in the other direction are zero.

  • The flow field transitions from the jet core to the shear layer, with velocity decay modeled using a Gaussian profile in the shear layer.

Examples

>>> import acoular as ac
>>> import numpy as np
>>>
>>> jet = ac.OpenJet(v0=10.0, D=0.4, l=6.2)
>>> velocity, jacobian = jet.v(np.array((1.0, 0.1, 0.1)))
>>> velocity
array([9.62413564, 0.        , 0.        ])
>>> jacobian
array([[ -1.92660591, -23.25619062, -23.25619062],
       [  0.        ,   0.        ,   0.        ],
       [  0.        ,   0.        ,   0.        ]])
v0 = Float(0.0, desc='exit velocity')

Exit velocity at the jet origin (nozzle). Default is 0.0.

origin = CArray(dtype=float64, shape=(3,), value=array((0.0, 0.0, 0.0)), desc='center of nozzle')

The location of the nozzle center. Default is (0.0, 0.0, 0.0).

D = Float(0.2, desc='nozzle diameter')

Diameter of the nozzle. Default is 0.2.

l = Float(6.2, desc='flow establishment length')  # noqa: E741

Non-dimensional length of the zone of flow establishment (jet core length). Default is 6.2. [2]

digest = Property(

A unique identifier based on the field properties. (read-only)

v(xx)

Compute the velocity field and its Jacobian matrix at a given location.

This method calculates the velocity vector and its Jacobian matrix at the specified location xx in the fluid domain. The velocity is modeled only for the x-component of the flow, while the y- and z-components are assumed to be zero.

Parameters:
xxnumpy.ndarray of floats

The 3D Cartesian coordinates of the location in the fluid where the velocity field is to be computed, shape (3,).

Returns:
velocity_vectornumpy.ndarray of floats

The velocity vector at the specified location xx, shape (3,).

jacobian_matrixnumpy.ndarray of floats

The Jacobian matrix of the velocity vector field at the specified location xx, shape (3, 3).

Notes

  • The velocity field is determined based on whether the location is within the jet core region or in the shear layer. Within the jet core, the velocity is constant and equal to v0. In the shear layer, the velocity decays following a Gaussian distribution.

  • The Jacobian matrix provides the partial derivatives of the velocity components with respect to the spatial coordinates.

  • If the radial distance r from the jet axis is zero, the derivatives with respect to y and z are set to zero to avoid division by zero.

«  FlowField   ::   environments   ::   RotatingFlow  »