Contents     Functions     Index     Previous Next     PDF

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 4.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 [19] 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 4.1.

The sensor configuration information is stored as a SensDof entry (see section 5.4 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 

cta

cta = fe_sens('cta',sens) uses links defined in sens.Elt to build the observation matrix of test DOF motion from active FEM DOFs defined by sens.DOF.

info

fe_sens('info',sens) returns a summary of sensor configuration information currently stored in sens.

tdof

tdof = fe_sens('tdof',sens.tdof) returns the 5 column form of tdof if sens.tdof is defined as a DOF definition vector.

Note that sensors defined using a sens.tdof DOF definition vector use the response coordinate system information given in column 3 of sens.Node while the 5 column format gives sensor directions in the global FEM coordinate system. In the example above, position and displacement coordinate systems for test nodes are set to 100. Thus the sensor 1011y (sens.tdof(1)) is a measurement in FEM direction z.

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.

laser

fe_sens('laser px py pz',model,SightNodes,'SensDofName') appends translation sensors based on line of sight direction from the laser scanner position px py pz to the measurement nodes SightNodes. Sighted nodes can be specified as a standard node matrix or using a node selection command such as 'NodeId>1000 & NodeId<1100'. If you want to flip the measurement direction, use a call of the form

cf.CStack{''output''}.tdof(:,3:5)=-cf.CStack{''output''}.tdof(:,3:5)

near,rigid,arigid

Calls of the form
 sens=fe_sens('arigid',sens,'TestNodeSelectors','FEMNodeSelectors');
are used to create observation matrices for sensors. Please read section 5.4.2 for more details.

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).

femesh, fe_exp, fe_c,ii_mac, ii_comac

©1991-2007 by SDTools
Previous Up Next