pyHarm.Analysis.Linear_Analysis

Classes

Linear_Analysis

Modal analysis and linear forced response analysis.

Module Contents

class pyHarm.Analysis.Linear_Analysis.Linear_Analysis(inputData: dict, System: pyHarm.Systems.ABCSystem.ABCSystem)

Bases: pyHarm.Analysis.ABCAnalysis.ABCAnalysis

Modal analysis and linear forced response analysis.

Performs a linear modal analysis and then proceeds to a linear FRF by using mode superposition

system

ABCSystem associated with the analysis.

Type:

ABCSystem

analysis_options

input dictionary completed with the default values if keywords are missing.

Type:

dict

flag_print

if True, prints a message after each Solve method.

Type:

bool

SolList

list of SystemSolution stored.

Type:

list[SystemSolution]

eigensol

output dictionary containing the eigenfrequencies and the eigenvectors

Type:

dict

factory_keyword: str = 'linear_analysis'

keyword that is used to call the creation of this class in the system factory.

Type:

str

name = 'Linear modal and FRF analysis'
default

default dictionary for the analysis.

Type:

dict

system
analysis_options
flag_print
SolList = []
eigensol
initialise()

Retrieves the mass and stiffness matrix of the assembled system

Returns:

full stiffness matrix of the system M_global (np.ndarray): full mass matrix of the system

Return type:

K_global (np.ndarray)

modal_analysis(K, M)

Eigenvalue analysis leading to the eigenfrequencies and the normalized right eigenvectors

Parameters:
  • K (np.ndarray) – full stiffness matrix of the system

  • M (np.ndarray) – full mass matrix of the system

Returns:

eigenfrequencies in rad/s phi (np.ndarray): normalized to unity right eigenvectors

Return type:

omega (np.ndarray)

compute_linear_FRF(K, M, phi)

Linear frequency response function by means of mode superposition

Parameters:
  • K (np.ndarray) – full stiffness matrix of the system

  • M (np.ndarray) – full mass matrix of the system

  • phi (np.ndarray) – normalized to unity right eigenvectors

Solve(x0=None, **kwargs)

Solving step of the analysis.

makeStep(K, M)

Makes a whole step of the analysis.

Parameters:
  • K (np.ndarray) – full stiffness matrix of the system

  • M (np.ndarray) – full mass matrix of the system

Returns:

eigenfrequencies in rad/s phi (np.ndarray): normalized to unity right eigenvectors

Return type:

omega (np.ndarray)