3.5  SDT numerical experiments (DOE)

3.5  SDT numerical experiments (DOE)#

A systematic process has been defined to standardize computations and associated parametric studies. An experiment is described by a list of strings stored as nmap('CurExp') entry. For example

RT=d_doe('nmap.Hbm.Gart');RT.nmap('CurExp')
%    {'MeshCfg{d_fetime(Gart),VtGart}',';'
%      'SimuCfg{ModalNewmark{$dt$,10,fc,chandle1}}',';'
%   'RunCfg{Reduce}' }

Each string corresponds to a step (called level fe_range Loop since steps can be organized in a tree). Standard steps are described below

  • MeshCfg, 10 Mesh configuration : defines the FEM, sensor and loading locations. To stop at the default implementation set a break point using sdtweb _bp sdtsys stepMesh. 'MeshCfg{d_fetime(Gart):VtGart:None}' is split into 3 sub steps
    • Mesh (level 10.1), generating the mesh where the callback function is d_fetime, called with command MeshGart.
    • Case (level 10.2), adding case (boundary conditions, ...) using call d_fetime('CaseVtGart').
    • NL (level 10.3), adding non linearity information using d_fetime('CaseNLNone')
  • SimuCfg, 20 is used to set intermediate parameters
  • RunCfg, 30 list of run steps given as a comma separated list.

3.5.1  RunCfg : execution of computations#

RunCfg list of run steps given as a comma separated list. If you need to debug usage, use sdtweb('_bp','sdtsys','steprun'). Standardized steps are

  • Step{CurStep,Inval} declares a step sequence used to differentiate entries for intermediate results for multiple RunCfg entries. A step name can be attributed and step input model can be selected. Syntax is RunCfg{Step{CurStep,Inval,...}. curStep is the name of the current step, by default the step final output will be stored in the nmap under the step name. As an option one can specify the model to be used as current in this specific step by adding option Inval. The current model will then be reset as the val entry of the nmap.
  • Change allows model changes using fe_casegChange events. anywhere in the RunCfg sequence, setting change{type:val} will call change with event .evt=type and .data=val on the current model. All changes must have been defined in the model beforehand.
  • Time calls fe_time.
  • eig calls fe_eig.
  • DFRF calls fe_simulDFRF.
  • SetM{storeName1/val1,...} presets storage names to integrate output variable naming in called procedures. This entry must be placed before the associated command. It generates a StoreNext entry in nmap to be handled later by sdtm.store. The concerned procedure should then end with a call to sdtm.store(projM) so that variables of interest can be stored. storeName1 will be the nmap entry set to store the evaluation of val1 in the calling function.
  • Save,R,N{val,...} allows saving/storing intermediate results.
    • Save saves the current step result, so that a new experiment execution will shortcut the sequence up to the last saved result reload it and carry-on. If a list of nmap entries is given in {val,...}, these entries are saved, else if the step name is provided and a stored results under this name exists the content is saved, otherwise nmap('mo1') is saved by default.
    • SaveR asks for a reset, so that no shortcut is performed upon replay and the result will be overwritten.
    • SaveN will only stored the result in nmap (non permanent).
  • Strings that correspond to nmap keys and possibly use dynamic references to nmap keys are replaced by the corresponding value. For example in above the Reduce key has value 'nl_solve(ReducFree 2'NM 1e3 -Float2 -SetDiag -SE)' where the NM is replaced by the current value of nmap('NM').

Looping on a range of experiments, needs to be documented. URN with key replacement.