random_vibration
Compute random vibration response from a PSD input using Miles' equation and SRSS modal combination, returning RMS acceleration and stress plus a pass/fail check.
Instructions
Random-vibration response off a modal run (Miles' equation; closed-form, no
external solver). Provide either analysis (a handle whose fem_modal + fem_run
already produced natural frequencies) or an explicit frequencies_hz list, plus
a base-acceleration PSD psd_profile ([{"hz":20,"g2_hz":0.01}, ...]; log-log
interpolated, and zero outside its band so a mode stiffened above the band
escapes drive). Each mode is an SDOF resonator with amplification q (default
10; rule of thumb Q≈√f_n), combined by SRSS: rms_g = sqrt(Σ (π/2)·f·W(f)·Q).
With modal_stress_mpa_per_g the g response converts to RMS / 3-σ stress; add
allowable_stress_mpa for a pass/fail.
Returns {rms_g, first_mode_hz, dominant_mode_hz, q, psd_band_hz, miles_grms_g, modes: [{mode, frequency_hz, psd_g2_hz, contribution_g, in_band}], rms_stress_mpa, three_sigma_stress_mpa, pass}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| analysis | No | ||
| psd_profile | Yes | ||
| frequencies_hz | No | ||
| allowable_stress_mpa | No | ||
| modal_stress_mpa_per_g | No |