Skip to content

vibration.point_mobility

Point mobilities and impedances of infinite structures (Cremer, Heckl & Petersson 2005, Chapter 5, Table 5.1).

The point mobility Y of a structure is the complex ratio of the velocity response at a driving point to the point force that produces it, and its reciprocal is the point impedance Z = 1/Y (the same motion-per-force / force-per-motion pair as ISO 7626-1 mechanical mobility, so these theoretical values slot straight into MobilityResult and convert_frf). For an infinite structure the driving point never sees a reflected wave, so the mobility is the free-field value that sets the vibrational power a source injects (Cremer 5.5): with a point force of amplitude F the time-averaged injected power is (Cremer Eq. 5.23):

W = 0.5 * |F|**2 * Re{Y} [W]

These are the theoretical companions of the measured driving-point mobilities of ISO 7626 and the isolator transfer stiffnesses of ISO 10846, and they supply the receiver mobility that the installed structure-borne prediction of EN 12354-5 needs when no measurement is available.

Compilation (Cremer Table 5.1). With m' the mass per unit length (kg/m), m'' the mass per unit area (kg/m^2), B the bending stiffness of a beam (N.m^2) and B' the bending stiffness of a plate per unit width (N.m):

=============================== ========================= ============= Structure (point force) Impedance Z Mobility Y =============================== ========================= ============= Longitudinal rod rho cL S 1/(rho cL S) Slender beam, bending, centre 2 m' cB (1 + j) (1 - j)/(4 m' cB) Slender beam, bending, end (m' cB / 2)(1 + j) (1 - j)/(m' cB) Thin plate, bending, centre 8 sqrt(B' m'') 1/(8 sqrt(B' m'')) Thin plate, bending, edge 3.5 sqrt(B' m'') 1/(3.5 sqrt(B' m'')) =============================== ========================= =============

The thin-plate driving-point impedance Z = 8 sqrt(B' m'') is real and frequency independent (the plate behaves as a pure resistance to a point force), so a plate absorbs power like a matched resistance. The beam impedance grows as cB = (B omega**2 / m')**(1/4) (the bending wave speed), so its mobility falls as omega**(-1/2); the (1 - j) factor means half the input goes into a reactive near field. A moment excitation of the beam has the mobility (Cremer Eq. 5.75) Y_M = omega (1 + j) / (4 B kB) with kB = omega / cB the bending wavenumber.

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

infinite_beam_mobility(
frequency: ArrayLike,
bending_stiffness: float,
mass_per_length: float,
*,
location: str = 'centre',
) -> NDArray[np.complex128]

Point mobility of an infinite beam in bending (Cremer Table 5.1).

Y = (1 - j) / (4 m' cB) for a force at the centre and Y = (1 - j) / (m' cB) for a force at a free end, the reciprocal of infinite_beam_impedance. The mobility falls as omega**(-1/2).

Parameters

NameDescription
frequencyFrequency f, in hertz (scalar or array, > 0).
bending_stiffnessBeam bending stiffness B = E I, in N.m^2.
mass_per_lengthMass per unit length m', in kg/m.
location"centre" or "end".

Returns: The complex point mobility Y, in m/(N.s).

Raises

ExceptionWhen
ValueErrorfor a non-positive input or unknown location.
infinite_beam_moment_mobility(
frequency: ArrayLike,
bending_stiffness: float,
mass_per_length: float,
) -> NDArray[np.complex128]

Moment (rotational) mobility of an infinite beam (Cremer Eq. 5.75).

Y_M = omega (1 + j) / (4 B kB) with the bending wavenumber kB = omega / cB, the angular velocity per unit applied moment at the driving point.

Parameters

NameDescription
frequencyFrequency f, in hertz (scalar or array, > 0).
bending_stiffnessBeam bending stiffness B = E I, in N.m^2.
mass_per_lengthMass per unit length m', in kg/m.

Returns: The complex moment mobility Y_M, in rad/(N.m.s).

Raises

ExceptionWhen
ValueErrorfor a non-positive input.
infinite_beam_point_mobility(
frequency: ArrayLike,
bending_stiffness: float,
mass_per_length: float,
*,
location: str = 'centre',
) -> MobilityResult

Infinite-beam point mobility bundled as a MobilityResult.

Parameters

NameDescription
frequencyFrequencies f, in hertz (array, > 0).
bending_stiffnessBeam bending stiffness B = E I, in N.m^2.
mass_per_lengthMass per unit length m', in kg/m.
location"centre" or "end".

Returns: The MobilityResult (driving point).

infinite_plate_impedance(
bending_stiffness: float,
mass_per_area: float,
*,
location: str = 'centre',
) -> float

Point impedance of an infinite thin plate (Cremer Table 5.1).

Z = C sqrt(B' m'') with C = 8 for a force at the plate centre and C = 3.5 for a force at a free edge. The impedance is purely real and frequency independent: an infinite plate presents a matched resistance to a point force.

Parameters

NameDescription
bending_stiffnessPlate bending stiffness per unit width B', in N.m (see plate_bending_stiffness).
mass_per_areaMass per unit area m'', in kg/m^2.
location"centre" (C = 8) or "edge" (C = 3.5).

Returns: The point impedance Z, in N.s/m.

Raises

ExceptionWhen
ValueErrorfor a non-positive stiffness/mass or unknown location.
infinite_plate_mobility(
bending_stiffness: float,
mass_per_area: float,
*,
location: str = 'centre',
) -> float

Point mobility of an infinite thin plate Y = 1 / (C sqrt(B' m'')).

The reciprocal of infinite_plate_impedance (real, frequency independent).

Parameters

NameDescription
bending_stiffnessPlate bending stiffness per unit width B', in N.m.
mass_per_areaMass per unit area m'', in kg/m^2.
location"centre" (C = 8) or "edge" (C = 3.5).

Returns: The point mobility Y, in m/(N.s).

Raises

ExceptionWhen
ValueErrorfor a non-positive stiffness/mass or unknown location.
infinite_plate_point_mobility(
frequency: ArrayLike,
bending_stiffness: float,
mass_per_area: float,
*,
location: str = 'centre',
) -> MobilityResult

Infinite-plate point mobility bundled as a MobilityResult.

The plate mobility is frequency independent, so the returned spectrum is constant across frequency; bundling it lets it be plotted and converted with the ISO 7626 mobility machinery.

Parameters

NameDescription
frequencyFrequencies f, in hertz (array, > 0).
bending_stiffnessPlate bending stiffness per unit width B', in N.m.
mass_per_areaMass per unit area m'', in kg/m^2.
location"centre" or "edge".

Returns: The MobilityResult (driving point).

injected_power(force: ArrayLike, mobility: ArrayLike) -> NDArray[np.float64]

Time-averaged vibrational power injected by a point force (Cremer 5.23).

W = 0.5 |F|**2 Re{Y}: only the real part (conductance) of the mobility carries power; the reactive part stores near-field energy.

Parameters

NameDescription
forcePoint-force amplitude F (peak, scalar or array), in N.
mobilityComplex point mobility Y (broadcast with force), in m/(N.s).

Returns: The injected power W, in W.

longitudinal_rod_impedance(
density: float,
longitudinal_wave_speed: float,
cross_section_area: float,
) -> float

Point impedance of an infinite rod in longitudinal motion (Table 5.1).

Z = rho cL S, real and frequency independent.

Parameters

NameDescription
densityMaterial density rho, in kg/m^3.
longitudinal_wave_speedLongitudinal wave speed cL, in m/s.
cross_section_areaCross-section area S, in m^2.

Returns: The point impedance Z, in N.s/m.

Raises

ExceptionWhen
ValueErrorfor a non-positive input.
plate_bending_stiffness(
youngs_modulus: float,
thickness: float,
poisson_ratio: float = 0.0,
) -> float

Bending stiffness of a thin plate per unit width (Cremer Eq. 4.22).

B' = E h**3 / (12 (1 - nu**2)), the plate bending stiffness B' in N.m used throughout this module and by the coincidence frequency of phonometry.vibration.radiation_efficiency.coincidence_frequency.

Parameters

NameDescription
youngs_modulusYoung’s modulus E of the plate material, in Pa.
thicknessPlate thickness h, in m.
poisson_ratioPoisson’s ratio nu (Default: 0.0).

Returns: The bending stiffness per unit width B', in N.m.

Raises

ExceptionWhen
ValueErrorfor a non-positive modulus/thickness or |nu| >= 1.
Created and maintained by· GitHub· PyPI· All projects