|
This section describes the execution of OptiStruct.
There are several ways to run OptiStruct:
• | Using the OptiStruct script |
• | Using the HyperWorks Solver Run Manager |
• | Using HyperMesh |
• | Using HyperView and HyperGraph |
In all the above cases, HyperWorks will initialize $PATH and other environment variables required to run the selected solver, however you are responsible for initializing environment variables for 3rd party products. In particular, MPI and AMLS/FFRS external solvers (if needed) may require PATH and LD_LIBRARY_PATH. For MPI runs, see the SPMD Environment Variables section.
To run on UNIX from the command line, type the following:
<install_dir>/altair/scripts/optistruct "filename" –option argument
To run OptiStruct from a Windows DOS prompt, type the following:
<install_dir>\hwsolvers\bin\win64\optistruct.bat "filename" –option argument
The options and arguments are described under Run Options for OptiStruct.
OptiStruct looks for "filename" in the following manner ("filename" may contain a file path that is either absolute or relative to the run directory):
• | First, it checks to see if "filename" exists exactly as input. |
• | If "filename" does not exist exactly as input, and if "filename" does not contain an extension (that is, if the actual file name without the path does not contain a period), it then checks for "filename".parm and then for "filename".fem. |
If none of these checks results in a match, OptiStruct reports an error and terminates.
On Windows, a utility to start each solver is provided through Start > Programs > Altair HyperWorks 2017 > OptiStruct. With this utility, you can start multiple solver runs, select options from the menu, and maintains a history of solutions. On UNIX platforms, this utility can be started from the command line as:
<install_dir>/altair/scripts/<solver name> -gui
If you set up a finite element model in HyperMesh, you can run the simulation directly out of HyperMesh by going to the OptiStruct panel in the respective user profiles. The panels can be accessed through the Analysis page, from the Utility menu, or through the Applications pull down. The panels ask for the file name. After clicking the solver button, the model is exported using the given export options, then the solver runs the script that is provided locally on the machine. After solver execution, the results can be viewed in HyperView. You can bring up HyperView with the results loaded by clicking HyperView.
|
If you are in HyperView or HyperGraph, OptiStruct can be run from the Applications pull-down. After selecting OptiStruct, the HyperWorks Solver Run Manager main form will appear, where you select a file, enter run options, and run the simulation.
Filename |
File Format |
Executes |
Corresponding Run Option* |
---|---|---|---|
<prefix>.fem |
Bulk Data Format |
OptiStruct |
(default) |
The configuration file optistruct.cfg may be used to establish default settings for OptiStruct either system wide, for a particular user, or for a local directory. A full description of the settings allowed and the usage of the configuration file is provided on the OptiStruct Configuration File page.
• | OptiStruct typically tries to avoid the use of environment variables, and instead uses either the defaults file or command line arguments, if possible. |
• | Parallel OptiStruct runs may require control parameters using environment variables. These are not listed in the OptiStruct documentation (refer to the corresponding MPI package documentation for further information). |
• | Typical system environment variables are used by OptiStruct when necessary: PATH, LD_LIBRARY_PATH, LDPATH. |
• | The OptiStruct Licensing system requires ALTAIR_LICENSE_PATH, RADFLEX_PATH. |
• | The use of third-party solvers requires specific environment variables: AMLS_EXE. |
• | HWSolver Run Manager uses and expects the following variables to be set: ALTAIR_HOME, ALTAIR_LICENSE_PATH, HW_MSG_HELP, ALTAIR_WISH_EXEC, and so on. These typically are automatically set at the installation and do not require modification. |
• | HWSolver Run Manager (and OptiStruct run script) provides automatic licensing and system related environment variables: PATH, LD_LIBRARY_PATH, LDPATH, RADFLEX_PATH, PYTHONHOME, and so on. It will also try to provide suitable default values for MPI related variables, if nothing is specified. However, it will not override values existing when it is invoked. Additionally, when changing various PATH environment variables, it will add to the end of existing values, so your preferences will not be overwritten. |
The following environment variable is optional and may be set on either UNIX or PC platforms; however, the preferred way is to define them using the OptiStruct Configuration File.
OS_TMP_DIR = path |
path – Path name to directory for scratch file storage (Default = directory where the solver is started – can be overwritten by the definition in the script or input deck). |
The following environment variable is optional and may only be set on UNIX platforms; however, the preferred way is to define this using the OptiStruct Configuration File.
DOS_DRIVE_$ = path |
This environment variable allows drive letters to be assigned to UNIX paths. This facilitates copying files which contain INCLUDE, TMPDIR, INFILE or OUTFILE definitions containing drive letters from PC to UNIX on hybrid networks. $ - Drive letter to be defined (case sensitive). path - UNIX path with which you want to replace the drive letter. Note that after such expansion, the paths are always interpreted as if there were a ‘\’ immediately after the drive letter in the original PC path. |
The following environment variable is optional.
OS_SCRATCH_EXT = <3-character-string> |
The 3-character-string that specifies the new extension of the scratch file. |
When environment variables not specific for the MPI environment are detected, HW Solver Run Manager or the OptiStruct script will provide default values, which are adequate in typical situations. For better performance tuning, you may try different values dependent on the hardware and MPI software used. For Intel MPI runs, the following defaults are applied, if none of the four environment variables are set by the user:
I_MPI_PIN_DOMAIN = auto
I_MPI_ADJUST_BCAST = 1
I_MPI_ADJUST_REDUCE = 2
KMP_AFFINITY is not set
On Windows machines, in addition to the above, the following environmental variable is set unless already specified by the user:
I_MPI_AUTH_METHOD = delegate
For IBM Platform MPI, no defaults are currently set by OptiStruct.
Memory is dynamically allocated for a run. The allocation starts with the initial memory.
The default setting for the memory limit is 1GB for 64-bit solver version (PC and Linux). This setting can be changed by using the SYSSETTING option OS_RAM, or by defining the –len option in the run script. The script overwrites the environment variable.
OptiStruct will always attempt to assign enough memory for a minimum core solution.
The initial memory is 10% of the memory limit by default. This setting can be changed by using the SYSSETTING option OS_RAM_INIT.
A check run can be very helpful in estimating the memory and disk space usage. In a check run, the memory necessary is automatically allocated.
The solver automatically chooses an in-core, out-of-core, or minimum core solution based on the memory allocated. A solution type can be forced by defining the –core option in the run script; the memory necessary for the specified solution type is then assigned.
Refer to Memory Limitations for detailed information on the following topics: 32-bit versus 64-bit computations, virtual versus physical memory, and automatic memory allocation versus fixed memory runs.
OptiStruct always creates an .out file which contains summary information for the job. This information can be echoed to the screen through the inclusion of the SCREEN I/O option in the input data or through the use of the -out command line option (Run Options for OptiStruct).
This file also contains memory and disk space estimates. The disk space estimates for eigenvalue analyses (normal modes, linear buckling, modal methods of frequency, transient response, and fluid-structure coupling (acoustics)) are sometimes very conservative and can be three times as much as is truly used. This is because it is not fully predictable how much data needs to be saved to scratch files.
The true usage of memory and disk space is reported at the bottom of the file after the solver has finished.
Should the job be re-run in the same location, the .out file is not overwritten, but is instead moved to _#.out, where # is the lowest available three digit number that creates a unique file name.
For example, if filename.fem were run in a directory already containing filename.out, the existing filename.out would be moved to filename_001.out, and the summary information for the new job would be written to filename.out. Should the job be repeated again, the existing filename.out would be moved to filename_002.out, and the summary information for the latest job would be written to filename.out.
The filename.out is the only file that is saved in this manner. All other results files will be overwritten.
1. | Try running OptiStruct with the default setting first (without specification of the –len or –core options). |
2. | Do a check run before submitting large jobs (>500,000 dof) to NQS to make sure sufficient NQS memory is being provided. The –lM option can be used to change the NQS memory. Be sure to include at least 12Mb for the executable in addition to the memory necessary to solve the problem. A check run can also assist in debugging input data without having to wait in a queue. |
See Also:
The HyperWorks Installation Guide