||
For acoustic problems, the system of simultaneous linear equations(联立线性方程) generated by the finite element procedure is usually solved with either a direct elimination process(直接消元法) or an iterative method(迭代法).
Direct methods attempt to solve the problem by a finite sequence of operations. In the absence of rounding errors, direct methods would deliver an exact solution (like solving a linear system of equations Ax = b by Gaussian elimination).
On the other hand, an Iterative method is a procedure that generates a sequence of improving approximate solutions for a class of problems. A specific implementation of an iterative method, including the termination criteria, is an algorithm of the iterative method. In the problems of finding the roots of an equation (or a solution of a system of equations), an iterative method uses an initial guess to generate successive approximations to a solution. Iterative methods are often the only choice for nonlinear equations. However, iterative methods are often useful even for linear problems involving a large number of variables (sometimes in the order of millions), where direct methods would be prohibitively expensive (and in some cases impossible) even with the best available computing power.
1.1. Direct Solver MUMPS
The MUMPS ("MUltifrontal Massively Parallel sparse direct Solver") solver,多波前大规模并行稀疏直接解法器。
是默认的求解器。
MUMPS can be used for pure sequential computation as well and can also go out-of-core if required. During the analysis step MUMPS reports an estimate of the required memory for solving the system. Based on this output one can decide if you need an out-of-core solver or not. The parallelization is obtained by dividing the variables into several subsets. This can be achieved:
1)Either geometrically, by using graph partitioning algorithms on the mesh. In LMS Virtual.Lab, this partition is available as the domain level parallelism where 2 solvers are supported: FETI-H and Geometric Parallel Iterative Solver (QMR for symmetric and BiCGStab for asymmetric matrices).
2)Or algebraically, by using graph partitioning algorithms on the matrix itself.
MUMPS has superior features in terms of speed and memory usage both in sequential computation and matrix-level parallel computation.
1.2. Iterative Solver
One must specify the maximum number of iterations to be performed, and convergence criteria to decide when the solution "has converged".
There is no guarantee that the solution to the matrix will be found within the number of iterations specified.
The quality of the approximate solution is evaluated at each iteration step by computing the normalized residual of the governing equation.
For the uncoupled case a tolerance of 10−7 gives excellent results. For the coupled case, the relation between residual and error is more complex and a stronger tolerance of 10−10 is advised.
Note 1: Performing the analysis twice with a different convergence tolerance is the best way to confirm the accuracy.
Note 2: Do not confuse the iterative process to solve the model with the iterative process to solve the system of equations. ?还没有懂。
Types of Iterative Solvers:
The convergence of QMR and BiCGStab is generally monotonous. However, in some critical situations (at high frequency or if the system matrix is close to singular), the convergence can be so slow that the required tolerance cannot be attained in a reasonable amount of time. To avoid loosing too much time seeking an "out of reach" solution, the algorithm will breakdown after a given number of iterations.
GMT+8, 2024-11-14 13:49 , Processed in 0.035275 second(s), 16 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.