SHELL 22.1

Customising the GUI SHELL

Customising the GUI SHELL

The 'oa_pref' file controls the setup of a number of the programs in the software suite. Most of the programs will look for this file in the following 4 locations in the order given to allow individual users to customise the programs for their own needs :

  • The OA_ADMIN_xx directory
  • The directory containing the executables (OA_INSTALL directory)
  • The user's login directory
  • The current working directory

The 'xshell_22' SHELL will look for this file in all four directories. However to stop users trying to override the system settings, it will only read a seletion of the SHELL preferences from the home and current working directory (those that do not affect system settings). This section only deals with the options for setting up the GUI SHELL, the options for the other programs are covered in the relevant manuals.

From v94 preferences can be locked. If a preference is locked it cannot be changed in an oa_pref file in a more junior directory. To lock a preference use the syntax 'shell#' rather than 'shell*' .

From v94 Environment variables can be used and they will be expanded by the SHELL. For example on Windows you could specify the temp folder with shell*temp_folder: %USERPROFILE%/my_temp_folder.

Any line in the 'oa_pref' file that does not start with the string 'shell*' or 'shell#' is ignored, normally comment lines will be prefixed with a # for clarity. The relevant sections of this file follows below.

# Preferences file for software.
#
# SHELL stuff:
#
# Definition Type  Valid arguments Default
# online logical  TRUE or FALSE TRUE
# background logical  TRUE or FALSE TRUE
# batch logical  TRUE or FALSE TRUE
# queue logical  TRUE or FALSE TRUE
# default string  ONLINE or BACKGROUND or BATCH or QUEUE ONLINE
# display_factor real  Factor on display size (0.5-2.0) 1.0
# button_gradation real  Button shade gradation (0.0-1.0) 0.5
# dyna_keyword_manual string  Pathnames of up to 4 Dyna keyword manuals, separated by commas
# dyna_theory_manual string  Pathname of Dyna theory manual
# batch_type string  NQS,LSF,SGE,PBS,PBSPRO7 or PBSPRO71 NQS
# queue_output_file logical  Add output file directive to job script TRUE
# queue_error_file logical  Add error file directive to job script TRUE
# queue_error_path logical  Add job path to output/error directive in job script TRUE
# queue_memory real  Batch Queue Memory Size 15000000
# queue_memory_units string  WORDS or MWORDS WORDS
# queue_cpu real  Batch Queue CPU Limit 0
# queue_cpu_units string  SECONDS, MINUTES or HOURS SECONDS
# queue_space real  Batch Queue File Space Limit 1024 1024
# queue_machine string  Name of LSF queuing machine  
# request_cpu_limit logical  TRUE or FALSE TRUE
# request_memory_limit logical  TRUE or FALSE TRUE
# request_space_limit logical  TRUE or FALSE FALSE
# system_cpu real  Minimum System Time (seconds) 90
# job_format string  KEYWORD or FIXED KEYWORD
# file_names string  ARUP or LSTC ARUP
# job_memory real  Job Memory Size 9000000
# job_memory_units string  WORDS or MWORDS WORDS
# job_cpu real  Job CPU Limit 0
# job_cpu_units string  SECONDS, MINUTES or HOURS SECONDS
# allow_mem_change logical  TRUE or FALSE TRUE
# file_size integer  Binary File Size 1024
# write_ctf logical  TRUE or FALSE FALSE
# write_ztf logical  TRUE or FALSE TRUE
# batch_display string  TRUE or FALSE
# keep_files logical  TRUE or FALSE FALSE
# d3plot64_version string  name of 64 bit D3PLOT executable d3plot<ch:var name="version"/>_64.exe
# this64_version string  name of 64 bit T/HIS executable this<ch:var name="version"/>_64.exe
# primer64_version string  name of 64 bit PRIMER executable primer<ch:var name="version"/>_64.exe
# reporter64_version string  name of 64 bit REPORTER executable reporter<ch:var name="version"/>_64.exe
# shell_release string  version # displayed for shell <ch:var name="version"/>.0
# max_cpus integer  Maximum number of CPUS 4
# max_mpp_cpus integer  Maximum number of CPUs for MPP 4
# default_cpus integer  Default number of CPUs for SMP 1
# default_mpp_cpus integer  Default Number of CPUs for MPP 1
# max_node_cpus integer  Maximum number of CPUs per node for MPP jobs 2
# pack_nodes logical  Pack MPP jobs on the minimum number of nodes TRUE
# submit_shell string  CSHELL or BSHELL CSHELL
# unix_type string  SYSTEM5 or BSD SYSTEM5
# manual_reader string  location of ADOBE ACROBAT reader acroread
# enable_job_monitoring logical  TRUE or FALSE TRUE
# temp_folder string  Location to write .bat file to on a PC C:\TEMP
# max_hybrid_mpp_threads integer  Maximum number of MPP threads for Hybrid Dyna 4
# max_hybrid_smp_threads integer  Maximum number of SMP threads for Hybrid Dyna 4
# default_hybrid_mpp_threads integer  Default number of MPP threads for Hybrid Dyna 1
# default_hybrid_smp_threads integer  Default number of SMP threads for Hybrid Dyna 1
# case_option logical  case option FALSE
# mcheck_option logical  mcheck option FALSE
# xterm_start logical  Start programs from an xterm console TRUE
# default_code_type string  SMP, MPP or HYBRID MPP
# default_precision string  SINGLE or DOUBLE SINGLE
# default_mpi_type string   PMPI
# default_ls_dyna_executable string  
# default_mpi_executable string  
# reporter_format string ORR,ORRX
ORRX
# write_reporter logical  TRUE,FALSE FALSE
# write_html logical  TRUE,FALSE FALSE
# write_pdf logical  TRUE,FALSE TRUE
# write_ppt logical  TRUE,FALSE FALSE
# combine_reporter
logical TRUE,FALSE
TRUE
# skip_generate
logical
 TRUE,FALSE
TRUE
# combine_reporter_pdf
logical
 TRUE,FALSE
TRUE
# combine_reporter_pptx
logical
 TRUE,FALSE
TRUE
# combine_reporter_html
logical
 TRUE,FALSE
TRUE
# run_reporter_iconised
logical
 TRUE,FALSE
TRUE
# oasys_batch
logical
 TRUE,FALSE
TRUE
# run_reporter_in_batch
logical
 TRUE,FALSE
TRUE
# automatically_exit_reporter
logical
 TRUE,FALSE
TRUE
# write_reporter_logfile
logical
 TRUE,FALSE
TRUE
# create_names_file
string
 PRE-V20,ALWAYS,NEVER
PRE-V20


Preferences marked with a '*' can be read from all four directories. If desired they can still be locked in the OA_ADMIN_xx or OA_INSTALL directories using the 'shell#' syntax:

shell*online: TRUE
shell*background: TRUE
shell*batch: TRUE
shell*queue: TRUE

shell*default: ONLINE
shell*dyna_keyword_manual: (*)
shell*dyna_theory_manual: (*)
shell*batch_type: NQS
shell*queue_output_file: TRUE
shell*queue_error_file:TRUE
shell*queue_error_path:TRUE
shell*queue_memory: 15000000
shell*queue_memory_units:WORDS
shell*queue_cpu: 0
shell*queue_cpu_units: SECONDS
shell*batch_type: NQS
shell*queue_space: 1024
shell*queue_machine:
shell*request_cpu_limit: TRUE
shell*request_memory_limit: TRUE
shell*request_space_limit: FALSE
shell*system_cpu: 90
shell*job_format: KEYWORD
shell*file_names: ARUP (*)
shell*job_memory: 9000000
shell*job_memory_units: WORDS
shell*job_cpu: 0
shell*job_cpu_units: SECONDS
shell*allow_mem_change: TRUE
shell*file_size: 1024 (*)
shell*write_ctf: FALSE (*)
shell*write_ztf: TRUE (*)
shell*batch_display: (*)
shell*keep_files: FALSE (*)
shell*d3plot64_version: d3plot22_64.exe (*)
shell*this64_version: this22_64.exe (*)
shell*primer64_version: primer22_64.exe (*)
shell*reporter64_version: reporter22_64.exe (*)
shell*shell_release: 22.1
shell*max_cpus: 1
shell*max_mpp_cpus: 1
shell*default_cpus: 1 (*)
shell*default_mpp_cpus: 1 (*)
shell*max_node_cpus: 2
shell*pack_nodes: TRUE
shell*submit_shell: CSHELL
shell*unix_type: SYSTEM5
shell*manual_reader: acroread (*)
shell*temp_folder: C:\TEMP (*)
shell*max_hybrid_mpp_threads: 1
shell*max_hybrid_smp_threads: 1
shell*default_hybrid_mpp_threads: 1
shell*default_hybrid_smp_threads: 1
shell*case_option: FALSE
shell*mcheck_option: FALSE
shell*xterm_start: TRUE
shell*default_code_type: MPP (*)
shell*default_precision: SINGLE (*)
shell*write_reporter: FALSE (*)
shell*write_html: FALSE (*)
shell*write_pdf: TRUE (*)
shell*write_ppt: FALSE (*)

shell*combine_reporter: TRUE (*)
shell*skip_generate: TRUE (*)
shell*combine_reporter_pdf: TRUE (*)
shell*combine_reporter_pptx: TRUE (*)

shell*combine_reporter_html: TRUE (*)
shell*run_reporter_iconised: TRUE (*)
shell*oasys_batch: TRUE (*)
shell*run_reporter_in_batch: TRUE (*)

shell*automatically_exit_reporter: TRUE (*)
shell*write_reporter_logfile: TRUE (*)
shell*create_names_file: PRE-V20 (*)

shell*online / shell*background / shell*batch / shell*queue

The XSHELL can submit Ansys LS-DYNA jobs using four different options. Any of these methods can be made inaccessible by setting the relevant variable to FALSE . If an option is not available on a machine then the variable should also be set to FALSE .

shell*online - Allows jobs to be submitted interactively. Delayed start times cannot be specified.
shell*background - Allows jobs to be submitted to background. If a delayed start times is specified then the job will be submitted using the LINUX 'at' command.
shell*batch - Allows jobs to be submitted using the LINUX 'batch' command. Delayed start times cannot be specified.
shell*queue - Allows jobs to be submitted to NQE style batch queues using 'qsub' or equivalent commands. Delayed start times,CPU/Memory limits and accounts may be specified.

If shell*queue is set to FALSE then sections 2.3.3 to 2.3.10 can be ignored.

shell*default

This variable controls the default option that will be used to submit Ansys LS-DYNA jobs. It should be set to either ONLINE , BACKGROUND , BATCH , or QUEUE to select the required default.

shell*dyna_keyword_manual

This variable should be set to the location of the Dyna keyword PDF manuals. Set the full pathname. Up to four PDFs can be specified (e.g. if there are separate volumes) by separating the pathnames with a comma.

shell*dyna_theory_manual

This variable should be set to the location of the Dyna theory PDF manual. Set the full pathname.

shell*batch_type

This variable controls the type of queue the QUEUE command (see shell*online / shell*background / shell*batch / shell*queue) submits the job to. At present this variable may be set to NQS , LSF, SGE (SUN GRID ENGINE), PBS, PBSPRO7 and PBSPRO71 . Due to the limitations of some of the queuing systems not all options are available with all queue types, see table below.

Function NQS PBS / PBSPRO7 / PBSPRO71 LSF SGE
Analysis Start Time Available Available Available Unavailable
Analysis Start Day Available Available Unavailable Unavailable

shell*queue_output_file

This variable controls if the SHELL writes a queue directive to specify a file for output when a job is submitted to a queueing system. If this option is set to TRUE then the queue will add the following line to the top of the job submission script.

Queue Type Command
NQS #QSUB -o "job_directory"/"jobname".log
PBS / PBSPRO7/ PBSPRO71 #PBS -o "job_directory"/"jobname".log
SGE #QSUB -o "job_directory"/"jobname".log
LSF #BSUB -o "job_directory"/"jobname".log

shell*queue_error_file

These variable controls if the Shell writes a queue directive to specify a file for errors when a job is submitted to a queueing system. If this option is set to TRUE then the queue will add the following line to the top of the job submission script.

Queue Type Command
NQS

#QSUB -eo
#QSUB -o "job_directory"/"jobname".err

PBS / PBSPRO7/ PBSPRO71 #PBS -e "job_directory"/"jobname".err
SGE #QSUB -e "job_directory"/"jobname".err
LSF #BSUB -e "job_directory"/"jobname".err

shell*queue_error_path

This option can be used to specify if the queue directives for the output and error files should contain the job path or not. By default this option is set to TRUE.

shell*queue_memory

This variable controls the value used for the default Queue Memory limit. The required value should be specified using the units defined by the shell*queue_memory_units variable (see Queue Memory Units). A value of 0 means that the job will be submitted with a unlimited Queue Memory.

shell*queue_memory_units

This variable controls whether the default Queue Memory limit is specified in words or megawords. It should be set to either WORDS or MWORDS respectively.

shell*queue_cpu

This variable controls the value used for the default Queue CPU Limit. The required value should be specified using the units defined by the shell*queue_cpu_units variable (see Queue Cpu Units). A value of 0 means that the job will be submitted with a unlimited Queue CPU.

shell*queue_cpu_units

This variable controls whether the default Queue CPU Limit is specified in seconds, minutes or hours. It should be set to either SECONDS , MINUTES or HOURS respectively.

shell*queue_space

This variable controls the value used for the default File Space limit. The required value should be specified in Mbytes. A value of 0 means that the job will be submitted with an unlimited File Space Limit.

shell*queue_machine

This variable may be used to specify the name of the queuing machine used by LSF batch queues. This option is passed as the -m parameter to the LSF bsub command.

e.g. bsub -m queue_machine

shell*request_cpu/memory_limit

These variables control whether Queue CPU and Memory limits have to be specified when jobs are submitted to NQS style queues. If they do have to be specified then set the relevant variable to TRUE , otherwise set them to FALSE.

shell*request_space_limit

This variable controls whether a Per-request File Space limit has to be specified when jobs are submitted to NQS style queues. If they do have to be specified then set this variable to TRUE , otherwise set it to FALSE .

shell*system_cpu

This variable controls the minimum amount of 'system' time, in seconds, that a job submitted to a NQS style queue will require if the queue has been set up using a Queue CPU Limit, (see Request CPU Limit/ Request Memory Limit . When a job is submitted to such a queue a 'system' CPU time will be calculated as either 2.5% of the Analysis CPU time or the value of this variable. If the difference between the Queue CPU limit and the Analysis CPU limit is smaller than this value the Queue CPU limit will automatically be increased to allow enough system time for the job to terminate normally when the Analysis CPU limit has been reached.

shell*job_format

This variable controls the default file format that will be expected by Ansys LS-DYNA. It can be set to either KEYWORD or FIXED.

shell*file_names

This variable controls the names of the output files generated by Ansys LS-DYNA. This variable can be set to either ARUP or LSTC.

With Ansys LS-DYNA 970 onwards the names of the output files can also be specified using the *KEYWORD_ID option where a filename prefix for all of the output files is specified within the input file.

Output File ARUP LSTC *KEYWORD_ID
Binary Complete State Database 'jobname'.ptf d3plot 'prefix'.d3plot
Time History Database 'jobname'.thf d3thdt 'prefix'.d3thdt

Extra Time History Database

'jobname'.xtf xtfile 'prefix'.xtfile
Binary Output File binout binout 'prefix'.binout
Restart Dump File 'jobname'.dpf d3dump 'prefix'.d3dump
Running Restart Dump File 'jobname'.adf runrsf 'prefix'.runrsf

shell*job_memory

This variable controls the value used for the default Analysis Memory limit, the amount of CORE memory that Ansys LS-DYNA will use to store data. The required value should be specified using the units defined by the shell*job_memory_units variable (see Job Memory Units). A value of 0 means that the job will be submitted with a the default amount of CORE memory built into that Ansys LS-DYNA. The default value of 9000000 should be enough for models of up to 60000 elements.

shell*job_memory_units

This variable controls whether the default Analysis Memory limit is specified in words or megawords. It should be set to either WORDS or MWORDS respectively.

shell*job_cpu

This variable controls the value used for the default Analysis CPU limit. The required value should be specified using the units defined by the shell*job_cpu_units variable (see Job Cpu Units). A value of 0 means that the job will be submitted with no Analysis CPU limit.

shell*job_cpu_units

This variable controls whether the default Analysis CPU limit is specified in seconds, minutes or hours. It should be set to either SECONDS , MINUTES or HOURS respectively.

shell*allow_mem_change

This variable controls whether users can change the amount of CORE memory used by Ansys LS-DYNA. If this variable is set to FALSE then users will not be able to modify the Analysis Memory Limit and will be forced to use the default value built into Ansys LS-DYNA.

shell*file_size

This variable controls the default binary file size produced by Ansys LS-DYNA. The value specified gives the required file size in Mbytes.

shell*write_ctf

By default the 'xshell_22' is set up so that the default is for Ansys LS-DYNA to write out CTF binary files when a jobs is submitted ( see the Job Options menu). If this variable is set to FALSE then this option will be turned off by default.

shell*write_ztf

By default the 'xshell_22' is set up so that after an Ansys LS-DYNA run PRIMER is automatically run to generate a .ZTF file for D3PLOT to read (see the Job Options menu). If this variable is set to FALSE then this option will be turned off by default.

shell*batch_display

This variable can be used to specify a LINUX DISPLAY that can be used for batch processing commands.

shell*keep_files

This variable controls whether temporary files created during the submission process and any CORE files created if a job terminates abnormally are deleted automatically. If this variable is set to TRUE the files will not be deleted.

shell*<*****>_version

By default the 'xshell_22' is set up to access and run software that uses the default program names. This option allows the name of any executable to be modified as required and for the 'xshell_22' to be notified of this name change.

e.g. shell*d3plot64_version : d3plot90.exe

would force the version 22 Shell to run the version 9.0 copy of d3plot, ( d3plot90.exe would have to be in the directory containing the version 22 executables).

32 bit versions of D3PLOT, T/HIS, PRIMER and REPORTER are no longer released. The names for the 64 bit versions can be modified using

shell*this64_version:
shell*d3plot64_version:
shell*primer64_version:
shell*reporter64_version:

shell*shell_release

By default the 'xshell_22' is set up to display 22.1 as the version. This option allows the version number displayed to be changed if a customised installation is set up

shell*max_cpus/shell*max_mpp_cpus

These variable controls the maximum number of CPU's that can be selected for SMP and MPP parallel jobs.

shell*default_cpus/shell*default_mpp_cpus

These variable controls the default number of CPU's for SMP and MPP parallel jobs.

shell*max_node_cpus

This variable should be set to the number of CPUS each node has in a cluster. When a MPP job is submitted to a PBS queue this variable will be used to calculate the required number of nodes that will be requested from the PBS queuing system.

shell*pack_nodes

This variable is used along with shell*max_node_cpus to calculate the number of nodes required when submitting a MPP job to a PBS queuing system. If this is set to TRUE then the minimum number of nodes will be requested.

Note that if commands are specified in the "oasys_queue" file then the following defaults will be overidden.

# Job CPU's
max_node_cpus
pack_nodes
PBS node request PBSPro 7.0 node request PBSPro 7.1 node request
2
2
TRUE
nodes=1:ppn=2 (1x2) nodes=1:ppn=1:ncpus=2 select=1:ncpus=2
2
2
FALSE
nodes=2:ppn=1 (2x1) nodes=2:ppn=1:ncpus=1 select=2:ncpus=1
8
2
TRUE
nodes=4:ppn=2 (4x2) nodes=4:ppn=1:ncpus=2 select=4:ncpus=2
8
2
FALSE
nodes=8:ppn=1 (8x1) nodes=8:ppn=1:ncpus=1 select=8:ncpus=8
7
4
TRUE
nodes=1:ppn=4+1:ppn=3 (1x4 + 1x3) nodes=1:ppn=1:ncpus=4 +1:ppn=1:ncpus=3 select=1:ncpus=4 +1:ncpus=3
7
4
FALSE
nodes=7:ppn=1 (7x1) nodes=7:ppn=1:ncpus=1 select=7:ncpus=1

shell*submit_shell (LINUX only)

Ansys LS-DYNA jobs are submitted on LINUX systems using script files. This variable can be set to either CSHELL or BSHELL to create either CSHELL or BOURNE shell scripts.

shell*unix_type

This variable controls the default binary file size produced by Ansys LS-DYNA. The value specified gives the required file size in Mbytes.

shell*manual_reader (LINUX only)

This option should be set to point to where a copy of the Adobe Acrobat reader software can be found on the system.

shell*temp_folder (Windows only)

This option can be used to specify a folder that the SHELL can use to create temporary files while submitting Ansys LS-DYNA jobs. The directory should be on a local system disk not a networked disk as some Anti-Virus programs block running DOS batch files from Network Drives. The default folder is C:\TEMP

shell*max_hybrid_mpp_threads

This option controls the maximum number of MPP threads that can be selected for Hybrid jobs.

shell*max_hybrid_smp_threads

This option controls the maximum number of SMP threads that can be selected for Hybrid jobs.

shell*default_hybrid_mpp_threads

This option controls the default number of MPP threads that can be selected for Hybrid jobs.

shell*default_hybrid_smp_threads

This option controls the default number of SMP threads that can be selected for Hybrid jobs.

shell*case_option

This option can be used to specify whether the -case option is used in the command line when submitting a job.

shell*mcheck_option

This option can be used to specify whether the -mcheck option is used in the command line when submitting a job.

shell*xterm_start (LINUX only)

This option can be used to specify whether the programs are started from an xterm console or not.

shell*default_code_type

This option can be used to specify the default program code type.

shell*default_precision

This option can be used to specify the default program precision

shell*write_reporter

This option can be used to specify whether to output a file from

shell*write_html

This option can be used to specify whether to output an HTML file from

shell*write_pdf

This option can be used to specify whether to output a PDF file from

shell*write_ppt

This option can be used to specify whether to output a PPT file from

shell*combine_reporter

This option can be used to combine the output results of all the jobs currently running into single html/pdf/ppt files.

shell*skip_generate

This option can be used to skip the generation of individual report files if they already exist.

shell*combine_reporter_pdf

This option can be used to activate path to combined pdf file.

shell*combine_reporter_pptx

This option can be used to activate path to combined pptx file.

shell*combine_reporter_html

This option can be used to activate path to combined html file.

shell*run_reporter_iconised

This option can be used to runs REPORTER iconised.

shell*oasys_batch

This option can be used on windows runs PRIMER, D3PLOT and THIS without any windows being shown.

shell*run_reporter_in_batch

This option can be used when we want REPORTER to not prompt the user whenever an error is encountered while generating an item in template.

shell*automatically_exit_reporter

This option can be used to close REPORTER automaically after generating the output files.

shell*write_reporter_logfile

This option can be used to save REPORTER logfile.

shell*create_names_file

This option can be used to create a 'names' or .bat/.ctl file for Ansys LS-DYNA submission.