Tip: Start typing in the input box for immediate search results.Can't find what you're looking for? Submit a support request here.
Solver Implementations
Introduction
Two solvers are supported in StressCheck: a sequential linear system solver and a sequential eigensolver. In addition, a batch solver option is supported. These are described in the following.
Sequential Linear System Solver
StressCheck uses a direct matrix solver for the solution of large linear systems of equations. To allow for the solution of large problem sizes, this solver utilizes an out-of-core technique, utilizing the system’s hard drive space to store the intermediate matrix system. As this system can be very large, the Check feature in the Solution interface can be used to estimate the space requirements before solving.
In the p-version a large number of variables are “local” variables which are condensed at the element level. By using highly optimized calls to perform this local condensation, the performance of the global solver is greatly improved. Another advantage of the p-version is that the stiffness matrices are hierarchic in the sense that the matrices associate with the lower p-levels are sub-matrices of the matrices associated with the higher p-levels. When a downward sequence of p-levels using a downward p-extension, Cholesky factors of the stiffness matrices associated with the higher p-levels can be reused at the lower p-levels to improve performance.
When solving both the solution vectors and potential energies must be computed. StressCheck computes the potential energy associated with each solution using only the solutions and load vectors. As this operation requires only vector-vector products I/O and CPU time are minimized.
Another important characteristic of the p-version is that the stiffness matrices are hierarchic in the sense that the matrices associated with the lower p-levels are sub-matrices of the matrices associated with the higher p-levels. When a sequence of solutions is sought, the Cholesky factors of the stiffness matrices associated with the lower (resp. higher) p-levels can be reused at higher (resp. lower) p-levels to improve the performance, if the p-extension is upward (resp. downward).
StressCheck uses the hierarchic solution procedure for the downward solution sequence. For the downward solution sequence, the element stiffness matrices and the Cholesky factors of internal variables are stored and reused for the lower p-levels. Hence the downward sequence is often faster than the upward, but requires more disk space.
Sequential Eigensolver
StressCheck utilizes a Lanczos eigenvalue solver. The Lanczos solver transforms the generalized eigenproblem into a standard eigenproblem and then applies the Lanczos iteration. The Lanczos solver is implemented as an out-of-core solver and is capable of handling large problems.
Batch Solver
Batch solver functionality is provided with StressCheckBatch.exe, a .NET program which solves StressCheck files through the StressCheck COM interface. The batch solver can be run through the Windows Command Prompt or with Windows batch files (.bat). The default path to the batch solver is “C:\Program Files\ESRD\StressCheck PE 12”.
Requirements
StressCheckBatch.exe requires StressCheck to be installed and registered with Windows as a COM server, and requires an installation of the .NET 4.5 Client Profile.
Any scp/scw/sci/scm file to be submitted for a batch solution must include one or more saved solver settings. For example, a linear solution from p=2 to 5 might be called “1-Linear”.
Instructions for Usage
- StressCheckBatch.exe can be placed anywhere on a PC with StressCheck installed.
- Open the Command Prompt (type cmd.exe in the Windows Start Menu search box) and browse to the location of StressCheckBatch.exe.
- Type “StressCheckBatch” and press Enter. Instructions for usage with all options are displayed.
Batch Solver Syntax
The syntax of the StressCheck Batch solver (StressCheckBatch.exe) is the following:
StressCheckBatch.exe filename /s:solution [options]
filename: Full path to StressCheck file (*.scp, *.scw, *.sci, *.scm).
Example: “E:\myProject.scp”
solution: Saved settings to solve. At least one must be specified. This parameter may be used multiple times to solve multiple solutions.
Example: /s:1-Linear /s:2-Nonlinear
options: Set of optional arguments /level, /l, /out
/level – Console and log message verbosity level. Valid range: 0 to 4.
- 0: All messages are suppressed.
- 1: Basic information included such as “”Opened file”” or “”Solving case X””.
- 2: Level 1 plus basic solver messages and all notes, warnings, errors.
- 3: Level 2 plus filtered status bar messages.
- 4: Level 3 with no filtering (all status bar messages).
Example: /level:1
/l – Enable logging of messages to a *.log file. The log file will have
the same name as the output scp file and be placed in the output folder.
/out: Specifies the solved file name, path, or path plus name.
Examples of /out:
- /out:”solution.scp” will save solution.scp in the same folder as the input file.
- /out:”E:\solvedfiles” will save the solved scp in this folder with the same name as the input file, plus _solved appended to the name. For example, StressCheckBatch “E:\myProject.scp” /out:”E:\solvedfiles” will save the solved file as E:\solvedfiles\myProject_solved.scp
- /out:”E:\solvedfiles\solution.scp” will save the indicated file.
If no /out flag is set, then the solved scp will be saved in the same directory as the input file, with _solved appended to the file name. For example, StressCheckBatch “E:\projects\myProject.scp” will save the solved file as E:\projects\myProject_solved.scp
Examples
- StressCheckBatch “E:\myProject.scp” /s:”1-Linear” /v /l
- StressCheckBatch “E:\myProject.scp” /s:”1-Linear” /s:”2-Nonlinear”
- StressCheckBatch “E:\myProject.scp” /s:”1-Linear” /out:”mySolvedProject.scp”
- StressCheckBatch “E:\myProject.scp” /s:”1-Linear” /out:”E:\mySolvedProject.scp”
- StressCheckBatch “E:\myProject.scp” /s:”1-Linear” /out:”E:\outputs”
Suppose you want to solve solutions 1-Linear and 2-Nonlinear which are saved in the file E:\Important Projects\myProject.scp, and you want the solved file to be saved in a separate folder E:\Solved StressCheck Projects\mySolvedProject.scp. You would call StressCheckBatch as follows:
StressCheckBatch “E:\Important Projects\myProject.scp” /s:”1-Linear” /s:”2-Nonlinear” /out:”E:\Solved StressCheck Projects\mySolvedProject.scp”
If the output had not been specified, the solved file would have been saved as E:\Important Projects\myProject_solved.scp.