pyvib.newmark module

class pyvib.newmark.Newmark(M, C, K, nonlin, gtype=None)[source]

Bases: object

integrate_nl(x0, xd0, dt, fext, sensitivity=False)[source]
pyvib.newmark.newmark_beta_lin(M, C, K, x0, xd0, t, r_ext)[source]

Newmark-beta linear integration. With gamma = 1/2, beta = 1/4, this correspond to the “Average acceleration” Method. Unconditional stable. Convergence: O(dt**2).

No enforcing of boundary conditions, eg. only solves IVP. Input:

M, C, K - System matrices. Size [ndof, ndof] xo, xd0 - Initial conditions. Size [ndof] t - Time vector. Size[nsteps]
Output:
x, xd, xdd - State arrays. Size [nsteps, ndof]

Equations are from Cook: “Concepts and applications of FEA”

pyvib.newmark.newmark_beta_nl(M, C, K, x0, xd0, dt, fext, nonlin, sensitivity=False, gamma=0.5, beta=0.25)[source]

Newmark-beta nonlinear integration.

With gamma = 1/2, beta = 1/4, this correspond to the “Average acceleration” Method. Unconditional stable. Convergence: O(dt**2).

No enforcing of boundary conditions, eg. only solves IVP. Input:

xo, xd0 - Initial conditions. Size [ndof] t - Time vector. Size[nsteps] r_ext(t) - External force function. - Takes the current time as input. - Returns an array. Size [ndof]
Output:
x, xd, xdd - State arrays. Size [nsteps, ndof]
Equations are from Krenk: “Non-linear Modeling and analysis of Solids
and Structures”

See also: Cook: “Concepts and applications of FEA, chap 11 & 17”