pyyeti.ode.FreqDirect.fsolve

FreqDirect.fsolve(force, freq, incrb='dva', rf_disp_only=False)[source]

Solve equations of motion in frequency domain.

Parameters:
  • force (2d ndarray) – The force matrix; ndof x freq

  • freq (1d ndarray) – Frequency vector in Hz; solution will be computed at all frequencies in freq

  • incrb (string; optional) – Specifies how to handle rigid-body responses: can include “a”, “v”, and/or “d” to specify that the rigid-body response should not be zeroed out for acceleration, velocity, and/or displacement. For example, incrb="" means that no rigid-body responses are included, and incrb="va" (or incrb="av") means that the rigid-body response will be included for acceleration and velocity but not displacement. Letters can be included in any order.

    For backward compatibility to versions before 0.99.9, incrb can also be an integer 0, 1, or 2. This integer format is deprecated and will be removed in a future version:

    incrb

    description

    0

    same as “” (no rigid-body is included)

    1

    same as “av”

    2

    same as “dva” (all rigid-body responses included)

  • rf_disp_only (bool; optional) – This option specifies how to handle the velocity and acceleration terms for residual-flexibility modes. If True, they are set to zero. If False, they are computed from the normal frequency-domain relationships:

    velocity = i * omega * displacement
    acceleration = -omega ** 2 * displacement
    
Returns:

  • A SimpleNamespace with the members

  • d (2d ndarray) – Displacement; ndof x freq

  • v (2d ndarray) – Velocity; ndof x freq

  • a (2d ndarray) – Acceleration; ndof x freq

  • f (1d ndarray) – Frequency vector (same as the input freq)

Notes

See FreqDirect for more discussion on how rigid-body response is handled.