Strand7 Software: In Detail: Solvers: Technology
Strand7 Solver Technology
Strand7 offers three different technologies for the solution of the global matrices assembled by the solvers: |
|
The skyline solver gives good performance when solving small models or when solving models
that produce dense (i.e. non-sparse) matrices (e.g. regular meshes consisting of high-order solid elements).
This solver has the highest disk space requirements of the three solvers, but usually requires less memory than
the sparse solver. Considering the amount of data it needs to manipulate, the skyline solver is very efficient
due to pre-determined column heights in the matrix. The direct sparse solver provides the best overall performance in the vast majority of models, especially large models consisting of beam and shell elements. The performance gain over the skyline solver for such models can be very significant. The disk space requirements of this solver are usually lower than for the skyline solver, whilst memory requirements are usually higher. What gives this solver a significant advantage is that if the matrix is sparse, much of the elimination work can be completely skipped. While the skyline and the sparse solvers are direct solvers (i.e. they solve the matrix system of equations by a method closely related to Gaussian elimination), the PCG solver is an iterative solver: it uses a conjugate gradient algorithm to iteratively improve an initial estimate of the solution. Unlike the other two solvers, the total disk space required by the PCG solver is not affected by the node ordering, and this solver will require the least disk space of the three. The memory requirements of this solver are usually less than those of the other solvers, however, unlike the other solvers, when the available memory is less than the amount required, solution time can increase significantly. The PCG solver is most useful for 3D solid models, particularly when the elements are high-order elements. The table below compares the performance of the skyline and sparse solvers for a range of models. The models were run on a 64-bit Windows 7 computer with 16 GB RAM and Intel i7 CPU running at 3.4 GHz. |
Model | Elements | Solver | Result Cases | Equations | Skyline (hh:mm:ss) |
Sparse (hh:mm:ss) |
91 483 Nodes 1 102 Beams 90 656 Plates |
Linear Static |
7 | 541 242 | 00:19:47 | 00:00:24 | |
364 521 Nodes 1 102 Beams 358 786 Plates |
Linear Static |
7 | 2 165 646 | NA | 00:03:12 | |
807 357 Nodes 1 102 Beams 815 904 Plates |
Linear Static |
7 | 4 808 838 | NA | 00:11:06 | |
807 357 Nodes 1 102 Beams 815 904 Plates |
Natural Frequency |
24 modes |
4 808 838 | NA | 01:14:56 | |
10 179 Nodes 8 625 Beams 12 781 Plates |
Linear Transient |
10 time steps |
60 990 | 00:00:44 | 00:00:07 | |
14 808 Nodes 5 630 Beams 14 529 Plates |
Linear Static |
1 | 86 082 | 00:01:54 | 00:00:05 | |
11 794 Nodes 423 Beams 11 201 Plates 384 Bricks |
Non-linear Transient |
100 time steps |
68 896 | 03:31:30 | 00:09:04 | |
29 662 Nodes 3 676 Beams 32 579 Plates |
Linear Static |
1 | 177 186 | 00:01:15 | 00:00:49 | |
29 662 Nodes 3 676 Beams 32 579 Plates |
Linear Buckling |
20 modes |
177 186 | 00:12:40 | 00:02:58 | |
19 923 Nodes 4 169 Beams 6 806 Plates 58 808 Bricks |
Linear Static |
1 | 73 887 | 00:04:06 | 00:00:05 | |
35 138 Nodes 142 642 Tet4 |
Natural Frequency |
20 modes |
102 764 | 00:15:20 | 00:00:43 | |
42 945 Nodes 42 880 Hex8 |
Linear Static |
2 | 141 027 | 00:14:48 | 00:00:45 | |
83 030 Nodes 18 090 Hex20 |
Linear Static |
2 | 244 446 | 01:12:51 | 00:05:51 | |
91 737 Nodes 393 284 Tet4 |
Linear Static |
1 | 257 067 | 00:58:22 | 00:01:19 | |
91 737 Nodes 393 284 Tet4 |
Natural Frequency |
20 modes |
275 067 | NA | 00:03:01 | |
352 082 Nodes 218 298 Tet10 |
Linear Static |
1 | 1 064 373 | NA | 00:26:17 | |
60 986 Nodes 3 052 Beams 58 467 Plates |
Linear Static |
1 | 348 197 | 00:17:21 | 00:00:14 | |
177 565 Nodes 3 052 Beams 58 467 Plates |
Linear Static |
1 | 1 047 671 | NA | 00:02:24 |
Model | Elements | Solver | Skyline (hh:mm:ss) |
Sparse (hh:mm:ss) |
91 483 Nodes 1 102 Beams 90 656 Plates |
Linear Static |
00:19:47 | 00:00:24 | |
364 521 Nodes 1 102 Beams 358 786 Plates |
Linear Static |
NA | 00:03:12 | |
807 357 Nodes 1 102 Beams 815 904 Plates |
Linear Static |
NA | 00:11:06 | |
807 357 Nodes 1 102 Beams 815 904 Plates |
Natural Frequency |
NA | 01:14:56 | |
10 179 Nodes 8 625 Beams 12 781 Plates |
Linear Transient |
00:00:44 | 00:00:07 | |
14 808 Nodes 5 630 Beams 14 529 Plates |
Linear Static |
00:01:54 | 00:00:05 | |
11 794 Nodes 423 Beams 11 201 Plates 384 Bricks |
Non-linear Transient |
03:31:30 | 00:09:04 | |
29 662 Nodes 3 676 Beams 32 579 Plates |
Linear Static |
00:01:15 | 00:00:49 | |
29 662 Nodes 3 676 Beams 32 579 Plates |
Linear Buckling |
00:12:40 | 00:02:58 | |
19 923 Nodes 4 169 Beams 6 806 Plates 58 808 Bricks |
Linear Static |
00:04:06 | 00:00:05 | |
35 138 Nodes 142 642 Tet4 |
Natural Frequency |
00:15:20 | 00:00:43 | |
42 945 Nodes 42 880 Hex8 |
Linear Static |
00:14:48 | 00:00:45 | |
83 030 Nodes 18 090 Hex20 |
Linear Static |
01:12:51 | 00:05:51 | |
91 737 Nodes 393 284 Tet4 |
Linear Static |
00:58:22 | 00:01:19 | |
91 737 Nodes 393 284 Tet4 |
Natural Frequency |
NA | 00:03:01 | |
352 082 Nodes 218 298 Tet10 |
Linear Static |
NA | 00:26:17 | |
60 986 Nodes 3 052 Beams 58 467 Plates |
Linear Static |
00:17:21 | 00:00:14 | |
177 565 Nodes 3 052 Beams 58 467 Plates |
Linear Static |
NA | 00:02:24 |
For more information on solver technology, see Strand7 Webnotes - Theory / Solvers or refer to the Strand7 Theoretical Manual. |