Contents     Functions              PDF Index

## fe_exp

Purpose

Expansion of experimental modeshapes.

Syntax

```emode = fe_exp(yTest,c,T)
emode = fe_exp(yTest,sens,T,opt)
yExp  = fe_exp(yTest,fTest,sens,m,k,mdof,freq,opt)
```

Description

A unified perspective on interpolation and the more advanced finite element based expansion methods are discussed in the tutorial 3.3. An example is treated in detail in the gartco demonstration. This section gives a list of available methods with a short discussion of associated trade-offs.

### Interpolation

Interpolation methods can be implemented easily by constructing a basis t of possible displacements and minimizing the test error as discussed in section 3.3.2.

For example, if node 2 is placed at a quarter of the distance between nodes 1 and 3 whose motion is observed. A linear interpolation for translations in the x direction is built using

``` ndof = [1.01;2.01;3.01]; T= [1 0;3/4 1/4;0 1];
yExp = fe_exp(yTest,fe_c(ndof,[1.01;3.01])*T,T)
```

For expansion of this form, T must contain at most as many vectors as there are sensors. In other cases, a solution is still returned but its physical significance is dubious.

### Modal, Serep

Modal or SEREP expansion is a subspace based expansion using the subspace spanned by low frequency target modes. With a sensor configuration defined (sens defined using fe_sens), a typical call would be

``` [phi,wj] = fe_eig(m,k,[105 50 1e3]);
TargetModes = phi(:,[IndicesOfTargetModes]);
mdex = fe_exp(IIres.',sens,TargetModes);
```

This method is very easy to implement. Target modes can be imported from an external code. A major limitation is the fact that results tend to be sensitive to target mode selection.

You can impose that an orthogonal linear combination of the modes is used for the expansion using mdex = fe_exp(IIres.',sens,TargetModes,2);. This is motivated for cases where both test and analysis modeshapes are mass normalized and will provide mass orthonormal expanded modeshapes [48]. In practice it is rare that test results are accurately mass normalized and the approach is only implemented for completeness.

### Static

Static expansion can be obtained using two different approaches. If constraint modes (or attachment modes for structures without rigid body modes) are imported (or computed using [T] = fe_reduc('static',m,k,mdof,sdof)), static expansion can be considered as a subspace method and the solution is found with

``` mdex = fe_exp(IIres.',sens,T);
```

The subspace can also be computed by fe_exp, using

``` mdex = fe_exp(IIres.',0,sens,m,k,mdof);
```

which will handle arbitrary sensor configurations defined in sens.

The main limitation with static expansion is the existence of a frequency limit (first frequency found when all sensors are fixed). [mdex,phi_fixed] = fe_exp(IIres.', 0, sens, m,k,mdof); returns an estimate of the first 10 fixed sensor modes. If the first frequency is close to your test bandwidth, you should consider using dynamic expansion.

### Dynamic, RBDE

Dynamic expansion is supported at a single frequency or at one frequency for each deformation to be expanded using

``` mdex = fe_exp(yTest,fExp*2*pi,sens,m,k,mdof);
```

Reduced basis dynamic expansion (RBDE) is supported using

``` mdex = fe_exp(yTest,fExp*2*pi,sens,m,k,mdof,T);
```

where T typically contains normal and attachment modes (see gartco for an example). Note that, when using reduced bases, you can provide T'*m*T and T'*k*T instead of m and k which saves a lot of time if these matrices have already been computed.

### MDRE, MDRE-WE

Minimum dynamic residual expansion (MDRE) is currently only implemented for normal modeshape expansion. Furthermore, computational times are generally only acceptable for the reduced basis form of the algorithm. A typical call would be

``` mdex = fe_exp(yTest,fExp*2*pi,sens,m,k,mdof,T,'mdre');
```

where T contains normal and attachment modes but often needs to be renormalized using T = fe_norm(T,m,k) to prevent numerical conditioning problems (see gartco for an example). Note that, when using reduced bases, you can provide T'*m*T and T'*k*T instead of m and k which saves a lot of time if these matrices have already been computed.

MDRE-WE (Minimum dynamic residual expansion with measurement error) iteratively adjusts the relative weighting γj between model and test error in (3.9). Input arguments specify a starting value for γj and a relative error bound. The initial value for γj is increased (multiplied by 2) until єj/||{yjTest}|| is below the given bound. A typical call would be єj/||{yjTest}||

``` opt=struct('type','mdrewe','gamma',1,'MeasErr',.1);
yTest=IIres.';wTest=IIpo(:,1)*2*pi;
[mdex,opt,mdexr,err]=fe_exp(yTest,wTest,sens,m,k,mdof,T,opt);
```

where the opt in the output gives the adjusted values of γj, mdexr is the expanded vector expressed in the generalized coordinates associated with T, and err gives the objective function value (first row) and relative error (second row).