fe_norm

fe_norm#

Purpose

Mass-normalization and stiffness orthonormalization of a set of vectors.

Syntax

To = fe_norm(T,m)
[rmode,wr] = fe_norm(T,m,k,NoCommentFlag)
[rmode,wr] = fe_norm(T,m,k,tol)

Description

With just the mass m (k not given or empty), fe_norm orthonormalizes the T matrix with respect to the mass m using a preconditioned Cholesky decomposition. The result To spans the same vector space than T but verifies the orthonormal condition

 
    (10.17)

If some vectors of the basis T are collinear, these are eliminated. This elimination is a helpful feature of fe_norm.

When both the mass and stiffness matrices are specified a reanalysis of the reduced problem is performed (eigenvalue structure of model projected on the basis T). The resulting reduced modes rmode not only verify the mass orthogonality condition, but also the stiffness orthogonality condition (where [\ Ωj2 \ ] =diag(wr.^2))

 
    (10.18)

The verification of the two orthogonality conditions is not a sufficient condition for the vectors rmode to be the modes of the model. Only if NM=N is this guaranteed. In other cases, rmode are just the best approximations of modes in the range of T.

When the fourth argument NoCommentFlag is a string, no warning is given if some modes are eliminated.

When a tolerance is given, frequencies below the tolerance are truncated. The default tolerance (value given when tol=0) is product of eps by the number of modes by the smallest of 1e3 and the mean of the first seven frequencies (in order to incorporate at least one flexible frequency in cases with rigid body modes). This truncation helps prevent poor numerical conditioning from reduced models with a dynamic range superior to numerical precision.

See also

fe_reduc, fe_eig