1.3.1. Expansion GUI#
This tutorial aims at illustrating how to implement and analyze expansion technique using GUI in SDT.
Step 1 : Load required data for expansion#
:::{dropdown} Run step . Expand to display source code.
[model,def,id]=demosdt('DemoGartDataCoShape');
::: Execute the line below to load all required data for expansion :
[model,def,id]=demosdt('DemoGartDataCoShape');
model
: GARTEUR model (very light FEM model classically used in SDT tutorials) that also contains the sensor definition and wireframe geometry in theSensDof
Stack entrydef
: FEM modesid
: identified modes :::{note} :class: dropdown TheSensDof
is used to build the observation matrix of the sensors (tdof) on the FEM (DOF). You can access its structure inwire
and build the observation matrix inSens
with the command below
wire=fe_case('getsensdof',model);
Sens=fe_case('Sens',model);
:::
Step 2 : Define a model parameter from script#
:::{dropdown} Run step . Expand to display source code.
model=fe_case(model,'ParAdd k 1.0 0.1 10','ConstrainedLayer','pro4');
:::
:::{warning}
:class: dropdown
Note that this step often needs the module PARAM
and custom strategies
when dealing with industrial models. This is a very simple
parameterization example to show how it can be used later on.
:::
Execute the line below to parameterize the ContrainedLayer stiffness in
the model.
model=fe_case(model,'ParAdd k 1.0 0.1 10','ConstrainedLayer','pro4');
This parameter is introduced here to illustrate how to deal with it during expansion.
Step 3 : Open the dock CoShape
#
:::{dropdown} Run step . Expand to display source code.
RO=struct('model',model,'va',id,'vb',def);
VC=iicom('DockCoShape',RO);
:::
To open the dock CoShape
with the required data, store them in a RO
(running option) structure with the fields model
, va
and vb
.
va
reads Vector set A (here the identified modes)
vb
reads Vector set B (here the FEM modes)
RO=struct('model',model,'va',id,'vb',def);
Then execute the command below to open the dock CoShape
VC=iicom('DockCoShape',RO);
Step 4 : Build the reduced parameterized model for expansion#
:::{dropdown} Run step . Expand to display source code.
% Compute reduced model for expansion
ii_mac(VC,'SetCoExp',struct('sparse',1,'Reduce','Mode+Sens','do','Reduce'));
:::
Open the tab CoExp
to build the reduced parameterized model
To performe Minimum Dynamic Residual Expansion
, we will use the
reduction method Mode+Sens
which uses mode shapes and an enrichment with
static response at each sensor.
Click on
Step 5 : Specify design points for expansion computation#
:::{dropdown} Run step . Expand to display source code.
ii_mac(VC,'SetCoExp',struct('jw','1:5','lgamma','1:5',...
'param1','@log(-1,1,11)','MDRE','do'));
:::
Step 6 : Switch between post-expansion analyzes#
:::{dropdown} Run step . Expand to display source code.
ii_mac(VC,'SetMDRE',struct('ShowExp','do'));
ii_mac(VC,'SetMDRE',struct('ShowExpTest','do'));
ii_mac(VC,'SetMDRE',struct('ShowErrMod','do'));
ii_mac(VC,'SetMDRE',struct('ShowErrModModesOnly','do'));
ii_mac(VC,'SetMDRE',struct('ShowErrModSensOnly','do'));
%ii_mac(VC,'SetMDRE',struct('ShowErrTest','do')); % Not useful as it is
%shown in feplot3
:::
Step 7 : Show model error vs. parameter for all $\gamma$#
:::{dropdown} Run step . Expand to display source code.
ii_mac(VC,'SetMDRE',struct('ShowExpTest','do'));
ii_mac(VC,'SetMDRE',struct('Xaxis3',1,'Dim3',1,'Dim2','all','Dim4','ErrMod','Dim5',1));
:::