sdynpy.core.sdynpy_nonlinear_system.SystemNL

class SystemNL(coordinate: CoordinateArray, state_derivative_function, state_size=None, displacement_output_function=None, velocity_output_function=None, acceleration_output_function=None, excitation_output_function=None)[source]

Bases: object

Function representing a Structural Dynamics System

__init__(coordinate: CoordinateArray, state_derivative_function, state_size=None, displacement_output_function=None, velocity_output_function=None, acceleration_output_function=None, excitation_output_function=None)[source]

Creates a nonlinear system object

Parameters
  • coordinate (CoordinateArray) – The physical degrees of freedom associated with the system

  • state_derivative_function (function) – A function with calling signature (time, state, input) that returns the state derivative.

  • state_size (int, optional) – The number of state degrees of freedom in the system. If not provided, it will be assumed to be the same size as coordinate.

  • displacement_output_function (_type_, optional) – _description_, by default None

  • velocity_output_function (_type_, optional) – _description_, by default None

  • acceleration_output_function (_type_, optional) – _description_, by default None

  • excitation_output_function (_type_, optional) – _description_, by default None

Methods

__init__(coordinate, state_derivative_function)

Creates a nonlinear system object

copy()

duffing_oscillator(delta, alpha, beta[, ...])

eigensolution([state_point, delta_state, ...])

elastic_pendulum(mass, stiffness, ...[, ...])

from_linear_system(system)

local_stiffness([state_point, delta_state, time])

polynomial_stiffness_damping(coordinate, ...)

simulate_test(bandwidth, frame_length, ...)

time_integrate(forces[, dt, responses, ...])

Attributes

num_dof

copy()[source]
classmethod duffing_oscillator(delta, alpha, beta, coordinate=None)[source]
eigensolution(state_point=None, delta_state=np.float64(1.4901161193847656e-08), time=0, group_conjugate_pairs=True)[source]
classmethod elastic_pendulum(mass, stiffness, unstretched_length, gravity=9.81, node=None)[source]
classmethod from_linear_system(system: System)[source]
local_stiffness(state_point=None, delta_state=np.float64(1.4901161193847656e-08), time=0)[source]
property num_dof
classmethod polynomial_stiffness_damping(coordinate, mass, stiffnesses, dampings=None, transformation=None)[source]
simulate_test(bandwidth, frame_length, num_averages, excitation, references, responses=None, excitation_level=1.0, excitation_noise_level=0.0, response_noise_level=0.0, steady_state_time=0.0, excitation_min_frequency=None, excitation_max_frequency=None, signal_fraction=0.5, extra_time_between_frames=0.0, integration_oversample=10, displacement_derivative=2, antialias_filter_cutoff_factor=3, antialias_filter_order=4, multihammer_impact_spacing_factor=4, time_integrate_kwargs={}, generator_kwargs={})[source]
time_integrate(forces, dt=None, responses=None, references=None, displacement_derivative=2, initial_state=None, method='RK45', force_interpolation='linear', output_times=None, return_ivp_result=False, **solve_ivp_kwargs)[source]