pyyeti.ode.SolveExp2.tsolve

SolveExp2.tsolve(force, d0=None, v0=None, static_ic=False)[source]

Solve time-domain 2nd order ODE equations

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

  • d0 (1d ndarray; optional) – Displacement initial conditions; if None, zero ic’s are used unless static_ic is True.

  • v0 (1d ndarray; optional) – Velocity initial conditions; if None, zero ic’s are used.

  • static_ic (bool; optional) – If True and d0 is None, then d0 is calculated such that static (steady-state) initial conditions are used. Be sure to use the “pre_eig” option to put equations in modal space if necessary: for static initial conditions, the rigid-body part is initialized to 0.0 and the elastic part is computed such that the system is in static equilibrium (from the elastic part of K x = F).

    Note

    static_ic is quietly ignored if d0 is not None.

Returns:

  • A record (SimpleNamespace class) with the members

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

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

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

  • h (scalar) – Time-step

  • t (1d ndarray) – Time vector: np.arange(d.shape[1])*h