sdynpy.signal_processing.sdynpy_srs.sdof_free_decay_peak_response
- sdof_free_decay_peak_response(responses, times_at_responses, frequency, damping)[source]
Calculates peak response of a freely-decaying sdof system.
The residual response is the peak response of the sdof system as it decays after the input has ended, i.e., the input is zero. The first two peaks in the decaying response will be the largest. One peak will be negative and one positive. We don’t know before the calculation if the first and largest peak in amplitude will be positive or negative.
- Parameters
responses (np.array) – A (…,2) shape array giving the response at two time steps
times_at_responses (np.array) – A length-2 array giving the time values that the responses occur at
frequency (float) – The frequency at which the computation is performed
damping (float) – The fraction of critical damping for the system (e.g. 0.03, not 3 for 3%)
- Returns
response_peaks – A shape (…,2) array giving the amplitude at the two peaks after the response has decayed
- Return type
np.ndarray
Notes
The response has the form a(t) = exp(-zeta wn t)[z[0]sin(wd t) + z[1]cos(wd t)]. If I know a(t) at two values of time, t, I can calculate the constants z[0] and z[1]. The general form of the response can then be solved for the maximum by finding the time of the first maximum by setting the derivative to zero. Then substituting the time of the maximum response back into the general equation to find the maximum response. The second peak will occur half a cycle later.