Ir al contenido
Esta documentación describe la versión 4.0.0, todavía sin publicar. La versión actual en PyPI es la 3.3.0 y no incluye todo lo que se describe aquí.

vibration.immission.ground

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.

The elastic properties of the ground from its wave speeds (DIN 45672-1:2009-12).

DIN 45672-1 is the method of measuring vibration next to a railway line, and nearly all of it is procedure: where to put the transducers, which directions, which trains, what to write down. Its Clause 4.5 is the exception. The ground the vibration travels through is described by the speeds of its compression and shear waves, and from those two speeds and the density the clause gives the shear modulus, Poisson’s ratio and the elastic modulus, and the shear strain a vibration puts into the soil.

Why two speeds are enough. An unbounded elastic continuum carries two kinds of wave, and their speeds are fixed by two elastic constants and the density: for the shear wave (Formula (2)) and for the compression wave. So measuring both speeds fixes and , and with them every other constant. always; the ratio decides Poisson’s ratio (Formula (3)).

Why a small strain. The shear modulus of a soil falls as the strain grows: Figure 1 has it constant up to a shear strain of about and dropping below 20 % of that value further on. The experiments of the clause and the vibration of rail traffic both strain the ground around , so the modulus measured is the small-strain maximum and the one that applies. The strain itself is the velocity amplitude over the shear-wave speed (Formula (4)).

Two formulas that are printed wrong. Formula (1) writes the compression speed as , which is the speed in a thin rod, and as , which is short of a factor 2; Formula (5) builds on the first and writes . Both contradict Formula (3) of the same clause, which is right, and the two expressions of Formula (1) only agree with each other at . This module uses the relations of the continuum, which is what Formula (3) is derived from, and the defect is registered in docs/ERRATA.md.

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

compression_wave_speed(
shear_modulus_pa: float,
*,
poisson_ratio: float,
density_kg_m3: float,
) -> float

The compression-wave speed of a continuum, Formula (1) corrected, in m/s.

, the speed of a P-wave in an unbounded medium, whose inverse is Formula (3). Formula (1) prints the radicand without the factor 2, which gives a speed too slow at every Poisson’s ratio.

Parameters

NameDescription
shear_modulus_pa, in pascals.
poisson_ratio, above -1 and below 0,5.
density_kg_m3, in kilograms per cubic metre.

Returns: , in metres per second.

Raises

ExceptionWhen
ValueErrorFor a non-positive modulus or density, or a ratio outside (-1, 0.5), where the continuum would not be stable.

Constant (mapping).

GROUND_WAVE_SPEED_RANGES_M_S = {'compression': (200.0, 2000.0), 'shear': (10.0, 1000.0)}
poisson_ratio_from_wave_speeds(
compression_wave_speed_m_s: float,
shear_wave_speed_m_s: float,
) -> float

Poisson’s ratio from the two wave speeds, Formula (3).

, the inversion of the continuum relations and the formula of Clause 4.5.1 that is printed right.

Parameters

NameDescription
compression_wave_speed_m_s, in metres per second.
shear_wave_speed_m_s, in metres per second.

Returns: , between -1 and 0,5. It is positive when exceeds , as it does in every soil; a pair between and gives the negative ratio a continuum allows and a soil does not show.

Raises

ExceptionWhen
ValueErrorFor a non-positive speed, or a compression wave no faster than times the shear wave, which no stable continuum carries.
shear_modulus_from_wave_speed(
shear_wave_speed_m_s: float,
*,
density_kg_m3: float,
) -> float

The shear modulus , Formula (5), in pascals.

Parameters

NameDescription
shear_wave_speed_m_s, in metres per second.
density_kg_m3, in kilograms per cubic metre.

Returns: , in pascals.

Raises

ExceptionWhen
ValueErrorFor a non-positive speed or density.
shear_strain_amplitude(
velocity_amplitude_m_s: float,
*,
shear_wave_speed_m_s: float,
) -> float

The shear strain amplitude , Formula (4).

Compare it with SHEAR_STRAIN_LINEAR_LIMIT to know whether the small-strain modulus still applies.

Parameters

NameDescription
velocity_amplitude_m_s, the velocity amplitude, in metres per second (not millimetres: the strain is a ratio of the two speeds).
shear_wave_speed_m_s, in metres per second.

Returns: , in radians.

Raises

ExceptionWhen
ValueErrorFor a negative amplitude or a non-positive speed.

Constant (float).

SHEAR_STRAIN_LINEAR_LIMIT = 0.0001
youngs_modulus_from_wave_speeds(
compression_wave_speed_m_s: float,
shear_wave_speed_m_s: float,
*,
density_kg_m3: float,
) -> float

The elastic modulus from the two wave speeds, in pascals.

, which is what Formula (5) means. As printed it reads , the thin-rod relation, and that overstates the modulus of a soil with by 35 % and of one with by a factor of 3,8.

Parameters

NameDescription
compression_wave_speed_m_s, in metres per second.
shear_wave_speed_m_s, in metres per second.
density_kg_m3, in kilograms per cubic metre.

Returns: , in pascals.

Raises

ExceptionWhen
ValueErrorAs poisson_ratio_from_wave_speeds, or for a non-positive density.