Modal¶
- class sharpy.solvers.modal.Modal[source]¶
Modalsolver class, inherited fromBaseSolverExtracts the
M,KandCmatrices from theFortranlibrary for the beam. Depending on the choice of modal projection, these may or may not be transformed to a state-space form to compute the eigenvalues and mode shapes of the structure.The settings that this solver accepts are given by a dictionary, with the following key-value pairs:
Name
Type
Description
Default
print_infoboolWrite status to screen
Truerigid_body_modesboolWrite modes with rigid body mode shapes
Falseuse_undamped_modesboolProject the modes onto undamped mode shapes
TrueNumLambdaintNumber of modes to retain
20keep_linear_matricesboolSave M, C and K matrices to output dictionary
Truewrite_modes_vtkboolWrite Paraview files with mode shapes
Trueprint_matricesboolWrite M, C and K matrices to file
Falsewrite_datboolWrite mode shapes, frequencies and damping to file
Truecontinuous_eigenvaluesboolUse continuous time eigenvalues
FalsedtfloatTime step to compute discrete time eigenvalues
0delta_curvedfloatThreshold for linear expressions in rotation formulas
0.01plot_eigenvaluesboolPlot to screen root locus diagram
Falsemax_rotation_degfloatScale mode shape to have specified maximum rotation
15.0max_displacementfloatScale mode shape to have specified maximum displacement
0.15use_custom_timestepintIf > -1, it will use that time step geometry for calculating the modes
-1rigid_modes_cgboolModify the ridid body modes such that they are defined wrt to the CG
False- free_free_modes(phi, M)[source]¶
Warning
This function is deprecated. See
free_modes_principal_axes()for a transformation to the CG and with respect to the principal axes of inertia.Returns the rigid body modes defined with respect to the centre of gravity
The transformation from the modes defined at the FoR A origin, \(\boldsymbol{\Phi}\), to the modes defined using the centre of gravity as a reference is
\[\boldsymbol{\Phi}_{rr,CG}|_{TRA} = \boldsymbol{\Phi}_{RR}|_{TRA} + \tilde{\mathbf{r}}_{CG} \boldsymbol{\Phi}_{RR}|_{ROT}\]\[\boldsymbol{\Phi}_{rr,CG}|_{ROT} = \boldsymbol{\Phi}_{RR}|_{ROT}\]- Returns
Transformed eigenvectors
- Return type
(np.array)
- run()[source]¶
Extracts the eigenvalues and eigenvectors of the clamped structure.
If
use_undamped_modes == Truethen the free vibration modes of the clamped structure are found solving:\[\mathbf{M\,\ddot{\eta}} + \mathbf{K\,\eta} = 0\]that flows down to solving the non-trivial solutions to:
\[(-\omega_n^2\,\mathbf{M} + \mathbf{K})\mathbf{\Phi} = 0\]On the other hand, if the damped modes are chosen because the system has damping, the free vibration modes are found solving the equation of motion of the form:
\[\mathbf{M\,\ddot{\eta}} + \mathbf{C\,\dot{\eta}} + \mathbf{K\,\eta} = 0\]which can be written in state space form, with the state vector \(\mathbf{x} = [\eta^T,\,\dot{\eta}^T]^T\) as
\[\begin{split}\mathbf{\dot{x}} = \begin{bmatrix} 0 & \mathbf{I} \\ -\mathbf{M^{-1}K} & -\mathbf{M^{-1}C} \end{bmatrix} \mathbf{x}\end{split}\]and therefore the mode shapes and frequencies correspond to the solution of the eigenvalue problem
\[\mathbf{A\,\Phi} = \mathbf{\Lambda\,\Phi}.\]From the eigenvalues, the following system characteristics are provided:
Natural Frequency: \(\omega_n = |\lambda|\)
Damped natural frequency: \(\omega_d = \text{Im}(\lambda) = \omega_n \sqrt{1-\zeta^2}\)
Damping ratio: \(\zeta = -\frac{\text{Re}(\lambda)}{\omega_n}\)
In addition to the above, the modal output dictionary includes the following:
M: Tangent mass matrixC: Tangent damping matrixK: Tangent stiffness matrixCcut: Modal damping matrix \(\mathbf{C}_m = \mathbf{\Phi}^T\mathbf{C}\mathbf{\Phi}\)Kin_damp: Forces gain matrix (when damped): \(K_{in} = \mathbf{\Phi}_L^T \mathbf{M}^{-1}\)eigenvectors: Right eigenvectorseigenvectors_left: Left eigenvectors given when the system is damped
- Returns
updated data object with modal analysis as part of the last structural time step.
- Return type
PreSharpy