A resilient layer is a catalogue row, and the dynamic-stiffness functions name their units (#865)
* A resilient layer is a catalogue row, and the dynamic-stiffness functions name their units
ResilientLayer is now an io.CatalogueRow like every other published row: its
quantities are optional, it carries the hedges a page can print in place of a
number, and Hopkins Table A3 moves out of the module into
materials/resilient/data/hopkins-2007-table-a3.json. PUBLISHED_RESILIENT_LAYERS
is keyed "hopkins-2007-table-a3/<row>" like every catalogue, and the credit of
the four rebond foams is attributed_to["row"].
The row gains apparent_dynamic_stiffness_n_m3, the apparent stiffness s't of a
test specimen, beside dynamic_stiffness_n_m3, the s' of the installed layer
that Formula 2 takes. The heading of Table A3 prints s', which the book's List
of symbols (PDF page 23, printed p. xxii) defines as the stiffness of the
installed material and keeps apart from the apparent s't, and Section
3.11.3.1.2 (PDF page 387, printed p. 360) uses the two the same way. So the
fifteen rows keep their values in dynamic_stiffness_n_m3, every number they
returned before they return now, and no packaged row holds an s't; the module
banner and the reference data stop calling them s't.
A layer that gives only s't goes through EN 29052-1 clause 8.2 on its way to
Formula 2. natural_frequency takes the lateral airflow resistivity as
airflow_resistivity_pa_s_m2, in the unit every catalogue holds it in, divides
it by a thousand for the kPa thresholds (which moves no value across either
threshold), and below 100 kPa s/m2 takes the enclosed-gas stiffness as
gas_stiffness_n_m3. Without the resistivity it refuses with CatalogueError,
saying that s't is not s' and what to pass. A layer that gives s' refuses the
two keywords, since nothing would read them.
The functions of the module name their units: resonant_frequency_hz,
total_mass_per_area_kg_m2, thickness_m, apparent_stiffness_n_m3,
airflow_resistivity_kpa_s_m2, gas_stiffness_n_m3, dynamic_stiffness_n_m3,
mass_per_area_kg_m2 and floor_mass_per_area_kg_m2. The resistivity of
installed_dynamic_stiffness is taken by name only, because it is the one
quantity here in kPa s/m2, and below 100 kPa s/m2 a missing gas term is no
longer read as zero. There are no aliases; the migration guide lists every
rename.
The catalogue page generator sends the resilient layers through the same
section() as every other row type instead of building their keys and credit
by hand, and the page data it writes is byte for byte what it was. The golden
fingerprint gains a step that re-keys the fifteen rows, names their table and
turns the credit into a mapping, and a test pins that it moves those rows and
nothing else.
* A bound on a layer's s't is refused by name, and Table A3's blank densities say where they come from
A resilient layer whose apparent stiffness s't is a declared bound, with no
value of s' either, used to fall through to the refusal for s' and say the
page gave no stiffness at all. It now names the s't cell and its bound and
says why no resistivity or gas term turns it into s'. A row that gives s'
refuses the enclosed-gas stiffness passed on its own, as it already refused
the resistivity, and both refusals are tested.
Hopkins Table A3 prints four densities once for a block of rows and leaves
the cell blank on another row of it. Those four rows now carry the figure
marked carried, naming the row that prints it, as Ver and Beranek Table 8.7
does, and the catalogue page shows them as carried with the same values. The
fingerprint step for the resilient layers lists them.
The guide says what a test report gives under EN 29052-1 clause 9 e), s't
and s'a with s' only if possible, takes the thickness of Formula 7 under the
test load that clause 9 b) has the report state, shows the refusal as it
prints, and quotes Hopkins for how large the enclosed-gas term can be.
A resilient layer is a catalogue row, and the dynamic-stiffness functions name their units (#865)
* A resilient layer is a catalogue row, and the dynamic-stiffness functions name their units
ResilientLayer is now an io.CatalogueRow like every other published row: its
quantities are optional, it carries the hedges a page can print in place of a
number, and Hopkins Table A3 moves out of the module into
materials/resilient/data/hopkins-2007-table-a3.json. PUBLISHED_RESILIENT_LAYERS
is keyed "hopkins-2007-table-a3/<row>" like every catalogue, and the credit of
the four rebond foams is attributed_to["row"].
The row gains apparent_dynamic_stiffness_n_m3, the apparent stiffness s't of a
test specimen, beside dynamic_stiffness_n_m3, the s' of the installed layer
that Formula 2 takes. The heading of Table A3 prints s', which the book's List
of symbols (PDF page 23, printed p. xxii) defines as the stiffness of the
installed material and keeps apart from the apparent s't, and Section
3.11.3.1.2 (PDF page 387, printed p. 360) uses the two the same way. So the
fifteen rows keep their values in dynamic_stiffness_n_m3, every number they
returned before they return now, and no packaged row holds an s't; the module
banner and the reference data stop calling them s't.
A layer that gives only s't goes through EN 29052-1 clause 8.2 on its way to
Formula 2. natural_frequency takes the lateral airflow resistivity as
airflow_resistivity_pa_s_m2, in the unit every catalogue holds it in, divides
it by a thousand for the kPa thresholds (which moves no value across either
threshold), and below 100 kPa s/m2 takes the enclosed-gas stiffness as
gas_stiffness_n_m3. Without the resistivity it refuses with CatalogueError,
saying that s't is not s' and what to pass. A layer that gives s' refuses the
two keywords, since nothing would read them.
The functions of the module name their units: resonant_frequency_hz,
total_mass_per_area_kg_m2, thickness_m, apparent_stiffness_n_m3,
airflow_resistivity_kpa_s_m2, gas_stiffness_n_m3, dynamic_stiffness_n_m3,
mass_per_area_kg_m2 and floor_mass_per_area_kg_m2. The resistivity of
installed_dynamic_stiffness is taken by name only, because it is the one
quantity here in kPa s/m2, and below 100 kPa s/m2 a missing gas term is no
longer read as zero. There are no aliases; the migration guide lists every
rename.
The catalogue page generator sends the resilient layers through the same
section() as every other row type instead of building their keys and credit
by hand, and the page data it writes is byte for byte what it was. The golden
fingerprint gains a step that re-keys the fifteen rows, names their table and
turns the credit into a mapping, and a test pins that it moves those rows and
nothing else.
* A bound on a layer's s't is refused by name, and Table A3's blank densities say where they come from
A resilient layer whose apparent stiffness s't is a declared bound, with no
value of s' either, used to fall through to the refusal for s' and say the
page gave no stiffness at all. It now names the s't cell and its bound and
says why no resistivity or gas term turns it into s'. A row that gives s'
refuses the enclosed-gas stiffness passed on its own, as it already refused
the resistivity, and both refusals are tested.
Hopkins Table A3 prints four densities once for a block of rows and leaves
the cell blank on another row of it. Those four rows now carry the figure
marked carried, naming the row that prints it, as Ver and Beranek Table 8.7
does, and the catalogue page shows them as carried with the same values. The
fingerprint step for the resilient layers lists them.
The guide says what a test report gives under EN 29052-1 clause 9 e), s't
and s'a with s' only if possible, takes the thickness of Formula 7 under the
test load that clause 9 b) has the report state, shows the refusal as it
prints, and quotes Hopkins for how large the enclosed-gas term can be.