pyyeti.frclim.ctdfs

pyyeti.frclim.ctdfs(mmr1, mmr2, rmr, Q, wr=(0.70710678118654746, 1.4142135623730951))[source]

Compute the normalized force limit for complex 2-DOF system.

Parameters:
  • mmr1 (scalar) – Modal to residual mass ratio for Source; 0.0001 to 10 is reasonable m1/M1

  • mmr2 (scalar) – Modal to residual mass ratio for Load; 0.0001 to 10 is reasonable m2/M2

  • rmr (scalar) – Residual mass ratio of Source over Load; 0.0001 to 10 is reasonable M2/M1

  • Q (scalar to 2 element array_like) – Dynamic amplification factor, 1/2/zeta. If a scalar, the same value is used for both dampers. If a 2 element vector, it is [Q1, Q2] (see figure below).

  • wr (2 element array_like) – Two element tuning range for frequency of LOAD. wr is a ratio of the LOAD frequency to the SOURCE:

    wr = [ w2_min w2_max ] / w1
    

    Scharton used [1/sqrt(2), sqrt(2)] in [1].

Returns:

  • nfl (scalar) –

    Normalized force limit for M2:

    nfl = force_limit / (M2 * max(a2))
    
  • nw2 (scalar) –

    Normalized tuned frequency of LOAD:

    nw2 = w2_tuned / w1
    

Notes

This routine computes the normalize force limit for M2 in the complex 2-DOF system (2 flexible body modes):

       |--> a1         |--> a2        |--> a3         |--> a4
       |               |              |               |
     |----|    k1    |----|    F    |----|    k2    |----|
 F1  |    |---\/\/\--|    |<------->|    |---\/\/\--|    |
---->| m1 |          | M1 |         | M2 |          | m2 |
     |    |---| |----|    |  a2=a3  |    |---| |----|    |
     |----|    c1    |----|<------->|----|    c2    |----|
      modal         residual       residual          modal
            S O U R C E                     L O A D

Analysis is done in the frequency domain. Methodology:

  1. Set w1 = sqrt(k1/m1) = 1 and M1 = 1

  2. Tune w2 = sqrt(k2/m2) such that a worst case force limit is achieved within pre-defined frequency limits according to input wr. Frequency range is limited because modal and residual masses as input are only valid in a limited frequency range. For each w2:

    1. Compute natural frequencies and solve equations of motion at the two flexible frequencies. (Note: this is not guaranteed to be the worst-case frequencies: almost 10% “errors” have been seen for Q = 5 systems. Lower damping is much closer.)

    2. Recover maximum interface accel: A (accel of M2)

    3. Recover maximum interface force on M2: F

    4. Compute nfl: F / (A * M2)

  3. Keep the maximum nfl from 2.

The optimization is carried out by scipy.optimize.minimize_scalar().

The modal masses are defined relative to the interface point. See references [1] and [2] for more information.

References

See also

ntfl(), stdfs(), sefl()

Examples

Compute force limit for a s/c attached to a launch vehicle, where the interface acceleration specification level is 1.75 g and Q is assumed to be 10. Compare against the stdfs() and sefl() methods:

>>> from pyyeti import frclim
>>> m1 = 30     # lv modal mass 75-90 Hz
>>> M1 = 622    # lv residual mass above 90 Hz
>>> m2 = 972    # sc modal mass 75-90 Hz
>>> M2 = 954    # sc residual mass above 90 Hz
>>> msc = 6961  # total sc mass
>>> faf = 40    # fundamental axial frequency of s/c
>>> Q = 10
>>> spec = 1.75
>>> (frclim.ctdfs(m1/M1, m2/M2, M2/M1, Q)[0] *
...    M2 * spec)
8686.1...
>>> (frclim.stdfs((m2+M2)/(m1+M1), Q) *
...    (m2+M2) * spec)
4268.2...
>>> frclim.sefl(1.5, 75, faf) * msc * spec
9745.4