Script Calls

In this section script calls are listed.

Configuration Parameter

Example

Remarks

${pre_prep}

${pre_prep} = "<script-name>";

Script that should be executed before tosca_prep is started.

${pre_prep_add_call}

${pre_prep_add_call}="";

Options for ${pre_prep}.

${post_fem2onf}

${post_fem2onf} = "<script-name>";

Script that should be executed after fem2onf is finished.

${post_fem2onf_add_call}

${post_fem2onf_add_call}="";

Options for ${post_fem2onf}.

${post_prep}

${post_prep} = "<script-name>";

Script that should be executed after tosca_prep is finished.

${post_prep_add_call}

${post_prep_add_call}="";

Options for ${post_prep}.

${pre_fem_modif}

${pre_fem_modif} = "<script-name>";

Script that should be executed before fem_modif is started.

${pre_fem_modif_add_call}

${pre_fem_modif_add_call}="";

Options for ${pre_fem_modif}.

${post_fem_modif}

${post_fem_modif} = "<script-name>";

Script that should be executed after fem_modif is finished.

${post_fem_modif_add_call}

${post_fem_modif_add_call}="";

Options for ${post_fem_modif}.

${pre_solver}

${pre_solver} = "<script-name>";

Script that should be executed before the start of the finite element analysis. (In case of multiple FE analysis, the script is executed before each finite element analysis.)

${pre_solver_add_call}

${pre_solver_add_call}="";

Options for ${pre_solver}.

${post_solver}

${post_solver} = "<script-name>";

Script that should be executed after the finite element analysis. (In case of multiple FE analysis, the script is executed at the end of the solver sequence.)

${post_solver_add_call}

${post_solver_add_call}="";

Options for ${post_solver}.

${pre_res2vtm}

${pre_res2vtm} = "<script-name>";

Script that should be executed before the SIMULIA Tosca Structure result module.

${pre_res2vtm_add_call}

${pre_res2vtm_add_call}="";

Options for ${pre_res2vtm}.

${post_res2vtm}

${post_res2vtm} = "<script-name>";

Script that should be executed after the SIMULIA Tosca Structure result module.

${post_res2vtm_add_call}

${post_res2vtm_add_call}="";

Options for ${post_res2vtm}.

${pre_life2vtm}

${pre_life2vtm} = "<script-name>";

Script that should be executed before reading the durability results. Typically used for fe-safe integration (csv_2_onf converter).

${pre_life}

${pre_life} = "<script-name>";

Script that should be executed before the durability solver.

${pre_life_add_call}

${pre_life_add_call}="";

Options for ${pre_life}.

${post_life}

${post_life} = "<script-name>";

Script that should be executed after the durability solver.

${post_life_add_call}

${post_life_add_call}="";

Options for ${post_life}.

${pre_opt}

${pre_opt} = "<script-name>";

Script that should be executed before the SIMULIA Tosca Structure 2017 optimization module.

${pre_opt_add_call}

${pre_opt_add_call}="";

Options for ${pre_opt}.

${post_opt}

${post_opt} = "<script-name>";

Script that should be executed after the SIMULIA Tosca Structure 2017 optimization module.

${post_opt_add_call}

${post_opt_add_call}="";

Options for ${post_opt}.

${post_eval}

${post_eval} = "<script-name>";

Script that should be executed at the end if the optimization procedure is completed (before moving the files into the corresponding SAVE directories).

${post_eval_add_call}

${post_eval_add_call}="";

Options for ${post_eval}.

${pre_smooth}

${pre_smooth}= "<script-name>";

Script that should be executed before Tosca Structure.smooth is started

${pre_smooth_add_call}

${pre_smooth_add_call}="";

Options for ${pre_smooth}.

${post_smooth}

${post_smooth}= "<script-name>";

Script that should be executed after Tosca Structure.smooth has run.

${post_smooth_add_call}

${post_smooth_add_call}="";

Options for ${post_smooth}.

${pre_report}

${pre_report}= "<script-name>";

Script that should be executed before Tosca Structure.report is started.

${pre_report_add_call}

${pre_report_add_call}="";

Options for ${pre_report}.

${post_report}

${post_report}= "<script-name>";

Script that should be executed after Tosca Structure.report has run.

${post_report_add_call}

${post_report_add_call}="";

Options for ${post_report}.

${pre_fem_modif_matrix}

${pre_fem_modif_matrix} = "<script-name>";

Script that should be executed before fem_modif is started in a matrix step.

${pre_fem_modif_matrix_add_call}

${pre_fem_modif_matrix_add_call}="";

Options for ${pre_fem_modif_matrix}.

${post_fem_modif_matrix}

${post_fem_modif_matrix} = "<script-name>";

Script that should be executed after fem_modif has been finished in a matrix step.

${post_fem_modif_matrix_add_call}

${post_fem_modif_matrix_add_call}="";

Options for ${post_fem_modif_matrix}.

${pre_solver_matrix}

${pre_solver_matrix} = "<script-name>";

Script that should be executed before solver is started in a matrix step.

${pre_solver_matrix_add_call}

${pre_solver_matrix_add_call}="";

Options for ${pre_solver_matrix}.

${post_solver_matrix}

${post_solver_matrix} = "<script-name>";

Script that should be executed after solver has been finished in a matrix step.

${post_solver_matrix_add_call}

${post_solver_matrix_add_call}="";

Options for ${post_solver_matrix}.

${pre_res2vtm_matrix}

${pre_res2vtm_matrix}= "<script-name>";

Script that should be executed before the SIMULIA Tosca Structure 2017 result module while performing a matrix step.

${pre_res2vtm_matrix_add_call}

${pre_res2vtm_matrix_add_call}="";

Options for ${pre_res2vtm_matrix}.

${post_res2vtm_matrix}

${post_res2vtm_matrix}= "<script-name>";

Script that should be executed after the SIMULIA Tosca Structure 2017 result module while performing a matrix step.

${post_res2vtm_matrix_add_call}

${post_res2vtm_matrix_add_call}="";

Options for ${post_res2vtm_matrix}.

${pre_matrix}

${pre_matrix} = "<script-name>";

Script that should be executed before the SIMULIA Tosca Structure 2017 optimization module in matrix step.

${pre_matrix_add_call}

${pre_matrix_add_call}="";

Options for ${pre_matrix}.

${post_matrix}

${post_matrix} = "<script-name>";

Script that should be executed after the SIMULIA Tosca Structure 2017 optimization module in matrix step.

${post_matrix_add_call}

${post_matrix_add_call}="";

Options for ${post_matrix}.

Configuration Parameter

Example

Remarks

${fe_solver_script}

${fe_solver_script} = "<script-name>";

Special script that be used for calling your FE solver with a queuing system, see number 4 at Remarks and ${execute_as_perl_ext} ="<script extension>"; in Other settings.

${life_solver_script}

${life_solver_script} = "<script-name>";

Special script that can be used for calling your life solver with a queuing system, see number 4 at Remarks and ${execute_as_perl_ext} ="<script extension>"; in Other settings.

${fe_solver_submit_check}

${fe_solver_submit_check}= "<script-name>";

User-implemented script. Returns:

0 - Job successfully completed

1 - Job ended with an error

5 - Job is still running.

${fe_solver_submit_check_cmdline}

${fe_solver_submit_check_cmdline}= "<options>";

Commandline options for ${fe_solver_submit_check}.

${fe_solver_submit_interval}

${fe_solver_submit_interval} = 30

The interval in seconds with which ${fe_solver_submit_check} is called.

${fe_solver_submit_time_out}

${fe_solver_submit_time_out} = 3600

Time out is seconds. Defining when SIMULIA Tosca Structure gives up to wait for a result from submitted job.

${life_solver_submit_check}

${life_solver_submit_check}= "<script-name>";

User-implemented script. Returns:

0 - Job successfully completed

1 - Job ended with an error

5 - Job is still running

Not allowed for MSC Fatigue® and Falancs.

${life_solver_submit_check_cmdline}

${life_solver_submit_check_cmdline}= "<options>";

Commandline options for ${life_solver_submit_check}.

${life_solver_submit_interval}

${life_solver_submit_interval} = 30

The interval in seconds with which ${life_solver_submit_check} is called.

${life_solver_submit_time_out}

${life_solver_submit_time_out} = 3600

Time out in seconds. Defining when SIMULIA Tosca Structure gives up to wait for a result from submitted job.

Remarks

  1. See also the figure in Script Entry Points for a graphical view of where in the SIMULIA Tosca Structure.control workflow the scripts are called.
  2. All scripts should be in the starting directory ($startdir). The script will be executed within the SIMULIA Tosca Structure working directory, similar to:
    > cd $workdir 
    
    > $start_dir/$your_script <arguments ...>
    
  3. For the reason above your script should not use any absolute paths.
  4. Versions of SIMULIA Tosca Structure prior 7.2 allowed to use the following syntax, which will now lead to an error message( "Wrong configuration settings"):

    THIS IS NOT ALLOWED:

    $pre_prep = "echo 1 & echo 2 & my_script.cmd 3";
  5. With SIMULIA Tosca Structure 2017 you should make a script which contains all these 3 calls using perl scripts or native OS scripts. If you need additional parameters to be supplied to your script by your configuration use the newly introduced _add_call for user scripts:

    THIS IS THE CORRECT WAY:

    $pre_prep = "pre_prep_script.pl";
    
    $pre_prep_add_call = "1 2 argument3";
    
  6. Use of ${fe_solver_script} and ${life_solver_script} is unsupported and the use is at own risk! It is also recommended to use ${fe_solver_submit_check} or ${life_solver_submit_check} instead. ${fe_solver_script} and ${life_solver_script} are special scripts to avoid the normal work flow of SIMULIA Tosca Structure.control to be able to call FE solver or LIFE solver in a queuing environment. The scripts should be called as a perl script to be able to access the list of model files (defined in FEM_INPUT command and LIFE_FILE items). The arrays are called @{$::cf{model_list}} and @{$::cf{life_list}}.

    Example:

    CONFIG
      ${execute_as_perl_ext} ="pl";
      ${fe_solver_script} = "fe_solver_script_queing.pl";
    END_
    
    The script fe_solver_script_queing.pl should be able to wait for your queuingsystem to be done. It should look something like:
    ------------------------------------------------------
    
    #!/usr/bin/perl -w
    foreach my $file (@{$::cf{model_list}} ) {
      system("<some_que_command> $file");
    }
    
    # check if all results files are present 
    # and that all copy actions are done
    ...
    
    ------------------------------------------------------
    
  7. If ${fe_solver_submit_check} is set, SIMULIA Tosca Structure will assume that the call ${fe_solver_exe} is a submit script, that is a script submit­ ting a job to a queuing system. This script has to be implemented by the user, but can be supported by your local SIMULIA Tosca Structure support. The ${fe_solver_submit_check} script is called each ${fe_sol­ ver_submit_interval} seconds. SIMULIA Tosca Structure will wait ${fe_sol­ ver_submit_time_out} seconds for the successful end of the solver submit and hence positive check of the ${fe_solver_submit_check}. If the time $fe_solver_submit_time_out is exceeded and the solver is still running SIMULIA Tosca Structure will exit with an error message.

    Example:

    ${fe_solver_exe} = "solver_script.sh";
    
    ${fe_solver_submit_check} = "fe_solver_check.pl";
    
    ${fe_solver_submit_check_cmdline} = "${__FE_MODEL__}";
    
    ${fe_solver_submit_interval} = 30;
    
    ${fe_solver_submit_time_out} = 3600;
    
    ${execute_as_perl_ext} = "pl";
    
  8. The ${life_solver_submit_check} works similar for ${life_sol­ ver_exe} calls and may be used with all life-solvers excepts MSC Fatigue® and Falancs.
  9. The ${fe_solver_submit_check} and ${life_solver_sub­ mit_check} should be used with caution. Checking for simple file exis­ tense is often not enough especially by large files. Please contact your local SIMULIA Tosca Structure support for further information.
  10. The keyword DEPENDENT_FILE in FEM_INPUT can be used together with ${fe_solver_submit_check} and ${life_solver_sub­ mit_check} to ensure that dependent steps are performed in the right order. Please contact your local SIMULIA Tosca Structure support for further information.