Ir al contenido

building.prediction.linings

La referencia de la API se publica en inglés en los dos idiomas: se genera a partir de los docstrings del código, que son su texto original.

Prediction of wall and ceiling linings: the weighted improvement an additional layer gives the element behind it (ISO 12354-1:2017 Annex D).

A lining is not a floor covering. It is added to a wall or a ceiling, not laid under a tapping machine, and what it changes is the airborne sound reduction index of the basic element it is fixed to. Annex D therefore rates it as a shift of a single number rather than as a spectrum, and it reads that shift off one quantity: the mass-spring resonance of the lining against the element. That single frequency is what makes the annex one subject and this module one file.

A lining improves or degrades the sound insulation depending on where its resonance falls, so Annex D predicts the weighted improvement from fo alone: Formula (D.1) for a layer bonded directly to the wall, Formula (D.2) for one on studs over a filled cavity, then Table D.1 for interior linings (weighted_lining_improvement), Formulae (D.3) to (D.6) for exterior thermal systems and (D.7) for stud systems (lining_improvement), and Formula (D.8) to carry a laboratory rating to the field (lining_improvement_in_situ).

Citations are to ISO 12354-1:2017. One printed defect is relevant here and is recorded in docs/ERRATA.md: the overlap of the last two rows of Table D.1 at 1 600 Hz.

Several relations used here carry no published worked example, so they are implemented as printed and checked only for self-consistency: the cavity stiffness of Formula (D.2) and the exterior-system and stud fits of Formulae (D.3) to (D.8). The guide “Predicting Resilient-Layer Performance” says which pieces have an oracle and which do not.

Auto-generated from the source docstrings by scripts/generate_api_docs.py (make api-docs). Do not edit by hand.

lining_improvement(
resonance_frequency: float,
*,
system: LiningSystem = 'mineral_wool',
anchors: bool = False,
glued_area: float | None = None,
) -> LiningImprovementResult

Single-number ratings of an additional layer (Formulae D.3 to D.7).

For the reference situation of ISO 12354-1:2017 Annex D, a system applied to a heavy basic wall of about 350 kg/m²:

  • system="mineral_wool" (Formula D.3), an exterior thermal system on mineral wool with 40 % glued area and no anchors: , , , each floored at −4 dB.
  • system="foam" (Formula D.4), the same on PS, EPS or EEPS foams: , , , floored at −3 dB.
  • system="studs" (Formula D.7), a layer on studs not directly fixed to the basic wall: , , , floored at −4 dB.

anchors=True applies Formula (D.5) for 4 to 10 anchors or battens per m² ( and its two companions), and glued_area applies Formula (D.6), , for a glued area other than the 40 % reference. Both corrections are applied after the floor of the reference formula, in the order the annex states them.

The annex places the dB (or dB) floor inside Formulae (D.3) and (D.4) and says nothing about re-applying it after (D.5) and (D.6), so this function does not: a fully glued system on anchors can return about −6.8 dB, below the reference floor. That is the annex read literally, and the reason the two corrections are exposed as flags rather than folded into the fit.

Parameters

NameDescription
resonance_frequencyResonance frequency fo, in Hz (lining_resonance_frequency).
system"mineral_wool", "foam" or "studs".
anchorsApply the Formula (D.5) anchor/batten correction.
glued_areaGlued area %So as a percentage of the element area, greater than 0 and at most 100, or None to keep the 40 % reference. Formula (D.6) divides by the glued area, so a wholly unglued system is not a case of it: use anchors for a mechanically fixed lining. It corrects the glued exterior systems only, so it is rejected for system="studs".

Returns: A LiningImprovementResult.

Raises

ExceptionWhen
ValueErrorIf an input is not positive and finite, system is unknown, or glued_area is out of range or combined with system="studs".
lining_improvement_in_situ(
laboratory_improvement: float,
resonance_frequency: float,
base_rating_in_situ: float,
) -> float

Transfer a weighted lining improvement to the field (Formula D.8).

Even when the per-band improvement is invariant, its single-number rating still depends on the basic element it sits on, so ISO 12354-1:2017 Formula (D.8) shifts the laboratory rating by with

, capped at 0, and , clamped to [−10, +7].

The same formula applies to ΔRw, ΔRA and ΔRA,tr.

Parameters

NameDescription
laboratory_improvementLaboratory rating ΔRlab measured to ISO 10140-1:2016 Annex G for the heavy basic element, in dB.
resonance_frequencyResonance frequency fo of the system, in Hz.
base_rating_in_situWeighted sound reduction index Rw,situ of the basic element in the field situation, in dB.

Returns: The field rating ΔRsitu, in dB.

Raises

ExceptionWhen
ValueErrorIf an input is not finite, or fo is not positive.
lining_resonance_frequency(
base_mass_per_area: float,
lining_mass_per_area: float,
*,
dynamic_stiffness: float | None = None,
cavity_depth: float | None = None,
) -> float

Resonance fo of a lining on a basic element (Formulae D.1/D.2).

Exactly one of the two branches applies:

  • dynamic_stiffness (Formula D.1), for an insulation layer fixed directly to the basic construction, without studs or battens: .
  • cavity_depth (Formula D.2), for a layer built on metal or wooden studs not connected to the basic element, with the cavity filled by a porous layer of airflow resistivity kPa·s/m²: , i.e. the near-isothermal stiffness of the filled cavity replaces s'.

Parameters

NameDescription
base_mass_per_areaMass per unit area m'1 of the basic structural element, in kg/m².
lining_mass_per_areaMass per unit area m'2 of the additional layer, in kg/m².
dynamic_stiffnessDynamic stiffness per unit area s' of the insulation layer (EN 29052-1), in N/m³.
cavity_depthDepth d of the stud cavity, in m.

Returns: The resonance frequency fo, in Hz.

Raises

ExceptionWhen
ValueErrorIf an input is not positive and finite, or if the two branches are both given or both omitted.
LiningImprovementResult(
resonance_frequency: float,
system: LiningSystem,
delta_rw: float,
delta_ra: float,
delta_ratr: float,
anchors: bool = False,
glued_area: float | None = None,
)

Single-number ratings of an additional layer (ISO 12354-1 Annex D).

Attributes

NameDescription
resonance_frequencyResonance frequency fo of the system, in Hz.
system"mineral_wool", "foam" (exterior systems glued to the wall, Formulae D.3/D.4) or "studs" (Formula D.7).
delta_rwImprovement of the weighted sound reduction index ΔRw, in dB.
delta_raImprovement of the A-weighted rating ΔRA, in dB.
delta_ratrImprovement of the traffic-weighted rating ΔRA,tr, in dB.
anchorsTrue when the Formula (D.5) anchor correction was applied.
glued_areaGlued area as a percentage of the element area, or None when the 40 % reference was kept.
LiningImprovementResult.plot(
ax: Axes | None = None,
*,
language: str = 'en',
**kwargs: Any,
) -> Axes

Plot the Annex D ratings against the resonance frequency.

Draws the three Annex D curves over the tabulated range with this system’s own resonance marked, the analogue of Figures D.2 and D.3. Requires matplotlib (pip install phonometry[plot]); returns the Axes.

property

(ΔRw, ΔRA, ΔRA,tr) as a tuple, in dB.

weighted_lining_improvement(
resonance_frequency: float,
base_rating: float,
) -> float

Weighted improvement ΔRw of an interior lining (Table D.1).

ISO 12354-1:2017 Table D.1 reads ΔRw off the lining’s resonance frequency, rounded to the centre of the one-third-octave band in which it falls. Below 200 Hz the improvement also depends on the bare element: , never below 0 dB (NOTE 1). At and above 200 Hz the lining degrades the insulation, by 1 dB at 200 Hz down to 10 dB from 630 Hz to 1 600 Hz, recovering to 5 dB from 1 600 Hz to 5 000 Hz.

Table D.1 is stated for basic elements with dB. Its last two rows both cover 1 600 Hz with different values; this function takes the more conservative −10 dB there (see docs/ERRATA.md).

Parameters

NameDescription
resonance_frequencyResonance frequency fo of the lining, in Hz (lining_resonance_frequency); must fall in the 30 Hz to 5 000 Hz range Table D.1 covers.
base_ratingWeighted sound reduction index Rw of the bare wall or floor, in dB.

Returns: The weighted improvement ΔRw, in dB.

Raises

ExceptionWhen
ValueErrorIf fo is outside the tabulated range or an input is not finite.