Computes the modal frequencies and modes shapes for multi-degree-of-freedom system. The generalized eigenproblem is
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in), | dimension(:,:) | :: | mass |
The N-by-N mass matrix for the system. This matrix must be symmetric. |
|
| real(kind=real64), | intent(in), | dimension(:,:) | :: | stiff |
The N-by-N stiffness matrix for the system. This matrix must be symmetric. |
|
| real(kind=real64), | intent(out), | allocatable, dimension(:) | :: | freqs |
An allocatable N-element array where the modal frequencies will be returned in ascending order with units of rad/s. |
|
| real(kind=real64), | intent(out), | optional, | allocatable, dimension(:,:) | :: | modeshapes |
An optional, allocatable N-by-N matrix where the N mode shapes for the system will be returned. The mode shapes are stored in columns. |
Computes selected modal frequencies and mode shapes for a multi-degree-of-freedom system using CSR sparse matrices. The generalized eigenproblem is
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(csr_matrix), | intent(in) | :: | mass |
The N-by-N symmetric positive-definite mass matrix. |
||
| type(csr_matrix), | intent(in) | :: | stiff |
The N-by-N symmetric stiffness matrix. |
||
| integer(kind=int32), | intent(in) | :: | nmodes |
The number of lowest-frequency modes to compute. This value must be greater than zero and less than N. |
||
| real(kind=real64), | intent(out), | allocatable, dimension(:) | :: | freqs |
An allocatable NMODES-element array containing the modal frequencies in ascending order with units of rad/s. |
|
| real(kind=real64), | intent(out), | optional, | allocatable, dimension(:,:) | :: | modeshapes |
An optional, allocatable N-by-NMODES matrix containing one mode shape per column. |
Computes the modal damping factors given the proportional damping terms and where , , and is the eigenvalue of the system. Equivalently, .
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | lambda |
The square of the modal frequency - the eigen value. |
||
| real(kind=real64), | intent(in) | :: | alpha |
The mass damping factor, . |
||
| real(kind=real64), | intent(in) | :: | beta |
The stiffness damping factor, . |
The modal damping parameter.
Normalizes mode shape vectors such that the largest magnitude value in the vector is one. For each column , the operation is
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(inout), | dimension(:,:) | :: | x |
The matrix of mode shape vectors with one vector per column. |