HyperWorks Solvers

Running OptiStruct

Running OptiStruct

Previous topic Next topic No expanding text in this topic  

Running OptiStruct

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  
Note:Your system administrator may need to modify the script to make it compatible with your system.

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.

 

Running OptiStruct from the Script

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.

 

Running OptiStruct from HyperWorks Solver Run Manager

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

 

Running OptiStruct from HyperMesh

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.

Note:When running OptiStruct from HyperMesh on UNIX and Linux, a shell is spawned with the DISPLAY setting <hostname>:0.0. If this is different from the DISPLAY setting for HyperMesh, 50 HyperWorks units (in addition to the 21 HyperWorks units being used for HyperMesh) will be checked out. To avoid the checking out of additional units, be sure that the DISPLAY is set to <hostname>:0.0 before starting HyperMesh.

 

Running OptiStruct from HyperView or HyperGraph

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*
*Does not have to be used if file follows naming convention.

<prefix>.fem

Bulk Data Format

OptiStruct

(default)

 

The OptiStruct Configuration File

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.

 

Environment Variables

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.

List of environment variables and descriptions

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.

 

SPMD Environment Variables

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 Allocation

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.

 

Summary Information

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.

 

Recommendations

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