Python Newmark-beta ODE Solver

Acronyms

ODE = ordinary differential equation

SDOF = single-degree-of-freedom

MDOF = multi-degree-of-freedom

* * *

Supporting Functions

tompy.py

ode_plots.py

generalized_eigen.py

Newmark.py

Some of the scripts use the generalized eigenvalue function to calculate the natural frequencies. This step is not part of the Newmark calculation except for the modal transient implementations. Rather the natural frequencies are given for reference only for the direct implementation.

* * *

Newmark-beta Function

The Newmark-beta method is used for direct integration of a system of structural dynamics equations.

The system equations are second-order ordinary differential equations. The system may be excited by initial conditions or an external forcing function.

* * *

Free Vibration

The following examples use the Newmark function.

The response of a single-degree-of-freedom system to initial excitation is given at: sdof_initial_nm.py

The response of a multi-degree-of-freedom system to initial excitation is given at: mdof_initial_nm.py

* * *

Response to Applied Force, Direct Integration

The response of a multi-degree-of-freedom system to an applied force or forces is given at: mdof_arbit_force_nm.py. It is intended for the case where damping is applied via a damping coefficient matrix.

* * *

Response to Applied Force, Modal Transient

The response of a multi-degree-of-freedom system to an applied force or forces is given at: mdof_modal_arbit_force_nm.py. It is intended for the case where damping is applied via a modal damping ratio. The system is decoupled via the normal modes as an intermediate step.

* * *

Response to Base Excitation, Modal Transient

The response of a multi-degree-of-freedom system to base acceleration or enforced acceleration is given at: mdof_modal_enforced_acceleration_nm.py. It is intended for the case where damping is applied via a modal damping ratio. The system is first partitioned via a transformation matrix. Next it is decoupled using normal modes. Then the response is calculated using the Newmark method as a modal transient solution. A partition tutorial is given at: modal_enforced_motion.pdf

* * *

– Tom Irvine