OptiStruct includes a variety of in-house and third-party Solvers for applications in different engineering and technology fields. Finite element solutions typically involve the ability to efficiently factorize or invert multidimensional matrices in conjunction with complex matrix manipulations. Depending on the type of analysis, the algorithms and solution sequences can possibly vary widely requiring the incorporation of a myriad of solver options. For example, Linear Static Analysis requires either Direct Inversion/Factorization of the stiffness matrices while Normal Modes Analysis uses Eigenvalue Analysis.
The Solvers supported in OptiStruct are listed in Table 1, in conjunction with the Solution Sequences in which they can be utilized.
The various solvers, including the MIXED and AUTO options are available on the SOLVTYP Bulk Data Entry. Eigensolver selections for Eigenvalue Analysis are done via the EIGRA/EIGRL Bulk Data Entries. PARAM, AMLS can be used to toggle AMLS on or off. FASTFR and FastFRS can be used for Modal Frequency Response Analysis and are activated using PARAM,FASTFR and PARAM,FASTFRS respectively. Solvers can be selected based on the type of analysis or optimization runs. |
Solvers are broadly classified into three types, based on the algorithm used or the nature of the high-level equation set being solved.
|
Most of the direct solvers come with so-called in-core and out-of-core method. In-core methods utilizes memory to store the factorized matrix as well as internal data structures. Out-of-core methods push factorized matrix into disk, which makes the memory consumption significantly smaller than the in-core method. BCS/Lanczos has another minimum-core method which pushes more internal data structure to disk as well, hence the memory requirement is minimal. In general, BCS minimum-core memory requirement is the lowest compared to MUMPS. It is not possible to estimate memory requirements for AMSES solver, since the number of modes is unknown ahead of computation. AMSES needs to expand its least memory requirement whenever more is needed. However, if one specifies the in-core mode, AMSES will allocate up to the memory amount to achieve the best performance. |
Generally all OptiStruct solvers are shared memory parallel (SMP). One can run with multiple processors by specifying the –nt option. It is recommended to specify the number of threads as the number of cores within one CPU socket in the computer system. A typical number will be 6 for Westmere Xeon, 8 for Sandy Bridge, 12 for Ivy bridge, etc. OptiStruct provides domain decomposition method (DDM) for static solution sequence. MUMPS is available in DDM mode. To get the best performance, the in-core run is suggested, however the memory should fit the system; otherwise, out-of-core run is preferred. There must be a local disk associated with each node within a cluster; otherwise, the i/o waiting is going to reduce scalability. |
BCS is the built-in robust and accurate direct sparse solver in OptiStruct. It is the default solver for most of the solution sequences. Besides the conventional in-core and out-of-core modes, BCS has a unique minimum-core mode to solve a large model with minimal memory requirements which is much lower than out-of-core. The BCS solver can be activated via the SOLVER field on the SOLVTYP Bulk Data Entry. |
MUMPS (MUlti-frontal Massively Parallel Solver) is a sparse solver for symmetric or unsymmetric matrix runnable in both shared memory and distributed memory computers. MUMPS is an implementation of multi-frontal approach of Gaussian elimination. MUMPS utilizes the dynamic distributed scheduling scheme for MPI parallelization, as well as the OpenMP parallelization for each process, which makes it highly scalable for large models. It is recommended to run MUMPS in OptiStruct domain decomposition mode specifying multiple threads for each MPI process. MUMPS has various fill-in reducing algorithms. METIS is chosen by default, however, try PORD for pure shell models. The different fill-in reducing algorithm can be selected via the MUMPSORDM field in SOLVTYP Bulk Data Entry. MUMPS is the default solver for Nonlinear Static and Nonlinear Transient Analysis. |
PCG is an implementation of the Conjugate Gradient method with the Sparse Approximate Inverse (SPAI) Preconditioner. PCG is the choice for the simple shaped blocky structure, for example, a cube or a cylinder. It may hit the convergence issue for shell models unfortunately, hence, you need to pay close attention to the result accuracy as well for PCG solver. The PCG solver can be activated via the SOLVER field on the SOLVTYP Bulk Data Entry. |
For solving large eigenvalue problems, the AMSES solution can be used instead of the Lanczos eigensolver. The resulting eigenvalues and eigenvectors are used in eigenvalue analysis, CMS Super Element creation, Modal Frequency Response, and Modal Transient Analysis. In addition, the AMSES solver can be used during topology, topography, shape, and sizing optimizations. The AMSES solver can be 2-100 times faster than Lanczos.AMSES is a multi-threaded application and can use any number of processors. AMSES will use the same number of processors that OptiStruct is using. Activating AMSESOne of the following must be defined to use AMSES:
AMSES Usage GuidelinesThe following guidelines list the factors affecting AMSES usage:
Parameters Affecting AMSESAMSES controls the accuracy and the cost of a solution with the parameter AMPFFACT. The optimal value of AMPFFACT for typical NVH analysis, 5.0, has been established through extensive testing. AMPFFACT is set on the EIGRA and CMSMETH data. In case of predominately solid models, such as engine blocks, AMPFACT should be set to 10.0. PARAM,RBMEIG can be used to adjust the upper limit on eigenvalues associated with rigid body modes. The default upper limit is 1.0 (equivalent to a natural frequency of 0.16 Hz) if PARAM,RBMEIG is not included in the deck. The list of GRID identification numbers of singular grids during an AMSES run is output to the .amses_singularity.cmf file. PARAM, AMSE4CMS controls the alternate method for the creation of CMS superelements using the AMSES eigensolver. Unlike the conventional approach, this formulation does not separately calculate the static and dynamic modes using the linear sparse solver and eigenvalue solver, respectively. The static and dynamic modes are combined together to project the physical model space into the CMS space, allowing for the efficient creation of superelements. This projection also applies to the material damping and fluid structure interface matrices with minimal extra computational cost, in contrast to the conventional approach wherein, this is done outside the eigensolver as a computationally intensive process. The alternate method is especially effective, and considerable speedup may be achieved over the conventional approach, when there are a lot of ASET degrees of freedom in the model (for example, thousands of ASETs). This is only supported for CMS superelement creation in Craig-Bampton form for both NVH applications (METHOD=CBN on the CMSMETH bulk entry) and Flexbody Generation (METHOD=CB) in multibody dynamics. Residual Vector CalculationsWhen the AMSES eigensolver is used, residual vectors for each of the following are calculated:
One Residual Vector is calculated for each USET U6 degree of freedom, each DAREA degree of freedom, and each damping degree of freedom associated with the CBUSH, CDAMPi and CVISC data. The Residual Vector calculations are controlled by the Solution Control data RESVEC. To control Residual Vector calculations with AMSES, the following commands can be used:
|
OptiStruct Lanczos utilizes the base BCS algorithm. Lanczos is an industry proven implementation of the shift-invert Lanczos scheme with a combination of a robust shift selection strategy and a block Lanczos algorithm. Shift-invert scheme guarantees that the exact number of eigenvalues within a spectrum bound is extracted with fast convergence rate. Lanczos is an accurate method to get the eigenvalue and eigenvector for a vibrational or buckling analysis. It is also recommended for use if only a few tens of modes are of interest. The EIGRL Bulk Data Entry can be used to activate the Lanczos eigensolution. |
For the solution of large eigenvalue problems, the AMLS (Automatic Multi-Level Sub-structuring) eigensolver developed by the University of Texas can be used instead of the internal OptiStruct Lanczos eigensolver. The AMLS eigensolver is a separate program from OptiStruct and must be installed and licensed separately. OptiStruct interfaces with AMLS by writing AMLS input files, launching AMLS, and then reading the AMLS results back into OptiStruct once the AMLS execution is complete. The resulting eigenvalues and eigenvectors can then be used by OptiStruct for eigenvalue analysis, modal frequency response, and modal transient analysis. In addition, the AMLS solver can be used during topology and sizing optimizations.OptiStruct only supports AMLS version 3.2.0128 or later. To use AMLS version 5 or later, OptiStruct version 13.0 or later must be used. To use AMLS, the following should be defined:
On UNIX and Linux platforms the script that is used to invoke OptiStruct (~altair/scripts/invoke/optistruct) contains a "placeholder" where AMLS_EXE may be defined (search for AMLS_EXE). The definition contained in the invoke script will only be used if there is no pre-existing AMLS_EXE environment variable at invoke. Example: setenv AMLS_EXE /share/ams/cdhopt/2005/AIX-5.3/3.2.r159_exe/amls.main_AIX.5
AMLS is a multithreaded application and can use 1, 2, or 4 processors. PARAM, AMLSNCPU can be defined in the OptiStruct input file to define the number of processors that are to be used by AMLS. If PARAM, AMLSNCPU is not set, the AMLS eignersolver will use only 1S CPU. When PARAM, AMLSNCPU is defined, OptiStruct and AMLS may use different numbers of processors. Parameters Affecting AMLSAMLS controls the accuracy and the cost of a solution primarily with three parameters. The “optimal” values of these parameters for typical NVH analysis have been established through extensive testing. The parameters and their values are: In case of predominately solid models, such as engine blocks, SS2GCR should be set to 10.0 and GMAR1 should be set to 2.1. For typical shell models, such as car bodies, a slight improvement in FRF accuracy can be obtained without large increases in elapsed time by setting two of the parameters as follows: PARAM,SS2GCR,7.5 PARAM,GMAR1,2.1 However, it is not recommended to adjust these values unless the accuracy improvement is known to be worth the increase in resource requirements. The default upper limit on eigenvalues that are taken to be associated with rigid body modes is 1.0 (equivalent to a natural frequency of about 0.16 Hz). This parameter can be adjusted by parameter RBMEIG, which can be set by the command: AMLS distinguishes between rigid body modes and flexible modes to improve the numerical conditioning, and accuracy, with which the flexible eigenvalues are computed. Control of the singularity processing is performed using PARAM, AMLSMAXR. If AMLSMAXR is exceeded in the process of factoring a stiffness matrix, this indicates a singularity in K. If the mass of this DOF is also zero, there is a "massless mechanism", and an SPC is applied and a message is written to the .out file. If there is mass, then this is a mechanism, which is treated as a rigid body mode, and a message is written to the .out file. By default, AMLS does not handle disconnected structures. There are two solutions for handling disconnected structures:
For AMLS Versions 5 and later, use the run option –amlsmem, the environment variable AMLS_MEM or the parameter PARAM, AMLSMEM to set the amount of memory in Gigabytes used by AMLS. By default, AMLS will use the same amount of memory used by OptiStruct. The run option overrides the value set by the environment variable and the parameter. If both AMLS_MEM and PARAM, AMLSMEM are set, the value specified by the environment variable is used. The minimum memory value allowed is equal to 1 GB. If a value lower than 1 GB is specified, it is automatically reset to 1 GB. Residual Vector CalculationsWhen the AMLS eigensolver is used, OptiStruct’s Residual Vector calculations are ignored. The AMLS eigensolver calculates its own residual vectors for each of the following:
One Residual Vector is calculated for each USET U6 degree of freedom, each DAREA degree of freedom, and each damping degree of freedom associated with the CBUSH, CDAMPi and CVISC data. The Residual Vector calculations are controlled by the Solution Control data RESVEC. To control Residual Vector calculations with AMLS, use the following commands:
SingularitiesIf AMLS detects a large number of singularities in the model, this is most likely due to thin CQUAD4/CTRIA3 elements used to “skin” solid models. These singularities cause numerical ill-conditioning and increase run time. The singularities are caused by the very low bending stiffness of these thin shell elements. To remove the singularities, convert the thin bending elements to membrane only elements by removing the MID2 and MID3 MID’s from the associated PSHELL data. The thin membrane elements will still calculate the correct surface stresses, but the singularities will not be present as the elements will have no bending stiffness. PARAM, AMLSMAXR is used to determine singularities in the stiffness matrix. If the value of AMLSMAXR is exceeded in the process of factoring a stiffness matrix, this indicates a singularity in K. If the mass of this degree-of-freedom is zero, there is a "massless mechanism"; an SPC is applied and a message is written to the .out file. If there is mass, then this is a mechanism which is treated as a rigid body mode and a message is written to the .out file. The list of GRID identification numbers of singular grids during an AMLS run is output to the .amls_singularity.cmf file. Remote File SystemsIf the execution directory is on a remote file system, long run times will result as the AMLS scratch files will have to be accessed over the NFS mounted file system. Use the environment variable TMPDIR to redefine the scratch directory to be on the local machine.
The input and output files from AMLS (generic_real_file, generic_integer_file and generic_amls_output) are stored in the directory specified by the environment variable AMLSDIR. The environment variable AMLSDIR should be set to be the same directory as the environment variable TMPDIR. Limitations
|
FASTFR is an alternate and faster modal solution method for Modal Frequency Response Analysis. It is activated by default wherever applicable. If FASTFR cannot be used, then the standard method is activated. PARAM,FASTFR can be used to control the activation of the Faster method. FASTFR is typically faster for modal frequency response runs that have a large number of modes (>5000) and/or a large number of loading frequencies. Note
LimitationsThe faster modal solution method cannot be used (and the model is run using the standard solution method) for Modal Frequency Response Analysis, if:
|
FastFRS is a solver developed by the University of Texas at Austin. It is very efficient for a certain class of large modal frequency response problems, such as NVH problems. OptiStruct has an interface to FastFRS. OptiStruct writes the file FastFRS_gen.in as input for FastFRS, and reads results from FastFRS_gen.out. FastFRS will run in the directory specified by the environment variable AMLSDIR, or the current directory if AMSLDIR is not specified. FastFRS looks for the input and output files in the directory specified by AMLSDIR.The following parameters can be used within OptiStruct to control the FastFRS solver.
PARAM, K4METH (see Notes 4 through 7) PARAM,LOWRANK (This parameter is obsolete. Use PARAM, K4METH, see Notes 4 through 7.) PARAM,FFRSNCPU (or the run option –ffrsncpu) PARAM,FFRSMEM (or the run option –ffrsmem or the environment variable FFRS_MEM) Note:
If the value of LOWRANK is -1, a low rank representation of the matrix found in structural damping is used. A special case of this option occurs when acoustic fluid is present in the model and the matrices found in the fluid mass matrix, fluid stiffness matrix, and fluid viscous damping matrix data blocks are all diagonal. FastFRS takes advantage of this special case when the value of LOWRANK is set to 1 by treating the matrix found in the structural damping data block and the fluid matrices as low rank representations. For optimization problems, the mass and stiffness matrices are full and a low rank representation cannot be used.
LimitationsThe Fast Frequency Response Solver cannot be used (and the model is run using the standard solution method) for Modal Frequency Response Analysis, if:
|