- 积分
- 3
- 注册时间
- 2009-11-10
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2010-7-27 15:56:04
|
显示全部楼层
来自 重庆沙坪坝区
本帖最后由 zhulibin2009 于 2010-7-27 15:59 编辑
Welcome to the C++ Version of Adams/Solver > C++ Statements > LSOLVER
LSOLVER
The LSOLVER statements allows the user to change the linear solver used by the Adams/Solver (C++). The linear solver is invoked multiple times throughout the simulation to compute corrections in the system state.
Format
Arguments
AUTO Specifies that Adams/Solver (C++) is to automatically choose the most appropriate solver based on the model being solved. This is the default setting.
CALAHAN Specifies that Adams/Solver (C++) is to use the CALAHAN solver exclusively. The Calahan solver is usually fastest for most models.
UMF Specifies that the Adams/Solver (C++) is to use the Unstructured Multi-Frontal sparse matrix solver. This solver is faster for very large models.
Prior to MD Adams 2010, the Calahan solver was the default solver for all Adams models. This solver performs a symbolic factorization of the linear system and is consequently very fast and accurate and for all models except those that are very large.
The UMF solver (Unstructured Multi-Frontal) uses a very different solution technique than the Calahan solver. The advantages of the UMF solver are 1) reduced memory use for large models, 2) better performance for large models and 3) ability to use SMP parallelism for the linear system solution. Very generally, the UMF solver begins to show an advantage over the Calahan solver when the number of degrees of freedom in the model exceeds 5,000. Note, however, that for some models, like simply-connected long chains, the Calahan solver can be superior even when the number of degrees of freedom is much larger.
When the LSOLVER/ is set to AUTO (the default) the particular solver used depends only on the number of equations in the system. The user can determine this transition with the environment variable
ADAMS_SPARSE_SOLVER_SWITCH_AT
For models with number of equations smaller than the ADAMS_SPARSE_SOLVER_SWITCH_AT, the Calahan solver will be used. Models with more equations will use the UMF solver. If the environment variable is not explicitly set it will default to 1 million.
Tip: • The CALAHAN and UMF solvers use different strategies for picking pivots during the linear solution. One may work better on a particular model than the other and the simulation results from the different solvers may have small differences.
• The UMF solver is built on the BLAS (Basic Linear Algebra Subprograms) library and comes with a generic implementation of the BLAS library for all architectures. However, using a BLAS library that is optimized for the specific architecture will usually result in a substantial performance benefit. These optimized BLAS libraries are typically supplied by the hardware vendor.
On Linux systems, the UMF solver will automatically search for the Intel MKL BLAS libraries in locations defined by the LD_LIBRARY_PATH environment variable.
On Windows and other Unix systems, or if a non Intel MKL BLAS library is desired on Linux, the environment variable BLASLIB should be defined giving the full path to the desired library. If the BLAS implementation is dependent on multiple libraries, (as is the case for MKL 10+) then BLASLIB should be defined as the paths to all of the necessary libraries (using semicolon separators on Windows architectures and colon separators on all other architectures).
A maximum of six libraries can be specified in the BLASLIB environment variable.
Caution: Note that the UMF solver does not support all of the capability that is supported by the Calahan solver. In these cases, such as redundant constraint analysis, the appropriate solver (Calahan) will automatically be used.
See other Analysis parameters available. |
评分
-
1
查看全部评分
-
|