Contents     Functions         Previous Next     PDF Index

3.1  Topology correlation and test preparation

Topology correlation is the phase where one correlates test and model geometrical and sensor/shaker configurations. Most of this effort is handled by fe_sens with some use of femesh.

Starting with SDT 6.0, FEM sensors (see section 4.6) can be associated with wire frame model, the strategy where the two models where merged is thus obsolete.

As described in the following sections the three important phases of topology correlation are

3.1.1  Defining sensors in the FEM model

This corresponds to the TestFEM dock and the TestBas tab. Prior steps are to declare

One then declares the wire frame (with sensors) as SensDof case entry as done below (see also the gartte demo). The objective of this declaration is to allow observation of the FEM response at sensors (see sensor Sens).

 cf=demosdt('demo gartfeplot'); % load FEM
 TEST=demosdt('demo garttewire');  % see sdtweb('pre#presen')
 cf.mdl=fe_case(cf.mdl,'sensdof','outputs',TEST)

 % 
 fecom(cf,'DockTestFEM');  % Open the TestFEM Dock
 fecom(cf,'SetTestBas',struct('Tune','do'))
 
 fecom(cf,'curtabCase','outputs');fecom('ProViewOn')
 fecom('TextStack') % display sensor text
 % now display FEM shape on sensors
 fe_case(cf.mdl,'sensmatch')
 cf.sel(2)='-outputs';
 cf.o(1)={'sel 2 def 1 ch 7 ty2 scc .25','edgecolor','r'};

Section 4.6 gives many more details the sensor GUI, the available sensors (sensor trans, sensor triax, laser, ...). Section 4.6.4 discusses topology correlation variants in more details.

3.1.2  Test and FEM coordinate systems

In many practical applications, the coordinate systems for test and FEM differ. fe_sens supports the use of a local coordinate system for test nodes with the basis command.

Interactive test mesh placement is available in the SDT GUI, using command fe_sensGuiTestBas.

% Loading the interactive test mesh placement GUI
 cf=demosdt('demo garttebasis'); % Load the demo data
 cf.CStack{'sensors'} % contains a SensDof entry with sensors and wireframe
 fecom(cf,'setTestBas'); % Open interactive tab in feplot properties

Operations permitted through the GUI implementation are available in script commands. The modus operandy considers a three steps process.

In peculiar cases, the FEM and TEST mesh axes differ, and a correction in rotation in the Phase 2 may be easier to use. An additional rotation to apply in the TEST mesh basis can be obtained by fulfilling the field rotation in Phase 2. The rotations are applied after other modifications so that the user can directly interpret the current feplot display. The rotation field corresponds to a basis rotate call. The command string corresponding to a rotation of 10 degrees along axis y is then 'ry=10;'. Several rotations can be combined: 'ry=10; rx=-5;' will thus first perform a rotation along y of 10 degrees and a rotation along x of -5 degrees. These combinations are left to the user's choice since rotation operations are not symmetric (e.g. 'rz=5;rx=10;' is a different call from 'rx=10;rz=5;').

The following example demonstrates the 3 phases in a script.

 cf=demosdt('demo garttebasis'); % Load the demo data
 cf.CStack{'sensors'} % contains a SensDof entry with sensors and wireframe
 
 % Phase 1: initial adjustments done once
  % if the sensors are well distributed over the whole structure
  fe_sens('basis estimate',cf,'sensors');

 % Phase 1: initial adjustments done once, when node pairs are given
  % if a list of paired nodes on the TEST and FEM can be provided
  % For help on 3DLinePick see sdtweb('3DLinePick')
  cf.sel='reset';    % Use 3DLinePick to select FEM ref nodes
  cf.sel='-sensors'; % Use 3DLinePick to select TEST ref
  i1=[62 47 33 39;          % Reference FEM NodeId
     2112 2012 2301 2303]';% Reference TEST NodeId
  cf.sel='reset'; % show the FEM part you seek
  fe_sens('basis estimate',cf,'sensors',i1);
 
 
 %Phase 2 save the commands in an executable form
 % The 'BasisEstimate' command displays these lines, you can
 % perform slight adjustments to improve the estimate
  fecom(cf,'initTestBas') % When you change a value script below displayed
  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.005],... % test origin in FEM coordinates
   'scale', [0.01]); % test/FEM length unit change 

 %Phase 3 : Force change of TEST.Node and TEST.tdof to FEM coordinates
 fecom('SetTestBas',struct('BasisToFEM','do'));
 fe_case(cf.mdl,'sensmatch')
 sens=fe_case(cf.mdl,'sens')

Note that FEM that use local coordinates for displacement are discussed in sensor trans.

3.1.3  Sensor/shaker placement

In cases where an analytical model of a structure is available before the modal test, it is good practice to use the model to design the sensor/shaker configuration.

Typical objectives for sensor placement are

Sensor placement capabilities are accessed using the fe_sens function as illustrated in the gartsens demo. This function supports the effective independence [14] and maximum sequence algorithms which seek to provide good placement in terms of modeshape independence.

It is always good practice to verify the orthogonality of FEM modes at sensors using the auto-MAC (whose off-diagonal terms should typically be below 0.1)

 cphi = fe_c(mdof,sdof)*mode; ii_mac('cpa',cphi,'mac auto plot')

For shaker placement, you typically want to make sure that

The placement based on the first objective is easily achieved looking at the minimum controllability, the second uses the Multivariate Mode Indicator function (see ii_mmif). Appropriate calls are illustrated in the gartsens demo.


©1991-2017 by SDTools
Previous Up Next