SDOF Systems

The SDOF (Single Degree of Freedom) systems module in [Your Package Name] allows for the analysis of systems with a single degree of freedom. This section provides a guide on using the SDOF systems module, including quick examples and detailed tutorials.

Quick Examples

To get a feel for how the SDOF systems module works, here are a few quick examples.

Example 1: Basic Usage

Import the basic sdof module and numpy and plotting capabilities

import np_vmd.sdof_funcs as sdof_funcs
import numpy as np
import matplotlib.pyplot as plt

Define a system SDOF system with

  • m = 10 kg

  • c = 50 kg/s

  • k = 1000 N/m

and print the system properties.

sysA = sdof_funcs.SDOF_system(m=10,c=50, k=1000)
print(f"----- System Parameters --------")
print(f"wn     :  {sysA.wn}")
print(f"zeta   :  {sysA.zeta}")
print(f"wd     :  {sysA.wd}")
print(f"T      :  {sysA.T}")
print(f"Td     :  {sysA.Td}")

Example 2: calculate the Free Response

Continuing from above:

  • define a time vector t

  • obtain the free response (displacement)

  • plot the free response

t = np.linspace (0, 3*sysA.T, 1000)
fdic = sysA.free_response_at_t_funcs(x0=0.1, v0=1)

# Plotting example
plt.figure(figsize=(12,5))
plt.plot(t, fdic['x'](t))
plt.xlabel('t [s]')
plt.ylabel('x [m]')
plt.grid()

For plotting the velocity respone:

  • plot the free response using the fdic obtained above.

# Plotting velocity example
plt.figure(figsize=(12,5))
plt.plot(t, fdic['v'](t))
plt.xlabel('t [s]')
plt.ylabel('v [m/s]')
plt.grid()

For a more detailed guide on using the SDOF module, please refer to the following tutorials.

Detailed Tutorials

Here we walk through detailed examples of common analyses you can perform with the SDOF module.

Example 1: Detailed Analysis of an SDOF System

# Detailed tutorial content