Contents   Functions      PDF Index |
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
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) % View the Case entry in the properties figure 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.
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 fe_sens('GUITestBasInit',cf) % Load interactive tab in SDT Root
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 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 'rotation',''); % additional rotations %Phase 3 : Force change of TEST.Node and TEST.tdof to FEM coordinates fe_sens('basisToFEM',cf.mdl,'sensors') fe_case(cf.mdl,'sensmatch')
Note that FEM that use local coordinates for displacement are discussed in sensor trans.
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.