noise_control.valves
Control valve aerodynamic noise (IEC 60534-8-3:2010).
A control valve throttles a compressible fluid by turning pressure into velocity and then throwing that velocity away in a free jet inside the pipe. A small, well-characterised fraction of the jet’s stream power comes back as sound, most of it radiated not by the valve but by the pipe wall downstream, which is why the method ends in a transmission loss and not in a sound power level.
The standard is a chain with a branch in the middle. The branch is the regime: how far the throttling has gone, from subsonic flow in the vena contracta (regime I) through the onset of choking to the fully developed shock cells of regime V. Five printed pressure ratios, Equations (3) to (7), cut the differential pressure ratio into those five intervals, and Table 3 gives each one its own Mach number, its own acoustical efficiency and its own peak frequency. Everything before the branch (the pressure ratios, the jet diameter) and everything after it (the internal level at the pipe wall, the pipe transmission loss, the level outside) is common to all five.
What is new in the 2010 edition, and what this module therefore does. The 1997 method produced one number. This one produces a third-octave spectrum: Equation (19) spreads the internal level around the peak frequency, Equation (20a) gives the pipe a transmission loss that changes with frequency through the ring and coincidence frequencies of Equations (21) to (23), and only Equation (25) collapses the result back to a single A-weighted level at 1 m. The band set is the 33 one-third-octave bands from 12,5 Hz to 20 kHz, printed as Table 5.
Three things in Annex A do not reproduce themselves, and all three are
recorded in docs/ERRATA.md:
- The piping geometry factor is printed as , but every one of the six printed vena contracta pressures needs to come out. The five examples that print a value of all give , which is to six digits and not .
- The equivalent orifice diameter is printed as m in all six columns, where Equation (8c) with the annex’s own and m² gives m. The valve style modifier printed on the next row, , is the ratio of the printed m to m, so the annex computed with the larger value and printed the smaller one.
- Two frequency factors of Table A.2 are printed one power of ten low, and , in a column Table 6 makes proportional to and which therefore has to rise. The transmission losses printed two rows below them are what the corrected factors give.
This module implements Clause 5, the standard trim case, with the
noise-reducing trims of Clause 6 and the expander of Clause 7 alongside it.
The hydrodynamic case of IEC 60534-8-4, where the fluid is a liquid, is
phonometry.noise_control.valves_hydrodynamic.
Auto-generated from the source docstrings by
scripts/generate_api_docs.py(make api-docs). Do not edit by hand.
AERODYNAMIC_A_WEIGHTING_DB
Section titled “AERODYNAMIC_A_WEIGHTING_DB”Constant (tuple).
AERODYNAMIC_A_WEIGHTING_DB = (-63.4, -56.7, -50.5, -44.7, -39.4, -34.6, -30.2, -26.2, -22.5, -19.1, -16.1, -13.4, -10.9, -8.6, -6.6, -4.8, -3.2, -1.9, -0.8, 0.0, 0.6, 1.0, 1.2, 1.3, 1.2, 1.0, 0.5, -0.1, -1.1, -2.5, -4.3, -6.6, -9.3)AerodynamicValveNoise
Section titled “AerodynamicValveNoise”AerodynamicValveNoise( regime: int, boundaries: RegimeBoundaries, pressure_ratio: float, vena_contracta_pressure_pa: float, jet_diameter_m: float, mach: float, acoustical_efficiency: float, stream_power: float, sound_power: float, sound_power_level: float, peak_frequency: float, outlet_mach: float, pipe_mach: float, velocity_correction: float, internal_level: float, frequencies: NDArray[np.float64], band_internal_level: NDArray[np.float64], band_transmission_loss: NDArray[np.float64], band_external_level: NDArray[np.float64], external_level: float, pipe_frequencies: PipeFrequencies, expander: ExpanderNoise | None,)What IEC 60534-8-3 Clause 5 says about one operating point.
Attributes
| Name | Description |
|---|---|
regime | Which of the five regimes of Clause 5.2 the valve is in. |
boundaries | The four pressure ratios that placed it there. |
pressure_ratio | of Equation (1). |
vena_contracta_pressure_pa | of Equation (2), in Pa. It goes negative past the choking point, where the equation is being read outside the range it means anything in. |
jet_diameter_m | of Equation (9), in m. |
mach | The Mach number Table 3 uses in this regime. |
acoustical_efficiency | , the fraction of the stream power that leaves as sound. |
stream_power | , in W. |
sound_power | of Equation (11), in W. |
sound_power_level | of Equation (12), in dB. |
peak_frequency | from Table 3, in Hz. |
outlet_mach | of Equation (15), which Clause 5 is only valid below 0,3. |
pipe_mach | of Equation (17), before the 0,3 limit. |
velocity_correction | of Equation (16), in dB. |
internal_level | of Equation (18), in dB. |
frequencies | The 33 one-third-octave band centres of Table 5, in Hz. |
band_internal_level | of Equation (19), in dB. |
band_transmission_loss | of Equation (20a), in dB. |
band_external_level | of Equation (24), in dB. |
external_level | of Equation (25), in dB. |
pipe_frequencies | The ring and coincidence frequencies the transmission loss is shaped by. |
expander | What Clause 7 says the flow leaving the valve outlet makes, or None when no expander was given. When it is present its spectrum is already in band_internal_level, and so in band_external_level and external_level, combined with the trim by Equation (43); this field carries the outlet flow on its own, which is the only place it can be read apart. |
AIR_SOUND_SPEED_M_S
Section titled “AIR_SOUND_SPEED_M_S”Constant (float).
AIR_SOUND_SPEED_M_S = 343.0coincidence_frequencies
Section titled “coincidence_frequencies”coincidence_frequencies( internal_diameter_m: float, wall_thickness: float, downstream_sound_speed: float, *, pipe_sound_speed: float = 5000.0, air_sound_speed: float = 343.0,) -> PipeFrequenciesEquations (21), (22) and (23).
Parameters
| Name | Description |
|---|---|
internal_diameter_m | of the downstream pipe, in m. |
wall_thickness | of the pipe wall, in m. |
downstream_sound_speed | in the fluid downstream of the valve, in m/s. |
pipe_sound_speed | , 5 000 m/s for steel by NOTE 4. |
air_sound_speed | , 343 m/s by NOTE 3. |
Returns: The three frequencies, in Hz.
Raises
| Exception | When |
|---|---|
| ValueError | If any argument is not positive and finite. |
combine_internal_levels
Section titled “combine_internal_levels”combine_internal_levels(*levels: NDArray[np.float64]) -> NDArray[np.float64]Equation (43): two internal spectra at the same pipe wall, added.
The valve trim and the expander are two sources inside one pipe, so they add in energy and not in level, and the sum is what Equation (24) then takes through the wall.
Parameters
| Name | Description |
|---|---|
levels | Two or more band level arrays of the same shape, in dB. |
Returns: Their energy sum, in dB.
Raises
| Exception | When |
|---|---|
| ValueError | If fewer than two are given, or they disagree in shape. |
DEFAULT_EXPANDER
Section titled “DEFAULT_EXPANDER”Constant (phonometry.noise_control.valves.Expander).
DownstreamPipe
Section titled “DownstreamPipe”DownstreamPipe( internal_diameter_m: float, wall_thickness: float, density: float, *, speed_of_sound: float = 5000.0, air_sound_speed: float = 343.0, atmospheric_pressure_pa: float = 101325.0, standard_pressure_pa: float = 101325.0,)The pipe the noise actually comes out of, and what surrounds it.
The last four fields are the values the standard prints for a steel pipe in air at atmospheric pressure, and they are defaults for that reason, not settings anyone is expected to change.
Attributes
| Name | Description |
|---|---|
internal_diameter_m | , in m. |
wall_thickness | , in m. |
density | of the pipe material, in kg/m³. |
speed_of_sound | in the pipe wall, in m/s. |
air_sound_speed | outside the pipe, in m/s. |
atmospheric_pressure_pa | , in Pa. |
standard_pressure_pa | , in Pa. |
Expander
Section titled “Expander”Expander( contraction: float = 0.93, efficiency_correction: float = -3.0, strouhal_number: float = 0.2,)The transition piece downstream of the valve (Clause 7).
A valve whose outlet is narrower than the pipe it discharges into makes a second jet, at the step. Clause 7 is the method for it, and 7.1 limits the method to a transition of 30 degrees total included angle: a steeper cone makes the flow unstable in ways the standard does not model.
Attributes
| Name | Description |
|---|---|
contraction | of Equation (35). NOTE 1 puts it at 0,93 for straight pattern globe valves and as low as 0,7 for some rotary ones, and says there are no data for the rest. |
efficiency_correction | for the expander, which is its own row of Table 4 and not the valve’s: the table prints -3,0. |
strouhal_number | for the expander, 0,2 in Table 4. |
expander_noise
Section titled “expander_noise”expander_noise( frequencies: NDArray[np.float64], *, mass_flow: float, downstream_density: float, downstream_sound_speed: float, internal_diameter_m: float, throat_diameter_m: float, velocity_correction: float, expander: Expander = ...,) -> ExpanderNoiseClause 7: the noise the flow makes leaving the valve outlet.
The two caps are the clause’s: is limited to Mach 0,8 and to the sonic velocity, so a step that would otherwise be computed as supersonic is computed at Mach one instead.
Parameters
| Name | Description |
|---|---|
frequencies | The band centre frequencies, in Hz. |
mass_flow | , in kg/s. |
downstream_density | , in kg/m³. |
downstream_sound_speed | , in m/s. |
internal_diameter_m | of the downstream pipe, in m. |
throat_diameter_m | , the smaller of the valve outlet and the expander inlet, in m. |
velocity_correction | of Equation (16), in dB, which Equation (41) adds exactly as Equation (18) does. |
expander | The transition piece. |
Returns: An ExpanderNoise.
Raises
| Exception | When |
|---|---|
| ValueError | If a physical quantity is not positive and finite, if the two signed dB corrections are not finite, or if the throat is wider than the pipe. The efficiency correction of Table 4 and the velocity correction of Equation (16) are both signed, and the expander’s own row prints . |
EXPANDER_PIPE_MACH_LIMIT
Section titled “EXPANDER_PIPE_MACH_LIMIT”Constant (float).
EXPANDER_PIPE_MACH_LIMIT = 0.8ExpanderNoise
Section titled “ExpanderNoise”ExpanderNoise( pipe_velocity: float, inlet_velocity: float, mach: float, stream_power: float, acoustical_efficiency: float, sound_power: float, peak_frequency: float, internal_level: float, band_internal_level: NDArray[np.float64],)What Clause 7 says the flow leaving the valve outlet makes.
Attributes
| Name | Description |
|---|---|
pipe_velocity | of Equation (34), in m/s, after the Mach 0,8 cap. |
inlet_velocity | of Equation (35), in m/s, after the sonic cap. |
mach | of Equation (39). |
stream_power | of Equation (36), in W. |
acoustical_efficiency | of Equation (38). |
sound_power | of Equation (40), in W. |
peak_frequency | of Equation (37), in Hz. |
internal_level | of Equation (41), in dB. |
band_internal_level | of Equation (42), in dB. |
FLOW_COEFFICIENT_CONSTANTS
Section titled “FLOW_COEFFICIENT_CONSTANTS”Constant (mapping).
FLOW_COEFFICIENT_CONSTANTS = {'Cv': 0.0046, 'Kv': 0.0049}flow_regime
Section titled “flow_regime”flow_regime(pressure_ratio: float, boundaries: RegimeBoundaries) -> intWhich of the five regimes of Clause 5.2 a pressure ratio falls in.
The clause prints the five intervals half open, each one closed at the top: , then , then , then , and finally .
Table 3 prints the last one as , which would put the
single point in two regimes at once. Clause 5.2 is the
normative text and its list is consistent, so this follows the clause;
docs/ERRATA.md records the disagreement.
Parameters
| Name | Description |
|---|---|
pressure_ratio | of Equation (1). |
boundaries | The output of pressure_ratio_boundaries. |
Returns: The regime number, 1 to 5.
Raises
| Exception | When |
|---|---|
| ValueError | If the pressure ratio is not a finite number in (0, 1). |
GasStream
Section titled “GasStream”GasStream( mass_flow: float, inlet_pressure_pa: float, outlet_pressure_pa: float, inlet_density: float, inlet_temperature_k: float, specific_heat_ratio: float, molecular_mass: float,)The gas and the operating point, which Clause 5.1 reads first.
Attributes
| Name | Description |
|---|---|
mass_flow | , in kg/s. |
inlet_pressure_pa | , absolute, in Pa. |
outlet_pressure_pa | , absolute, in Pa. |
inlet_density | , in kg/m³. |
inlet_temperature_k | , absolute, in K. |
specific_heat_ratio | . |
molecular_mass | , in kg/kmol. |
GLOBE_CONTRACTION_COEFFICIENT
Section titled “GLOBE_CONTRACTION_COEFFICIENT”Constant (float).
GLOBE_CONTRACTION_COEFFICIENT = 0.93internal_spectrum
Section titled “internal_spectrum”internal_spectrum( internal_level: float, peak_frequency: float, frequencies: NDArray[np.float64],) -> NDArray[np.float64]Equation (19): the internal level spread over the third-octave bands.
The two brackets are not symmetric: the spectrum falls as above the peak and as below it, so a valve is heard further above its peak than below it. The 8 dB is what turns an overall level into a one-third-octave one; the NOTE to Table 7 puts 3 dB there for octave bands instead.
Parameters
| Name | Description |
|---|---|
internal_level | of Equation (18), in dB. |
peak_frequency | from Table 3, in Hz. |
frequencies | The band centre frequencies, in Hz. |
Returns: The internal level in each band, in dB.
Raises
| Exception | When |
|---|---|
| ValueError | If the peak frequency is not positive and finite, or a band centre is not. |
jet_diameter_m
Section titled “jet_diameter_m”jet_diameter_m( flow_coefficient: float, style_modifier: float, pressure_recovery: float, *, coefficient: str = 'Cv',) -> floatThe jet diameter of Equation (9).
Parameters
| Name | Description |
|---|---|
flow_coefficient | , the required flow coefficient of the valve at the travel being examined. |
style_modifier | , from valve_style_modifier. |
pressure_recovery | , or for a valve with no attached fittings. |
coefficient | Which flow coefficient flow_coefficient is, "Cv" or "Kv", which selects from Table 1. |
Returns: , in m.
Raises
| Exception | When |
|---|---|
| ValueError | If a value is not positive and finite, or the coefficient is not one Table 1 prints a constant for. |
LAST_STAGE_AREA_CONSTANTS
Section titled “LAST_STAGE_AREA_CONSTANTS”Constant (mapping).
LAST_STAGE_AREA_CONSTANTS = {'Cv': 48900.0, 'Kv': 42300.0}last_stage_flow_coefficient
Section titled “last_stage_flow_coefficient”last_stage_flow_coefficient( total_area: float, *, coefficient: str = 'Cv',) -> floatEquation (27): the flow coefficient of the last stage, from its area.
6.3 asks for in place of everywhere in Clause 5, and says to use this only when the manufacturer does not state one.
Parameters
| Name | Description |
|---|---|
total_area | , the total flow area of the last stage, in m². |
coefficient | Which flow coefficient to return, "Cv" or "Kv", which selects from Table 1. |
Returns: .
Raises
| Exception | When |
|---|---|
| ValueError | If the area is not positive and finite, or the coefficient is not one Table 1 prints a constant for. |
MACH_LIMIT_STANDARD_TRIM
Section titled “MACH_LIMIT_STANDARD_TRIM”Constant (float).
MACH_LIMIT_STANDARD_TRIM = 0.3MAXIMUM_PASSAGE_ASPECT
Section titled “MAXIMUM_PASSAGE_ASPECT”Constant (float).
MAXIMUM_PASSAGE_ASPECT = 4.0multiple_passage_jet_diameter
Section titled “multiple_passage_jet_diameter”multiple_passage_jet_diameter( flow_coefficient: float, style_modifier: float, passage_length: float, passage_diameter_m: float, *, coefficient: str = 'Cv',) -> floatEquation (26): the jet diameter of a single-stage, many-passage trim.
6.2 replaces the pressure recovery factor of Equation (9) with that bracket, which is what a drilled cage does instead: a long hole recovers less than a short one, and NOTE 1 caps the ratio at 4 because the bracket would otherwise reach zero at 15.
NOTE 2 adds two conditions on the geometry rather than on the arithmetic, and neither is checked here: above a pressure ratio of 4 the valve style modifier only holds when the wall between passages is thicker than , and it fails altogether once the outlet Mach number passes 0,2.
Parameters
| Name | Description |
|---|---|
flow_coefficient | of the valve. |
style_modifier | , from valve_style_modifier. |
passage_length | of one flow passage, in m. |
passage_diameter_m | of one flow passage, in m; the hydraulic diameter for a passage that is not round. |
coefficient | "Cv" or "Kv", selecting . |
Returns: , in m.
Raises
| Exception | When |
|---|---|
| ValueError | If a value is not positive and finite, or the coefficient is not one Table 1 prints a constant for. |
multistage_trim_conditions
Section titled “multistage_trim_conditions”multistage_trim_conditions( *, inlet_pressure_pa: float, outlet_pressure_pa: float, inlet_density: float, flow_coefficient: float, last_stage_coefficient: float,) -> MultistageConditionsEquations (27) to (29): the last stage seen as a valve of its own.
A multistage trim drops most of the pressure before the stage that makes the noise, so Clause 5 is run on that stage: 6.3 substitutes the stagnation pressure at its inlet for , the density there for , and for .
Which equation gives is NOTE 3’s, and it is a two-step reading rather than a formula:
With the note says to assume , take (28a), and fall through to (28b) if the answer it gives turns out to be or more. Below a valve ratio of two, (28c) applies directly.
Parameters
| Name | Description |
|---|---|
inlet_pressure_pa | at the valve inlet, absolute, in Pa. |
outlet_pressure_pa | at the valve outlet, in Pa. |
inlet_density | at the valve inlet, in kg/m³. |
flow_coefficient | of the whole valve. |
last_stage_coefficient | of the last stage, from last_stage_flow_coefficient or from the manufacturer. |
Returns: A MultistageConditions, whose three fields stand in for the valve’s own inlet when the chain is run: the stagnation pressure and density go into the GasStream in place of and , and the flow coefficient into the ValveTrim in place of .
Raises
| Exception | When |
|---|---|
| ValueError | If a value is not positive and finite, or the outlet pressure is not below the inlet. |
MultistageConditions
Section titled “MultistageConditions”MultistageConditions( flow_coefficient: float, stagnation_pressure_pa: float, stagnation_density: float, equation: str,)What a multistage trim hands Clause 5 in place of the valve inlet.
Attributes
| Name | Description |
|---|---|
flow_coefficient | of the last stage, Equation (27). |
stagnation_pressure_pa | at the inlet of the last stage, in Pa, from whichever of Equations (28a) to (28c) NOTE 3 selects. |
stagnation_density | there, in kg/m³, Equation (29). |
equation | Which of "28a", "28b" and "28c" was used, because the branch is a reading of NOTE 3 rather than an arithmetic fact and a report should say which one it took. |
PIPE_SOUND_SPEED_M_S
Section titled “PIPE_SOUND_SPEED_M_S”Constant (float).
PIPE_SOUND_SPEED_M_S = 5000.0pipe_transmission_loss
Section titled “pipe_transmission_loss”pipe_transmission_loss( frequencies: NDArray[np.float64], *, internal_diameter_m: float, wall_thickness: float, valve_outlet_diameter_m: float, downstream_density: float, downstream_sound_speed: float, pipe_density: float, pipe_sound_speed: float = 5000.0, air_sound_speed: float = 343.0, atmospheric_pressure_pa: float = 101325.0, standard_pressure_pa: float = 101325.0,) -> NDArray[np.float64]Equation (20a): what the pipe wall keeps in, band by band.
The result is a large negative number, and Equation (24) adds it to the internal level, so the sign is not a convention this module chose.
Parameters
| Name | Description |
|---|---|
frequencies | The band centre frequencies, in Hz. |
internal_diameter_m | , in m. |
wall_thickness | , in m. |
valve_outlet_diameter_m | , in m, which selects the damping factor of Equation (20b) and is the valve outlet and not the pipe. |
downstream_density | , in kg/m³. |
downstream_sound_speed | , in m/s. |
pipe_density | of the pipe material, in kg/m³. |
pipe_sound_speed | , in m/s. |
air_sound_speed | , in m/s. |
atmospheric_pressure_pa | , in Pa. |
standard_pressure_pa | , in Pa. |
Returns: The transmission loss in each band, in dB, negative.
Raises
| Exception | When |
|---|---|
| ValueError | If an argument is not positive and finite. |
PIPE_WALL_MACH_LIMIT
Section titled “PIPE_WALL_MACH_LIMIT”Constant (float).
PIPE_WALL_MACH_LIMIT = 0.3PipeFrequencies
Section titled “PipeFrequencies”PipeFrequencies( ring: float, internal_coincidence: float, external_coincidence: float,)The three frequencies Clause 5.5 shapes the transmission loss with.
Attributes
| Name | Description |
|---|---|
ring | of Equation (21), where the pipe rings as a circumference of one wavelength. |
internal_coincidence | of Equation (22). |
external_coincidence | of Equation (23). |
pressure_ratio_boundaries
Section titled “pressure_ratio_boundaries”pressure_ratio_boundaries( specific_heat_ratio: float, pressure_recovery: float,) -> RegimeBoundariesThe regime boundaries of Equations (3) to (7).
Parameters
| Name | Description |
|---|---|
specific_heat_ratio | of the flowing fluid. |
pressure_recovery | , or when the valve has attached fittings, which is what the NOTE to Table 3 asks for and what every example in Annex A uses. |
Returns: The four boundaries and the recovery factor behind two of them.
Raises
| Exception | When |
|---|---|
| ValueError | If either argument is not positive and finite, or if the specific heat ratio is not above one. |
REGIME_CHOKED
Section titled “REGIME_CHOKED”Constant (int).
REGIME_CHOKED = 2REGIME_CONSTANT_EFFICIENCY
Section titled “REGIME_CONSTANT_EFFICIENCY”Constant (int).
REGIME_CONSTANT_EFFICIENCY = 5REGIME_COUNT
Section titled “REGIME_COUNT”Constant (int).
REGIME_COUNT = 5REGIME_SHOCK
Section titled “REGIME_SHOCK”Constant (int).
REGIME_SHOCK = 4REGIME_SUBSONIC
Section titled “REGIME_SUBSONIC”Constant (int).
REGIME_SUBSONIC = 1REGIME_SUPERSONIC
Section titled “REGIME_SUPERSONIC”Constant (int).
REGIME_SUPERSONIC = 3RegimeBoundaries
Section titled “RegimeBoundaries”RegimeBoundaries( vena_contracta: float, critical: float, break_point: float, constant_efficiency: float, recovery: float,)The four pressure ratios that cut Clause 5.2 into five regimes.
Attributes
| Name | Description |
|---|---|
vena_contracta | , where the flow in the vena contracta first reaches the speed of sound, Equation (3). |
critical | , the same point seen from the valve inlet, Equation (4). |
break_point | , where the jet stops growing and shock cells take over, Equation (6). |
constant_efficiency | , where the acoustical efficiency stops rising with pressure ratio, Equation (7). |
recovery | , the recovery correction factor of Equation (5), which the other two are written in terms of. |
stage_level_correction
Section titled “stage_level_correction”stage_level_correction( last_stage_level: float, stages: int, inlet_pressure_pa: float, stagnation_pressure_pa: float,) -> floatEquation (31): what the stages before the last one add.
Clause 5 is run on the last stage alone, and this puts the others back. The exponent is small, so the correction barely notices how many stages there are: two stages and eight differ by 26 % of a term that is itself only a few decibels.
Parameters
| Name | Description |
|---|---|
last_stage_level | of Equation (18) computed on the last stage, in dB. |
stages | , the number of throttling stages, at least two. |
inlet_pressure_pa | at the valve inlet, in Pa. |
stagnation_pressure_pa | at the last stage, in Pa. |
Returns: for the whole trim, in dB.
Raises
| Exception | When |
|---|---|
| ValueError | If the stage count is below two, or a pressure is not positive and finite, or the stagnation pressure exceeds the inlet. |
STANDARD_ATMOSPHERE_PA
Section titled “STANDARD_ATMOSPHERE_PA”Constant (float).
STANDARD_ATMOSPHERE_PA = 101325.0STRUCTURAL_LOSS_REFERENCE_HZ
Section titled “STRUCTURAL_LOSS_REFERENCE_HZ”Constant (float).
STRUCTURAL_LOSS_REFERENCE_HZ = 1.0UNIVERSAL_GAS_CONSTANT
Section titled “UNIVERSAL_GAS_CONSTANT”Constant (float).
UNIVERSAL_GAS_CONSTANT = 8314.0VALVE_ACOUSTIC_STYLES
Section titled “VALVE_ACOUSTIC_STYLES”Constant (mapping).
VALVE_ACOUSTIC_STYLES = {'globe parabolic plug': (-4.2, 0.19), 'globe V-port plug': (-4.2, 0.19), 'globe ported cage': (-3.8, 0.2), 'globe multihole to open': (-4.8, 0.2), 'globe multihole to close': (-4.4, 0.2), 'butterfly eccentric': (-4.2, 0.3), 'butterfly swing-through': (-4.2, 0.3), 'butterfly fluted vane': (-4.2, 0.3), 'butterfly 60 deg flat disk': (-4.2, 0.3), 'eccentric rotary plug': (-3.6, 0.3), 'segmented ball 90 deg': (-3.6, 0.3), 'drilled hole plate': (-4.8, 0.2), 'expander': (-3.0, 0.2)}valve_aerodynamic_noise
Section titled “valve_aerodynamic_noise”valve_aerodynamic_noise( stream: GasStream, valve: ValveTrim, pipe: DownstreamPipe, *, expander: Expander | None = None,) -> AerodynamicValveNoiseThe whole of Clause 5, from the operating point to the level at 1 m.
The chain is Clause 5.7’s own flow chart: the pressure ratios of 5.1 and 5.2, the geometry of 5.3, the regime-dependent stream power and acoustical efficiency of 5.4, then the pipe transmission loss of 5.5 and the external level of 5.6, which are common to every regime.
Parameters
| Name | Description |
|---|---|
stream | The gas and the operating point, a GasStream. |
valve | The valve at the travel being examined, a ValveTrim. |
pipe | The downstream pipe and what surrounds it, a DownstreamPipe. |
expander | The transition piece downstream of the valve. Give one when the valve outlet is narrower than the pipe and the outlet Mach number has passed 0,3, which is when NOTE 1 to Equation (15) sends the calculation to Clause 7. The flow leaving the outlet is then a second source, and Equation (43) adds it to the trim inside the pipe: the band_internal_level of the result is the sum of the two, and the transmission loss and the external level follow from that sum. |
Returns: An AerodynamicValveNoise carrying every printed intermediate as well as the level at 1 m.
Raises
| Exception | When |
|---|---|
| ValueError | If a value is outside the range its equation is written for. |
valve_style_modifier
Section titled “valve_style_modifier”valve_style_modifier( passage_area: float, wetted_perimeter: float, passages: int,) -> floatThe valve style modifier of Equations (8a) to (8c).
compares the hydraulic diameter of one flow passage with the diameter of the single circular orifice that would pass the same total area. A cage full of small holes has a small and a small jet; a single large port has near one.
Parameters
| Name | Description |
|---|---|
passage_area | , the area of a single flow passage, in m². |
wetted_perimeter | of that passage, in m. |
passages | , the number of independent flow passages. |
Returns: , dimensionless.
Raises
| Exception | When |
|---|---|
| ValueError | If an argument is not positive and finite, or if the passage count is not a whole number. |
ValveNoiseWarning
Section titled “ValveNoiseWarning”A valve read outside the conditions IEC 60534-8-3 prints for it.
ValveTrim
Section titled “ValveTrim”ValveTrim( flow_coefficient: float, style_modifier: float, pressure_recovery: float, outlet_diameter_m: float, efficiency_correction: float, strouhal_number: float, coefficient: str = 'Cv',)The valve, at the travel being examined.
Every field is a manufacturer’s datum except the last two, which Table 4 prints as typical values for a valve style and NOTE 1 to that table calls typical only.
Attributes
| Name | Description |
|---|---|
flow_coefficient | . |
style_modifier | , from valve_style_modifier. |
pressure_recovery | , or with attached fittings. |
outlet_diameter_m | of the valve outlet, in m. |
efficiency_correction | from Table 4. |
strouhal_number | from Table 4. |
coefficient | Which flow coefficient flow_coefficient is, "Cv" or "Kv", which selects from Table 1. |