vibration.immission.prediction
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.
Predicting vibration before it is measured (DIN 4150-1:2001-06).
Part 1 of DIN 4150 is the first question of the series: before a blast is fired, a pile driven or a line built, how much vibration will reach the building, and how much of it will the floors feel. It gives no recipe, and says so in its foreword; what it gives is the shape of every answer, the handful of constants experience has fixed, and twenty-seven figures of measured cases to show what the shapes look like in the ground. The shapes and the constants are here.
Propagation (Clause 4.2). Beyond the reference distance of Formula (1), half the source’s extent plus a surface wavelength, the velocity amplitude decays as
(Formula (2)): geometric spreading with an exponent that Figure 1 fixes at 0, 0,5, 1 or 1,5 by whether the source is a line or a point, harmonic or impulsive, and the wave a surface or a body wave; and material damping with , the damping ratio of the ground over the wavelength, which for loose ground may be taken as 0,01 at most in a preliminary estimate. Nearer than the formula does not hold. A train is a chain of point sources and decays with an exponent between 0,3 and 0,5.
Into the building (Clause 4.3). A building on the ground is a mass on a spring with the natural frequency of Formula (3), about 15 Hz for one or two storeys and under 8 Hz above six; the foundation passes at most of the ground’s amplitude at that frequency, 2 for the 0,25 of loose ground, and a mean of 0,5 above it, or all of it on rock; a floor amplifies by at most , 10 to 25 for a concrete floor; and the lowest horizontal natural frequency of a building of five storeys or more is about Hz (Formula (4)).
Sources (Clause 5). A blast in the far field follows (Formula (5)) with the charge per delay and constants from trial blasts; a falling mass follows the same with the root of its fall energy (Formula (6)); a hall of similar machines gives at a point where of them were measured (Formula (7)), with the correction of Figure 3, which is printed as a nomogram and is here as the nomogram read at a five-hundredth. Rail traffic excites at the speed over the spacing of whatever repeats along the track, sleepers first, and its vehicles have natural frequencies of their own.
What is not here. The measured cases of Annex A print their inputs and
their peaks and say themselves that they are not a basis for a prediction;
two of their figures are drawn from the formulas above with every parameter
printed, and those are the conformance rows. Two symbol lists print a
distance in millimetres, one working frequency has its sign the wrong way
and one legend swaps two line styles; all in docs/ERRATA.md.
Auto-generated from the source docstrings by
scripts/generate_api_docs.py(make api-docs). Do not edit by hand.
attenuation_coefficient_per_m
Section titled “attenuation_coefficient_per_m”attenuation_coefficient_per_m( damping_ratio: float, *, wavelength_m: float,) -> floatThe material damping of the ground, of Formula (2).
with the wavelength that matters. Figure A.19 prints 0,005 for a damping ratio of 0,01 and a wavelength of 12,5 m.
Parameters
| Name | Description |
|---|---|
damping_ratio | , not negative; 0,01 at most for loose ground in a preliminary estimate. |
wavelength_m | , in metres. |
Returns: , in reciprocal metres.
Raises
| Exception | When |
|---|---|
| ValueError | For a negative damping ratio or a non-positive wavelength. |
blast_peak_velocity_mm_s
Section titled “blast_peak_velocity_mm_s”blast_peak_velocity_mm_s( charge_kg: float, distance_m: ArrayLike, *, coefficient_mm_s: float, charge_exponent: float, distance_exponent: float,) -> NDArray[np.float64]The peak velocity of a blast in the far field, Formula (5).
with the charge per delay against 1 kg, the distance against 1 m, and the constants , and from trial blasts or comparable cases in ground, method and distance, with allowance for scatter. The standard prints no values for them. Its symbol list prints the distance in millimetres, which the reference metre says is a slip.
Parameters
| Name | Description |
|---|---|
charge_kg | , in kilograms per delay. |
distance_m | , in metres, one or many. |
coefficient_mm_s | , in millimetres per second. |
charge_exponent | . |
distance_exponent | . |
Returns: , one per distance, in millimetres per second.
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive charge, distance or coefficient, or a negative exponent. |
BLASTING_RELEVANT_DISTANCE_M
Section titled “BLASTING_RELEVANT_DISTANCE_M”Constant (mapping).
BLASTING_RELEVANT_DISTANCE_M = {'quarry': 1500.0, 'construction': 400.0}fall_energy_kj
Section titled “fall_energy_kj”fall_energy_kj(weight_kn: float, *, drop_height_m: float) -> floatThe energy of a falling mass, of Clause 5.1.3.
A weight in kilonewtons through a height in metres is that many kilojoules, the unit Formula (6) wants.
Parameters
| Name | Description |
|---|---|
weight_kn | , in kilonewtons. |
drop_height_m | , in metres. |
Returns: , in kilojoules.
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive weight or height. |
far_field_velocity_mm_s
Section titled “far_field_velocity_mm_s”far_field_velocity_mm_s( reference_velocity_mm_s: float, distance_m: ArrayLike, *, reference_distance_m: float, exponent: float, attenuation_per_m: float = 0.0,) -> NDArray[np.float64]The velocity amplitude at a distance in the far field, Formula (2).
: the amplitude at the reference distance, spread with the exponent of Figure 1 and damped with . Figure A.19 draws it for 0,44 mm/s at 13 m with = 0,005 for the three exponents 0, 0,5 and 1.
Parameters
| Name | Description |
|---|---|
reference_velocity_mm_s | , at , in millimetres per second. |
distance_m | , in metres, one or many, none nearer than . |
reference_distance_m | , in metres. |
exponent | , from geometric_exponent. |
attenuation_per_m | , from attenuation_coefficient_per_m; 0 (default) for no material damping. |
Returns: , one per distance, in millimetres per second.
Raises
| Exception | When |
|---|---|
| ValueError | For a negative amplitude, exponent or attenuation, a non-positive reference distance, or a distance in the near field. |
FLOOR_DAMPING_RATIO_RANGE
Section titled “FLOOR_DAMPING_RATIO_RANGE”Constant (tuple).
FLOOR_DAMPING_RATIO_RANGE = (0.02, 0.05)floor_transfer_max
Section titled “floor_transfer_max”floor_transfer_max(floor_damping_ratio: float) -> floatThe most a floor amplifies at its resonance, Clause 4.3.
, from the foundation through the walls to the floor, for a building excited in phase over its whole footprint by predominantly harmonic vibration: 25 for a concrete floor with a damping ratio of 0,02 and 10 for one with 0,05. Short spans, partitions and a foundation on loose ground raise the damping.
Parameters
| Name | Description |
|---|---|
floor_damping_ratio | , positive. |
Returns: .
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive damping ratio. |
FOUNDATION_TRANSFER_ABOVE_RESONANCE
Section titled “FOUNDATION_TRANSFER_ABOVE_RESONANCE”Constant (float).
FOUNDATION_TRANSFER_ABOVE_RESONANCE = 0.5foundation_transfer_max
Section titled “foundation_transfer_max”foundation_transfer_max(system_damping_ratio: float = 0.25) -> floatThe most a foundation passes at the building’s resonance, Clause 4.3.
with the system damping of the building on its
ground, 0,25 for loose ground, which gives 2. Above the resonance a
mean of FOUNDATION_TRANSFER_ABOVE_RESONANCE may be assumed, and
on rock there is no reduction.
Parameters
| Name | Description |
|---|---|
system_damping_ratio | , positive; 0,25 by default. |
Returns: .
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive damping ratio. |
geometric_exponent
Section titled “geometric_exponent”geometric_exponent(*, geometry: str, character: str, wave: str) -> floatThe exponent of Formula (2) for a source and a wave, Figure 1.
Parameters
| Name | Description |
|---|---|
geometry | "point" or "line". |
character | "harmonic" (stationary) or "impulsive". |
wave | "surface" or "body". |
Returns: : 0, 0,5, 1 or 1,5.
Raises
| Exception | When |
|---|---|
| ValueError | For an unknown geometry, character or wave. |
impact_peak_velocity_mm_s
Section titled “impact_peak_velocity_mm_s”impact_peak_velocity_mm_s( fall_energy_kj: float, distance_m: ArrayLike, *, coefficient_mm_s: float, distance_exponent: float,) -> NDArray[np.float64]The peak velocity of a falling mass, Formula (6).
with the fall energy against 1 kJ, the distance against 1 m, and and from comparable cases. The blast that fells a chimney is usually the smaller source; the impact is this one.
Parameters
| Name | Description |
|---|---|
fall_energy_kj | , in kilojoules, from fall_energy_kj. |
distance_m | , in metres, one or many. |
coefficient_mm_s | , in millimetres per second. |
distance_exponent | . |
Returns: , one per distance, in millimetres per second.
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive energy, distance or coefficient, or a negative exponent. |
LOOSE_GROUND_DAMPING_RATIO
Section titled “LOOSE_GROUND_DAMPING_RATIO”Constant (float).
LOOSE_GROUND_DAMPING_RATIO = 0.01LOOSE_GROUND_SYSTEM_DAMPING
Section titled “LOOSE_GROUND_SYSTEM_DAMPING”Constant (float).
LOOSE_GROUND_SYSTEM_DAMPING = 0.25MACHINE_COUNT_AXIS
Section titled “MACHINE_COUNT_AXIS”Constant (tuple).
MACHINE_COUNT_AXIS = (4, 5, 6, 8, 10, 15, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 100)MACHINE_COUNT_CORRECTION
Section titled “MACHINE_COUNT_CORRECTION”Constant (mapping).
MACHINE_COUNT_CORRECTION = {3: (0.551, 0.537, 0.519, 0.496, 0.471, 0.423, 0.383, 0.36, 0.336, 0.323, 0.309, 0.3, 0.292, 0.289, 0.289, 0.289, 0.286), 5: (0.455, 0.444, 0.427, 0.406, 0.386, 0.342, 0.308, 0.292, 0.276, 0.264, 0.256, 0.245, 0.239, 0.238, 0.236, 0.234, 0.234), 10: (0.365, 0.355, 0.342, 0.327, 0.308, 0.28, 0.252, 0.239, 0.225, 0.216, 0.207, 0.2, 0.193, 0.192, 0.192, 0.191, 0.189), 30: (0.292, 0.283, 0.273, 0.258, 0.243, 0.22, 0.2, 0.188, 0.176, 0.169, 0.164, 0.157, 0.153, 0.153, 0.151, 0.15, 0.149), 60: (0.242, 0.239, 0.23, 0.22, 0.207, 0.189, 0.17, 0.158, 0.148, 0.142, 0.136, 0.13, 0.127, 0.127, 0.126, 0.125, 0.125), 100: (0.189, 0.188, 0.18, 0.173, 0.161, 0.147, 0.134, 0.125, 0.117, 0.111, 0.108, 0.1, 0.1, 0.1, 0.1, 0.1, 0.099)}machine_count_correction
Section titled “machine_count_correction”machine_count_correction( machine_count: ArrayLike, *, reference_count: int,) -> NDArray[np.float64]The correction of Formula (7), Figure 3.
The figure draws against the number of machines running, from 4 to 100, for measurements made with 3, 5, 10, 30, 60 or 100 of them, and prints no closed form; the curve is read off the page at a five-hundredth and interpolated linearly between the readings.
Parameters
| Name | Description |
|---|---|
machine_count | , from 4 to 100, one or many. |
reference_count | , one of the six curves. |
Returns: , one per count.
Raises
| Exception | When |
|---|---|
| ValueError | For a count outside the figure or a reference the figure has no curve for. |
MACHINE_FREQUENCY_BANDS_HZ
Section titled “MACHINE_FREQUENCY_BANDS_HZ”Constant (mapping).
MACHINE_FREQUENCY_BANDS_HZ = {'counter_blow_hammer': (4.0, 8.0), 'forging_press_horizontal': (5.0, 15.0), 'frame_saw': (4.0, 8.0)}machine_hall_velocity_mm_s
Section titled “machine_hall_velocity_mm_s”machine_hall_velocity_mm_s( reference_velocity_mm_s: float, machine_count: ArrayLike, *, reference_count: int,) -> NDArray[np.float64]The peak velocity outside a hall of similar machines, Formula (7).
: the velocity measured at the point with machines running, scaled to of them with the correction of Figure 3. Figure A.18 draws it for 0,44 mm/s measured with three machines and finds the measurements on the curve up to about sixty, the nearest group; beyond that the added groups are further off.
Parameters
| Name | Description |
|---|---|
reference_velocity_mm_s | , in millimetres per second. |
machine_count | , from 4 to 100, one or many. |
reference_count | , one of 3, 5, 10, 30, 60 or 100. |
Returns: , one per count, in millimetres per second.
Raises
| Exception | When |
|---|---|
| ValueError | For a negative velocity, or a count or reference outside Figure 3. |
material_damping_factor
Section titled “material_damping_factor”material_damping_factor( distance_m: ArrayLike, *, damping_ratio: float, frequency_hz: float, wave_speed_m_s: float,) -> NDArray[np.float64]The share the ground absorbs over a distance, Figure 2.
, the damping factor of Formula (2) alone, which Figure 2 draws for a damping ratio of 0,01 and a wave speed of 200 m/s from 10 Hz to 50 Hz: at 100 m the ground has taken 27 % of the amplitude at 10 Hz and 79 % at 50 Hz.
Parameters
| Name | Description |
|---|---|
distance_m | , in metres, one or many, not negative. |
damping_ratio | , not negative. |
frequency_hz | , in hertz. |
wave_speed_m_s | , in metres per second. |
Returns: The factor, one per distance, between 0 and 1.
Raises
| Exception | When |
|---|---|
| ValueError | For a negative distance or damping ratio, or a non-positive frequency or wave speed. |
MEDIUM_SOIL_SHEAR_WAVE_SPEED_M_S
Section titled “MEDIUM_SOIL_SHEAR_WAVE_SPEED_M_S”Constant (tuple).
MEDIUM_SOIL_SHEAR_WAVE_SPEED_M_S = (150.0, 200.0)RAIL_INFLUENCE_RANGE_M
Section titled “RAIL_INFLUENCE_RANGE_M”Constant (float).
RAIL_INFLUENCE_RANGE_M = 80.0RAIL_SUPPORT_SPACING_M
Section titled “RAIL_SUPPORT_SPACING_M”Constant (tuple).
RAIL_SUPPORT_SPACING_M = (0.6, 0.9)reference_distance_m
Section titled “reference_distance_m”reference_distance_m( source_extent_m: float, *, rayleigh_wavelength_m: float,) -> floatThe distance the far field begins at, Formula (1).
: half the extent of the source along the direction of propagation plus a wavelength of the surface wave. Nearer than it Formula (2) does not hold.
Parameters
| Name | Description |
|---|---|
source_extent_m | , in metres, not negative. |
rayleigh_wavelength_m | , in metres. |
Returns: , in metres.
Raises
| Exception | When |
|---|---|
| ValueError | For a negative extent or a non-positive wavelength. |
soil_building_frequency_guide_hz
Section titled “soil_building_frequency_guide_hz”soil_building_frequency_guide_hz(storeys: int) -> tuple[float, float]The natural frequency Clause 4.3 gives a building on medium ground.
About 15 Hz for one or two storeys, 8 Hz to 12 Hz for two to six, under 8 Hz above six, for a ground with a shear wave speed of 150 m/s to 200 m/s. The clause prints two storeys in both ranges, so a two-storey building gets the union, 8 Hz to 15 Hz.
Parameters
| Name | Description |
|---|---|
storeys | The number of storeys, at least one. |
Returns: (low, high) in hertz; the low bound is 0 above six storeys and both are 15 for a single storey.
Raises
| Exception | When |
|---|---|
| ValueError | For fewer than one storey or a count that is not whole. |
soil_building_natural_frequency_hz
Section titled “soil_building_natural_frequency_hz”soil_building_natural_frequency_hz( stiffness_n_per_m: float, *, mass_kg: float,) -> floatThe natural frequency of a building on its ground, Formula (3).
: the ground as a spring under the mass of the building that moves in phase, for the vertical direction and predominantly harmonic vibration in the lower frequency range.
Parameters
| Name | Description |
|---|---|
stiffness_n_per_m | , the spring stiffness of the ground, in newtons per metre. |
mass_kg | , in kilograms. |
Returns: , in hertz.
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive stiffness or mass. |
SOURCE_EXPONENTS
Section titled “SOURCE_EXPONENTS”Constant (mapping).
SOURCE_EXPONENTS = {('line', 'harmonic', 'surface'): 0.0, ('line', 'harmonic', 'body'): 0.5, ('point', 'harmonic', 'surface'): 0.5, ('line', 'impulsive', 'surface'): 0.5, ('point', 'harmonic', 'body'): 1.0, ('line', 'impulsive', 'body'): 1.0, ('point', 'impulsive', 'surface'): 1.0, ('point', 'impulsive', 'body'): 1.5}STOREY_FORMULA_MIN_STOREYS
Section titled “STOREY_FORMULA_MIN_STOREYS”Constant (int).
STOREY_FORMULA_MIN_STOREYS = 5storey_frequency_hz
Section titled “storey_frequency_hz”storey_frequency_hz(storeys: int) -> floatThe lowest horizontal natural frequency of a building, Formula (4).
Hz for a building of storeys, meant for five and more, where a tall slender building meets a low excitation frequency.
Parameters
| Name | Description |
|---|---|
storeys | , at least five. |
Returns: , in hertz.
Raises
| Exception | When |
|---|---|
| ValueError | For fewer than five storeys. |
track_excitation_frequency_hz
Section titled “track_excitation_frequency_hz”track_excitation_frequency_hz( train_speed_m_s: float, *, spacing_m: float, harmonics: int = 1,) -> NDArray[np.float64]The frequencies a repeating feature of the track excites, Clause 5.3.2.
and its multiples, for the spacing of whatever repeats along the track or the wheel: the sleepers, the axles, the bogies, a flat spot once per turn of the wheel. The natural frequencies of the vehicle itself do not move with the speed.
Parameters
| Name | Description |
|---|---|
train_speed_m_s | , in metres per second. |
spacing_m | , in metres. |
harmonics | How many multiples to return, the fundamental first. |
Returns: and its multiples, in hertz.
Raises
| Exception | When |
|---|---|
| ValueError | For a non-positive speed or spacing, or fewer than one harmonic. |
TRACK_TRANSMITTED_BANDS_HZ
Section titled “TRACK_TRANSMITTED_BANDS_HZ”Constant (mapping).
TRACK_TRANSMITTED_BANDS_HZ = {'ballast': (40.0, 80.0), 'under_ballast_mat': (15.0, 40.0), 'mass_spring': (5.0, 20.0)}TRAIN_CHAIN_EXPONENT_RANGE
Section titled “TRAIN_CHAIN_EXPONENT_RANGE”Constant (tuple).
TRAIN_CHAIN_EXPONENT_RANGE = (0.3, 0.5)VEHICLE_NATURAL_FREQUENCIES_HZ
Section titled “VEHICLE_NATURAL_FREQUENCIES_HZ”Constant (mapping).
VEHICLE_NATURAL_FREQUENCIES_HZ = {'car_body': (1.0, 3.0), 'bogie': (6.0, 10.0)}