pyvib.nlforce module

class pyvib.nlforce.NL_force(nls=None)[source]

Bases: object

add(nls)[source]
dforce(x, xd, is_force=True)[source]

Derivative of nonlinear functional

energy(x, xd)[source]
force(x, xd)[source]
nldofs()[source]
class pyvib.nlforce.NL_piecewise_linear(x, y, slope, inl, delta=None, symmetric=False, is_force=True)[source]

Bases: pyvib.nlforce._NL_compute

compute(x, xd, fnl)[source]
dcompute(x, xd, dfnl)[source]
class pyvib.nlforce.NL_polynomial(inl, enl, knl, is_force=True)[source]

Bases: pyvib.nlforce._NL_compute

Calculate force contribution for polynomial nonlinear stiffness or damping, see eq(2)

Parameters:
  • x (ndarray (ndof, ns)) – displacement or velocity.
  • inl (ndarray (nbln, 2)) – Matrix with the locations of the nonlinearities, ex: inl = np.array([[7,0],[7,0]])
  • enl (ndarray) – List of exponents of nonlinearity
  • knl (ndarray (nbln)) – Array with nonlinear coefficients. ex. [1,1]
  • idof (ndarray) – Array with node mapping for x.
Returns:

f_nl – Nonlinear force

Return type:

ndarray (nbln, ns)

compute(x, xd, fnl)[source]
dcompute(x, xd, dfnl)[source]

Derivative of nonlinear functional

energy(x, xd, energy)[source]
class pyvib.nlforce.NL_spline(x, coeff, symmetric, inl, is_force=True)[source]

Bases: pyvib.nlforce._NL_compute

compute(x, xd, fnl)[source]
dcompute(x, xd, dfnl)[source]
class pyvib.nlforce.NL_tanh_damping(inl, enl, knl)[source]

Bases: pyvib.nlforce._NL_compute

compute(x, xd, fnl)[source]
dcompute(x, xd, dfnl)[source]