Contents     Functions         Previous Next     PDF Index

fe_sens

Purpose

Utilities for sensor/shaker placement and sensor/DOF correlation.

Syntax

Command dependent syntax. See sections on placement and correlation below.

Placement

In cases where an analytical model of the structure is available before a modal test, you can use it for test preparation, see section 3.1.2 and the associated gartsens demo. fe_sens provides sensor/shaker placement methods.

indep

 sdof = fe_sens('indep',cphi,cdof) 

For a given set of modes mode (associated to the DOF definition vector mdof) and possible sensor locations (DOFs described by the DOF definition vector cdof), the modal output matrix cphi is constructed using

 cphi = fe_c(mdof,cdof)*mode

sdof=fe_sens('indep',cphi,cdof) uses the effective independence algorithm [14] to sort the selected sensors in terms of their ability to distinguish the shapes of the considered modes. The output sdof is the DOF definition vector cdof sorted according to this algorithm (the first elements give the best locations). See example in the gartsens demo.

mseq

sdof = fe_sens('mseq Nsens target',DEF,sdof0) places Nsens sensors, with an optional initial set sdof0. The maximum response sequence algorithm used here can only place meaningfully NM (number of modes in DEF) sensors, for additional sensors, the algorithm tries to minimize the off-diagonal auto-MAC terms in modes in DEF.def whose indices are selected by target. See example in the gartsens demo.

[ma,mmif]

[sdof,load] = fe_sens('ma val',po,cphi,IndB,IndPo,Ind0)

Shaker placement based on most important components for force appropriation of a mode. The input arguments are poles po, modal output shape matrix cphi, indices IndB of sensor positions where a collocated force could be applied, IndPo tells which mode is to be appropriated with the selected force pattern. Ind0 can optionally be used to specify shakers that must be included.

sdof(:,1) sorts the indices IndB of positions where a force can be applied by order of importance. sdof(:,2) gives the associated MMIF. load gives the positions and forces needed to have a MMIF below the value val (default 0.01). The value is used as a threshold to stop the algorithm early.

ma uses a sequential building algorithm (add one position a time) while mmif uses a decimation strategy (remove one position at a time).

Correlation

fe_sens provides a user interface that helps obtaining test/analysis correlation for industrial models. For a tutorial see section 3.1.

The sensor configuration information is stored as a SensDof entry (see section 4.3 for details). Note that this is a major change for SDT 6.0.

Commands supported by fe_sens are

basis

fe_sens('BasisEstimate',cf) estimates a local coordinate system for test nodes that matches the FEM model reasonably and displays the result in a fashion that lets you edit the estimated basis

 cf=demosdt('demo gartte basis');
 fecom(cf,'ShowLinks sensors');
 fe_sens('basis estimate',cf,'sensors')
 fecom('curtabCases','sensors') % you can edit the basis with GUI or
 % from script
 fe_sens('basis',cf,'sensors', ...
   'x',     [0 1 0], ... % x_test in FEM coordinates
   'y',     [0 0 1], ... % y_test in FEM coordinates
   'origin',[-1 0.0 0.0],... % test origin in FEM coordinates
   'scale', [0.01]); % test/FEM length unit change 
 % to display test shape on sensors
 if 0
  cf.sel={'-sensors'};cf.def={cf.Stack{'IdMain'},'sensors'};
 end

SensMatch, sens, ...

The building of observation matrices for SensDof entries is now described under sensor SensMatch (building topology correlation to locate test nodes in the FEM model) and sensor Sens (building of the observation matrix after matching). Please read section 4.3.4 for more details.

The obsolete near,rigid,arigid commands are supported through SensMatch calls.

tdof

tdof = fe_sens('tdof',sens.tdof) returns the 5 column form of tdof if sens.tdof is defined as a DOF definition vector. For more details see sens.tdof. The tdof command also supports more general specification of directions as illustrated in section 4.3.2.

tdof = fe_sens('tdof',model,tdof) also works with local coordinates defined in the model. Local coordinate systems can be defined for each node in column 3 DID or for the whole experimental model (if no value is set in any of the DID, then the first basis in model.bas is used.

links

fecom('ShowLinks Sensors') generates a plot with the mode wire-mesh associated with the SensDof entry Sensors.

For older models where the wire frame is included in the model with a negative EGID, fecom('ShowLinks') still generates a standard plot showing the FEM as a gray mesh, the test wire-frame as a red mesh, test/FEM node links as green lines with end circles, and rotation interpolation links as blue lines with cross markers.

stick

The stick command can be used to find an orthonormal projection of the test nodes onto the nearest FEM surface. The projected nodes are found in the match.StickNode field.

 [sens,def]=demosdt('demo gartte cor');
 match=fe_sens('stick sensors',sens,'selface');

WireExp

def = fe_sens('wireexp',sens) uses the wire-frame topology define in sens to create an interpolation for un-measured directions. The following example applies this method for the GARTEUR example. You can note that the in-plane bending mode (mode 8) is clearly interpolated with this approach.

 [sens,test_mode]=demosdt('demo gartte wire');
 Exp=fe_sens('wireexp show',sens);
 pause
 cf=feplot;cf.model=sens;
 cf.def(1)=test_mode;
 cf.def(2)={test_mode,Exp};
 fecom(';show2def;scaleequal;ch8');
 legend(cf.o(1:2),'Nominal','Wire-exp')

By default each segment of the wire-frame is represented as a beam with a diameter chosen based on the mean inter node distance. You can specify the beam diameter in the command def = fe_sens('wireexp diam 5e-3',sens).

Section 4.3, femesh, fe_exp, fe_c,ii_mac, ii_comac


©1991-2009 by SDTools
Previous Up Next