Solvers

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.

Solvers versus Supported Solution Sequences

The Solvers supported in OptiStruct, in conjunction with the Solution Sequences in which they can be utilized.

Subcase Type BCS MUMPS PCG PARDISO AMSES Lanczos AMLS LAPACK FASTFR FastFRS
Linear Static Analysis (STATICS) Optional Default Optional Optional N/A N/A N/A N/A N/A N/A
Nonlinear Static Analysis (NLSTAT) Optional Default Optional Optional N/A N/A N/A N/A N/A N/A
Eigenvalue Analysis (MODES) Optional linear equation solver Default linear equation solver N/A Optional linear equation solver Optional Eigenvalue solver Default Eigenvalue solver Optional Eigenvalue solver N/A N/A N/A
Linear Buckling Analysis (BUCK) Optional linear equation solver Default linear equation solver N/A Optional linear equation solver N/A Default Eigenvalue solver N/A N/A N/A N/A
Modal Frequency Response Analysis (MFREQ) Optional linear equation solver Default linear equation solver Optional linear equation solver Optional linear equation solver Optional Eigenvalue solver Default Eigenvalue solver Optional Eigenvalue solver Default Eigenvalue solver Optional Optional
Direct Frequency Response Analysis (DFREQ) Optional Default N/A Optional N/A N/A N/A N/A N/A N/A
Direct Transient Response through Fourier Transformation (DFOUR) Default N/A N/A N/A N/A N/A N/A N/A N/A N/A
Modal Transient Response through Fourier Transformation (MFOUR) N/A N/A N/A N/A Optional Eigenvalue solver Default Eigenvalue solver Optional Eigenvalue solver Default Eigenvalue solver Optional Optional
Linear Direct Transient Response Analysis (DTRAN) Optional Default N/A N/A N/A N/A N/A N/A N/A N/A
Nonlinear Direct Transient Analysis Optional Default N/A Optional N/A N/A N/A N/A N/A N/A
Modal Transient Response Analysis Optional linear equation solver Optional linear equation solver Optional linear equation solver Optional linear equation solver Optional Eigenvalue solver Default Eigenvalue solver Optional Eigenvalue solver N/A N/A N/A
Direct Complex Eigenvalue Analysis (DCEIG) N/A Default Complex Eigenvalue solver N/A N/A N/A N/A N/A N/A N/A N/A
Modal Complex Eigenvalue Analysis (MCEIG) N/A Default Real Eigenvalue solver N/A N/A Optional Complex Eigenvalue solver Default Complex Eigenvalue solver Optional Complex Eigenvalue solver N/A N/A N/A
Linear Heat Transfer Analysis (HEAT) Default N/A N/A N/A N/A N/A N/A N/A N/A N/A
Nonlinear Heat Transfer Analysis (NLHEAT) Optional Default N/A N/A N/A N/A N/A N/A N/A N/A
Component Mode Synthesis (CMSMETH) N/A N/A N/A N/A Optional Default Optional N/A N/A N/A
Electrical Analysis (ELEC) Optional Default N/A N/A N/A N/A N/A N/A N/A N/A

The various static solvers are available as options 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 (the default for Modal solution is LAPACK). Solvers can be selected based on the type of analysis or optimization runs.

Solver Classification

Solvers are broadly classified into three types, based on the algorithm used or the nature of the high-level equation set being solved.

Direct Solvers

Direct Solvers are based on elimination or decomposition of the matrices involved in the finite element solution. Direct solvers are extensively used in structural analysis due to high solution stability and because they typically are not affected by numerical issues. Possible disadvantages are long solution times and high memory requirements.

The Direct Solver initially decomposes the matrices and then forward-backward substitution (FBS) is performed. Stiffness matrices are typically highly sparse, and appropriate reordering of the non-zero stiffness terms results in vast improvements in solution time and memory utilization.

Within OptiStruct, you can choose from the Boeing Solver (BCS) and Multi-frontal Massively Parallel Sparse Direct Solver (MUMPS). BCS is the default solver for Linear Static Analysis and Nonlinear Analysis. When Friction is present, the default solver is MUMPS.
• High solution stability
• Minimal numerical issues
• Symmetric and Asymmetric matrices can be handled
• Computationally intensive
• High memory requirements

Iterative Solvers

Iterative Solvers utilize a contrasting algorithm to solving equation systems as compared to Direct Solvers. The typical method involves using an initial arbitrary solution that is updated iteratively as the process moves forward. The most important component of any typical iterative solver is the Preconditioner. Convergence criteria are assigned to determine if the level of tolerance that signifies convergence and solution accuracy. The maximum number of iterations can also be specified before the solver stops (ordinarily with an error) regardless of solution accuracy.

Within OptiStruct, the Preconditioned Conjugate Gradient (PCG) is the iterative solver. Iterative solvers can be combined with Direct Solvers for certain solution sequences using the MIXED option on the SOLVTYP Bulk Data Entry.
• Computationally faster compared to the Direct Solver for blocky structural model.
• Memory requirements are typically lower compared to the Direct Solver.
• Asymmetric matrices cannot be easily handled.
• Solution stability is lower compared to the Direct Solver.
• Convergence may not occur in some cases
• Advantages of the Iterative Solver depends heavily on the quality of the Preconditioner utilized.

Eigenvalue Solvers

Eigenvalue Analysis involves the solution of a different set of equations as compared to the regular energy equation (static or dynamic). It is used to extract the Eigenvalues and Eigenvectors of the model which determines the natural frequencies and vibration modes.

The AMSES (Automatic Multi-level Sub-structuring Eigensolver Solution), AMLS (Automatic Multi-level Sub-structuring), and Lanczos are available to run eigenvalue analysis. Additionally, to solve the modal solution, FASTFR and FastFRS (Fast Frequency Response Solver) solvers are available.

Memory

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.

Scalability

Generally all OptiStruct solvers are shared memory parallel (SMP).

You 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

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

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 Linear Static, Nonlinear Static, Normal Modes, Buckling, Direct Frequency Response, Direct Transient Response, Nonlinear Heat Transfer, Nonlinear Transient, and Complex Eigenvalue (Direct and Modal) Analysis. MUMPS is also the default for DDM jobs.

The min-core option for the model is not supported for MUMPS runs.

PCG

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 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.

AMSES (Automatic Multi-level Sub-structuring Eigensolver Solution)

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.

AMSES Activation

One of the following must be defined to use AMSES:
• Use of the EIGRA data, instead of EIGRL data.
• Use of AMSES solver keyword on the CMSMETH data

AMSES Usage Guidelines

The following guidelines list the factors affecting AMSES usage:
1. The AMSES solution is, generally, much faster than Lanczos, but the results are approximate. Accuracy of the lower modes is very high; therefore, AMSES is a good candidate for solutions with a large number of modes (greater than a few hundred) where an approximated eigen-space is sufficient (as in Frequency Response Analysis and Response Spectrum Analysis). Although approximate, the large number of modes used for modal analysis will encompass the modal space and the resulting motion will match very closely with the Lanczos results. Lanczos is recommended in solutions where accurate mode shapes of a small number of modes are required.
2. AMSES is also recommended in cases where: a) A low number of eigenvalues are requested but the model consists of more than a million degrees of freedom, and/or; b) The upper bound (V2) is specified or the number of modes (ND) is greater than 50 on the EIGRL entry. In such cases, it is likely that Lanczos runs are slower than AMSES runs.
3. For optimization runs, if accuracy of the eigenvector is important, normal modes analysis with AMSES can be run first and then Lanczos can be run with precise lower and upper bounds to check the AMSES run for accuracy. The AMSES upper bound can then be adjusted to achieve acceptable accuracy of the desired eigenvectors. Now, AMSES can be used for all optimization runs in this analysis.
4. The AMSES solution is much faster for Flexible Body Generation and modal solutions with many residual vectors.
5. AMSES should be used cautiously in situations with very large RBE3s (if the RBE3 is connected to 1/4th of the structure). It may be better to eliminate such RBE3s.
6. AMSES solution speeds depend on the number of eigenvector degrees of freedom (DOF) to be calculated. DISP=ALL will cause the entire eigenvector to be calculated and the speedup will not be large. However, if results for only a few DOF are required (typical for NVH analysis), AMSES can be up to 100 times faster than Lanczos. To improve AMSES run times, it is recommended to request results only for the required DOF.
7. For an AMSES run with V1, V2 and ND specified on the EIGRA entry, AMSES calculates all the modes up to the specified V2 (upper bound) regardless of the value of ND. Then the ND number of requested modes is output. Therefore, reducing ND by keeping the upper bound (V2) the same will not significantly improve the AMSES run times, the upper bound must also be correspondingly reduced to prevent the extraction of extra modes.
8. AMSES is also useful in checking for model irregularities. AMSES can be used to print the list of grids associated with a massless mechanism or a singularity.

Parameters Affecting AMSES

AMSES 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, AMPFFACT 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 file.

AMSES for CMS Reduction

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 Data Entry) and Flexbody Generation (METHOD=CB) in multibody dynamics.

AMSES for Enforced Motion Analysis

PARAM,AMSE4EFM,YES allows the static solution for enforced motion to be conducted in the AMSES solver in conjunction with the normal modes solution for Modal Frequency and Modal Transient Response analyses. For more information, refer to PARAM, AMSE4EFM.

Residual Vector Calculations

When the AMSES eigensolver is used, residual vectors for each of the following are calculated:
• USET U6 data
• Damping DOF from CBUSH, CDAMPi or CVISC data

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:
• RESVEC=NO to turn off Residual Vector calculations with AMSES
• RESVEC(NODAMP)=YES to turn off Residual Vectors associated with Damping DOF.
• If the center of a large RBE3 is loaded, a residual vector will be created that includes terms for each of the independent DOF. If this number is large (500+), the AMSES run time will increase dramatically. For large loaded RBE3, it is recommended to use the RBE3 UM data to make the center GRID independent.

Lanczos

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.

AMLS (Automatic Multi-level Sub-structuring)

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:
1. The environment variable AMLS_EXE must be set by you to point to the AMLS executable.

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

2. PARAM, AMLS must be set to YES in the OptiStruct input file. The run option -amls can also be used to activate AMLS.

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 AMLS

AMLS 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:
PARAM,SS2GCR,5.0
PARAM,GMAR,1.1
PARAM,GMAR1,1.7
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:
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:
PARAM,RBMEIG,0.2

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:
• If PARAM, AMLSUCON is set to YES, OptiStruct will SPC out the disconnected components if there is a total of less than 4000 disconnected grids. This works with all versions of AMLS.
• When PARAM, DISJOINT is set to a value that is at least one larger than the number of disconnected parts, AMLS will be able to solve the eigenvalue calculation problem. This feature is only available in AMLS versions 4.2r22 or newer.

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 Calculations

When 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:
• USET U6 data
• Damping DOF from CBUSH, CDAMPi or CVISC data

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:
• RESVEC=NO to turn off Residual Vector calculations with AMLS
• RESVEC(NODAMP)=YES to turn off Residual Vectors associated with Damping DOF

Singularities

If 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 MIDs 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 Systems

If 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.
Note: The environment variable TMPDIR is different from the scratch file directory specified by the command line argument -tmpdir and the TMPDIR I/O Option Entry.

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

1. AMLS is designed for large problems. Problems with less than a few hundred degrees of freedom cannot be solved by AMLS.
2. The model must consist of only one structure. Models of unconnected parts cannot be solved by AMLS. When the CBN method of creating CSM Super Elements is used on the CMSMETH data, unconnected models can be generated if the center GRID of an RBE2 is an ASET GRID. If unconnected parts are found, a file named filename.unconnected.cmf is generated. This file can be used in HyperMesh to show the unconnected parts. If the parts are small, PARAM, AMLSUCON,1 can be used to SPC out the unconnected structure and AMLS will run correctly. If the unconnected part is large, either:
• Remove one spider GRID of the RBE2 to make the structure connected, or
• Use a small CBAR, CBEAM, or CROD to connect the two structures

FASTFR

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:
1. The faster method will run with increased speed, if Shared Memory Parallelism (SMP) parallelization has been requested by specifying the number of processors using the -nproc run option.
2. PARAM, K4METH affects the speed of the faster method. It is recommended to use the default setting for PARAM, K4METH.
3. FASTFR is supported for Component Dynamic Synthesis solutions.

Limitations

The faster modal solution method cannot be used (and the model is run using the standard solution method) for Modal Frequency Response Analysis, if:
1. Single Program, Multiple Data (SPMD) parallelization (MPI-based run) is requested.
2. The Modal FRF subcase consists of SDAMPING in addition to material damping.
3. The model includes poroelastic material, frequency-dependent material (MATFi), frequency-dependent bushing (via PBUSHT), or frequency-dependent dampers (via CAABSF/PAABSF).
4. Mode selection via MODESELECT I/O Option Entry, PARAM, LFREQ, PARAM,HFREQ, PARAM,LFREQFL, and PARAM,HFREQFL is active.
5. Rotor dynamics solution is active.

FastFRS (Fast Frequency Response Solver)

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 AMLSDIR 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.
1. Set the environment variable FASTFRS_EXE to point to the location of the FastFRS executable.
2. The run option -ffrs yes or the parameter PARAM,FFRS,YES can be used to activate FastFRS.
3. Add the following optional parameters to adjust the settings for FastFRS runs:
PARAM,FFRSLFRQ
PARAM, K4METH (see Notes 4 through 7)
PARAM,LOWRANK (This parameter is obsolete. Use PARAM, K4METH, see Notes 4 through 7.)
PARAM,K4CUTOFF
PARAM,CSTOL
PARAM,FFRSNCPU (or the run option –ffrsncpu)
PARAM,FFRSMEM (or the run option –ffrsmem or the environment variable FFRS_MEM)
Note:
1. OptiStruct version 13.0 or above is required to run FastFRS version 2 or above.
2. If FFRSNCPU is not set (using either the parameter or the run option), and AMLSNCPU is set, then FastFRS will use the number of CPU's specified by AMLSNCPU.
3. For FastFRS versions 2 and above, use the run option -ffrsmem, the environment variable FFRS_MEM, or the parameter PARAM, FFRSMEM to set the amount of memory in Gigabytes used by FastFRS. By default, FastFRS will use the same amount of memory used by OptiStruct. The run option overrides the environment variable and the parameter. If both FFRS_MEM and PARAM, FFRSMEM 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.
4. If the value of LOWRANK is 0, FastFRS computes a full eigensolution using the data found in the diagonal stiffness and structural damping data blocks.
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.
• If both K4METH and LOWRANK are not specified, LOWRANK would be determined based on the material damping matrix and number of fluid modes.
• If LOWRANK is specified, but K4METH is not specified, the value of LOWRANK would be used.
• If K4METH is specified, LOWRANK would be set according to K4METH.
5. FASTFR is supported for Component Dynamic Synthesis solutions.
Attention: The Fast Frequency Response Solver cannot be used (and the model is run using the standard solution method) for Modal Frequency Response Analysis, if:
1. The number of viscous damping degrees-of-freedom is greater than the number of modes.
2. The model includes poroelastic material, frequency-dependent material (MATFi), frequency-dependent bushing (via PBUSHT), or frequency-dependent dampers (via CAABSF/PAABSF).
3. Mode selection via MODESELECT I/O Option Entry, PARAM, LFREQ, PARAM, HFREQ, PARAM, LFREQFL, and PARAM, HFREQFL is active.
4. The Component Dynamic Synthesis Method (CDSMETH) is used.
5. Rotor dynamics solution is active.