modesort


Purpose

Determine best set of mode shapes by minimizing off-diagonal terms in self-orthogonality or self-MAC matrix.

Syntax

[s_fm,ms,meq] = modesort(st,Ott,align,minsort,niter)

Description

MODESORT sorts and ranks mode shapes by minimizing the number of off-diagonal values in the orthogonality matrix. It is assumed that two or more mode shapes are repeated if their corresponding coupling term is above ALIGN.

The MODESORT routine:

  1. Sorts the mode shapes into N Independent mode shapes (based the value of align)
  2. For each mode shape set (selected in random order), evaluates each mode in that set and picks the "winner" of that set as the mode that produces
    1. the fewest number of off-diagonal terms above minsort in that row of the orthogonality matrix
    2. the lowest off-diagonal term in that row of the orthogonality matrix (if each mode has the same number of off-diagonal terms above minsort)
  3. Performs Operation 3 until the solution is stable after all independent mode sets have been evaluated
  4. Performs Operations 2 through 4 NITER times, and then selects the winner of the NITER cases.INPUTS:

 

INPUTS:
st

Mode shape imat_shp object.

Ott

Orthogonality, MAC (, or any) [nmodes by nmodes] matrix corresponding to ST.

align Scalar value between 0 and 100. Any two modes with an off-diagonal in the Orthogonality Matrix above align are assumed to be the same mode shape.
minsort

Specifies the minimum number of off-diagonal terms that MODESORT will minimize.

niter Number of different starting points in algorithm.

 

OUTPUTS:
s_fm

Modeshape substructure containing final set of modes.

ms

Map of modes in ST that are contained in S_FM (s_fm = st(ms));.

meq Orthogonality/MAC Matrix of S_FM.

 

Examples

>> st=readadf                 % Import Mode Shapes

>> [MACtt]=ortho(st,st);      % Run the ortho command (with or without a mass substructure)

>> align=80; minsort=15;      % Set align = 80% and minsort = 15%

>> NITER=10;                  % Specify number of iterations

>> [s_fm,ms,meq] = modesort(st,MACtt,align,minsort,NITER);     % Run MODESORT

See Also

ortho, readadf