Contents     Functions         Previous Next     PDF Index

ii_mac

Purpose

User interface function for MAC and other vector correlation criteria.

Syntax

           ii_mac(cpa,cpb)
VC       = ii_mac(cpa,cpb,'PropertyName',PropertyValue, ...)
[VC,ReS] = ii_mac('PropertyName',PropertyValue, ... ,'Command')
           ii_mac(Fig,'PropertyName',PropertyValue, ... ,'Command')
Result =   ii_mac(Fig ,'Command')
VC.PropertyName = PropertyValue

Description

The ii_mac function gives access to vector correlation tools provided by the SDT starting with the Modal Assurance Criterion (MAC) but including many others. A summary of typical applications is given in section 3.2 and examples in the gartco demo.

Vector correlations are SDT objects which contain deformations, see va, typically given at test sensors. For criteria using model mass or stiffness matrices see m. Other details about possible fields of VC objects are given after the listing of supported commands below.

GUI

If you use ii_mac without requesting graphical output, the vector correlation object is deleted upon exit from ii_mac. In other cases, the object is saved in the figure so that you can reuse it.

You can add data to other fields or call new commands from the command line by starting the ii_mac call with a pointer to the figure where the vector correlation is stored (ii_mac(fig,'Command'), ...). An alternate calling form is to set a field of the vector correlation object.

The following commands

 [cf,def_fem,res_test]=demosdt('demo gartte cor plot');
 [m,k,mdof] = fe_mknl(cf.mdl);
 Sens=fe_case(cf.mdl,'sens');
 figure(1); subplot(221); % Make figure(1) current so that ii_mac uses it
 VC=ii_mac(res_test,def_fem,'labela','Test','labelb','FEM', ...
           'sens',Sens,'Mac Pair Plot');
 subplot(212);ii_mac(1,'comac'); % set new axis and display other criterion
 VC.m = m; VC.kd = ofact(k+1e1*m);
 subplot(222); VC.MacMPairPlot;

illustrate a fairly complex case where one shows the MAC in subplot(221), all three COMAC indicators in subplot(212), then provide mass and a mass-shifted stiffness to allow computation of the mass condensed on sensors and finally show the reduced mass weighted MAC in subplot(222).

The II_MAC menu lets you choose from commands that can be computed based on the data that you have already provided. The context menu associated with plots generated by ii_mac lets you start the cursor, display tabular output, ...

You can link deformations shown in a feplot figure to a MAC plot using

 [model,sens,ID,FEM]=demosdt('demopairmac');
 cf=feplot(model);
 cf.def(1)=ID;  % display test as first def set
 cf.def(2)=FEM; % display FEM as second def set
 % overlay & show interactive MAC in fig 1:
 figure(1);clf;fecom('show2def-mac1') 
 ii_mac(1,'mac table');

Main commands

Options ... [Plot,Table,Tex,Thtml]

By default, the commands plot the result in a figure. Options valid for all commands are

Data fields

Data fields are defined using name, value pairs.

MAC [,M] [ ,PairA,PairB,AutoA, ...] ...

The Modal Assurance Criterion (MAC) [4] is the most widely used criterion for vector correlation (mainly because of its simplicity).

The MAC is the correlation coefficient of vector pairs in two vector sets cpa and cpb defined at the same DOFs (see ii_mac va for more details). In general cpa corresponds to measured modeshapes at a number of sensors {cφ id j} while cpb corresponds to the observation of analytical modeshapes [c]{φk}. The MAC is given by

  MACj k   =   
| {cφ id j}H  {cφk}|2
     | {cφ id j}H  {cφ id j}| | {cφk}H      {cφk}|
    (9.7)

For two vectors that are proportional the MAC equals 1 (perfect correlation). Values above 0.9 are generally considered as well correlated. Values below 0.6 should be considered with much caution (they may or may not indicate correlation).

The commands and figure below shows the standard 2-D (obtained using the context menu or view(2)) and 3-D (obtained using the context menu or view(-130,20)) representations of the MAC supported by ii_mac. The color and dimensions of the patches associated to each vector pair are proportional to the MAC value.

 [model,sens,ID,FEM]=demosdt('demopairmac');

 figure(1);clf;
 ii_mac(ID,FEM,'sens',sens,'mac paira plot')
 ii_mac(1,'mac paira table');

The basic MAC shows vector pairs for all vectors in the two sets. Specific command options are

A few things you should know ...

MACCo [ ,M] [,ns]

The MACCo criterion is a what if analysis. It takes modes in cpa, cpb and computes the paired MAC or MAC-M with one sensor removed. The sensor removal leading to the best mean MAC for the paired modes is a direct indication of where the poorest correlation is found. The algorithm removes this first sensor then iteratively proceeds to remove ns other sensors (the default is 3). The MACCo command prints an output of the form

   Test        1   2   3   4   5   6   7   8
    FEM        7   8  11  10  11  12  13  14
 Sensor Mean                                
    All   87 100  99  60  86  53 100  98 100
  1112z   88 100  99  59  90  62 100  98 100
  1301z   89 100  99  62  90  64 100  98 100
  1303z   90 100  98  66  90  66 100  98 100

where the indices for the vectors used in the pairing are shown first, then followed by the initial mean MAC and MAC associated to each pair. The following lines show the evolution of these quantities when sensors are removed. Here sensor 1112z has a strong negative impact on the MAC of test mode 5.

The sensor labels are replaced by sensor numbers if the sensor configuration sens is not declared.

This is an example of how to use of the MACCo command

 [model,sens,ID,FEM]=demosdt('demopairmac');
 ii_mac(ID,FEM,'sens',sens, ...
  'inda',[1:8], ... % Select test modes to pair
  'macco')

MacM ...

When cpa and cpb are defined at finite element DOFs, it is much more appropriate to use a mass weighted form of the MAC defined as

  MACMjk = 
|{φjA}T[M]{φkB}|2
|{φjA}T[M]{φjA}| |{φkB}T[M]{φkB}|
    (9.8)

When cpa and cpb are defined at sensors using a mass weighting is always a good idea. If vectors are defined as sensors, the problem is to define what the mass should be. The standard approach is to use the static condensation of the full order model mass on the sensor set. The way this reduced mass is computed in the SDT is discussed in the mc section below.

If cpa is defined at sensors and cpb at DOFs, ii_mac uses the sensor configuration sens to observe the motion of cpb at sensors. If cpa is defined at DOFs and cpb at sensors, ii_mac calls fe_exp to expand cpb on all DOFs.

The MAC-M can be seen as a scale insensitive version of the Pseudo-Orthogonality check (also called Cross Generalized Mass criterion) described below.

COMAC [ ,M][,A,B][,N][,S][,E] [,sort]

The COMAC command supports three correlation criteria (N nominal, S scaled and E enhanced) whose objective is to detect sensors that lead to poor correlation. You can compute all or some of these criteria using the n, s, or e options (with no option the command computes all three). Sensors are given in the nominal order or sorted by decreasing COMAC value (sort command option).

These criteria assume the availability of paired sets of sensors. The COMAC commands thus start by using MacPair (MacMPair with the M command option) to pair vectors in cpb to vectors in cpa. The B command option can be used to force pairing against vectors in set B (rather than A which is the default value).

The nominal Coordinate Modal Assurance Criterion (COMAC) measures the correlation of two sets of similarly scaled modeshapes at the same sensors. The definition used for the SDT is

COMACl = 1−
{
NM
j
|clφjAclφjB|}2
NM
j
|clφjA|2 
NM
j
|clφjB|2
    (9.9)

which is 1 minus the definition found in [54] in order to have good correlation correspond to low COMAC values.

The assumption that modes a similarly scaled is sometimes difficult to ensure, so that the scaled COMAC is computed with shapes in set B scaled using the Modal Scale Factor (MSF)

{cφjB}= {cφjB}MSFj={cφjB}
{cφjB}T{cφjA}
{cφjB}T{cφjB}
    (9.10)

which sets the scaling of vectors in set B to minimize the quadratic norm of the difference between {cφjA} and {cφjB}.

The enhanced COMAC (eCOMAC), introduced in [55], is given by

eCOMACl = 
NM
j
|| {clφjA}−{cφjB} ||
2NM
    (9.11)

where the comparison is done using modeshapes that are vector normalized to 1

 {clφjA}={cφjA}/ ||cφjA||

This is an example of how to use of the COMAC command

 [model,sens,ID,FEM]=demosdt('demopairmac');

 figure(1);clf;
 ii_mac(ID,FEM,'sens',sens,'comac plot')
 ii_mac(1,'comac table');

POC [,Pair[A,B]] ...

The orthogonality conditions (6.79) lead to a number of standard vector correlation criteria. The pseudo-orthogonality check (POC) (also called Cross Generalized Mass (CGM)) and the less commonly used cross generalized stiffness (CGK) are computed using

  µjk = {φjA}T [M] {φkB}     κjk ={φjA}T[K]{φkB}     (9.12)

where for mass normalized test and analysis modes one expects to have µjk≈ δjk and κjk≈ ωj2δjk.

For matched modes, POC values differing significantly from 1 indicate either poor scaling or poor correlation. To distinguish between the two effects, you can use a MAC-M which corresponds to the square of a POC where each vector would be normalized first (see the MacM command).

Between unmatched modes, POC values should be close to zero. In some industries, off-diagonal cross POC values below 0.1 are required for the test verification of a model.

The PairA, PairB, Plot, Table options are available for POC just as for the MAC.

Rel [,scaled][,m]

For scaled matched modeshapes, the relative error

  ej   =  
|| {cφjA}  −  {cφjB} ||
|| {cφjA}  || + || {cφjB} ||
    (9.13)

is one of the most accurate criteria. In particular, it is only zero if the modeshapes are exactly identical and values below 0.1 denote very good agreement.

The rel command calls MacPair to obtain shape pairs and plots the result of (9.13).

For uncalled matched modeshapes, you may want to seek for each vector in set B a scaling coefficient that will minimize the relative error norm. This coefficient is known as the modal scale factor and defined by

  MSFj   =   
{cφjA}T {cφjB}
{cφjB}T  {cφjB}
      (9.14)

The RelScale command calls MacPair to obtain shape pairs, multiplies shapes in set B by the modal scale factor and plots the result of (9.13).

With the M option, the MacPairM is used to obtain shape pairs, kinetic energy norms are used in equations (9.13)-(9.14).

This is an example of how to use the Rel command

 [model,sens,ID,FEM]=demosdt('demopairmac');
 ii_mac(ID,FEM,'sens',sens,'rel');

VC

The following sections describe standard fields of VC vector correlation objects and how they can be set.


VC.vavector set A detailed below
VC.vbvector set B detailed below.
VC.senssensor description array describing the relation between the DOFs of cpb and the sensors on which cpa is defined.
VC.mfull order mass matrix
VC.mcreduced mass matrix defined at sensors (see definition below)
VC.qisensor confidence weighting
VC.kfull order stiffness matrix
VC.kdfactored stiffness or mass shifted stiffness matrix
VC.Treduced basis used for dynamic expansion

va,vb,sens

ii_mac uses two data sets referenced in VC.va and VC.vb. All standard input formats for shape definition are accepted

At a low level, if you have shapes as columns, you can define them with

 FigHandle=figure(1);
 ii_mac(FigHandle,'cpa',shapes_as_col,'labela','Test', ...
     'cpb',shape2, ... % Define vb
     'mac');  % define command

The cpa and cpb names stand for [c] {φa} and [c]{φb} since these vectors typically represent the observation of modeshapes at test sensors, see section 5.1).

It is usual to have cpa defined at sensors and cpb at DOFs, ii_mac uses the sensor configuration sens to observe the motion of cpb at sensors. If cpa is defined at DOFs and cpb at sensors, ii_mac calls fe_exp to expand cpb on all DOFs.

The generation of sensor configurations is detailed in section 4.3. You can provide an observation matrix obtained from an fe_case('Sens') command to allow observation of FEM results which are always assumed to be placed in the .vb field. One thus compares VC.va.def and VC.sens.cta*VC.vb.def.

 [model,sens,ID,FEM]=demosdt('demopairmac -open')
 figure(1);ii_mac(ID,FEM,'sens',sens, ...
  'indb',7:20,'mac plot');

m,k,kd

For criteria that use vectors defined at DOFs, you may need to declare the mass and stiffness matrices. For large models, the factorization of the stiffness matrix is particularly time consuming. If you have already factored the matrix (when calling fe_eig for example), you should retain the result and declare it in the kd field.

The default value for this field is kd=ofact(k,'de') which is not appropriate for structures with rigid body modes. You should then use a mass-shift (kd = ofact( k + alpha*m,'de'), see section 6.2.4).

mc

The SDT supports an original method for reducing the mass on the sensor set. Since general test setups can be represented by an observation equation (4.1), the principle of reciprocity tells that [c]T corresponds to a set of loads at the location and in the direction of the considered sensors. To obtain a static reduction of the model on the sensors, one projects the mass (computes TTMT) on the subspace

  [T] = [T] [cT]−1     with     [K] [T] = [c]T     (9.15)

In cases where the model is fixed [K] is non-singular and this definition is strictly equivalent to static/Guyan condensation of the mass [16]. When the structure is free, [K] should be replaced by a mass shifted [K] as discussed under the kd field above.

T

Reduced basis expansion methods were introduced in [16]. Static expansion can be obtained by using T defined by (9.15).

To work with dynamic or minimum residual expansion methods, T should combine static shapes, low frequency modes of the model, the associated modeshape sensitivities when performing model updating.

Modeshape expansion is used by ii_mac when cpa is full order and cpb is reduced. This capability is not currently finalized and will require user setting of options. Look at the HTML or PDF help for the latest information.

See also

ii_comac, fe_exp, the gartco demonstration, section 3.2


©1991-2011 by SDTools
Previous Up Next