When using the default direct solver MUMPS, one option to reduce computation time and decrease the memory consumption, is to enable the option Block low rank factorization on the
Direct solver node. This can for many pressure acoustics problems reduce both memory and computation time by about 20 % to 25 %. This option is not default, as it is not efficient for all types and combinations of boundary conditions.
If the direct solver runs out of memory a simple first approach is to enable and use one of the auto generated iterative solver suggestions. A good starting point for this is to right-click the study node and select Show Default Solver, then expand the
Solver Configuration tree under
Stationary Solver or
Time-Dependent Solver. Predefined iterative solver suggestions are automatically generated. Per default a direct solver is used and two iterative solvers are suggested and disabled. To turn on one of these right-click the solver and select
Enable (or press F4). The first suggestion
(GMRES with GMG) uses the GMRES iterative solver with a geometric multigrid (GMG) preconditioner. This method is typically faster than the direct solver and uses less memory for large 3D models. The second suggestion
(FGMRES with GMG) uses the FGMRES iterative solver with a geometric multigrid (GMG) preconditioner. This method is more robust than GMRES, especially for problems that exhibit sharp resonances. If the GMRES suggestion does not converge try the FGMRES suggestion instead. Both suggestions along with more details are described below.
To set this up, expand the solve tree and select the Multigrid node under the first iterative suggestion (enable the solver). Select the
Prefer the free matrix format and then select the
Shifted Laplace contribution. Now select the
Physics (a pressure acoustics interface present in the list) and select the
Manual option for the
Add weak contributions. In the edit field
Weak expression the following term should be entered:
where shift is a parameter between -1 and 1 (start with 0.5). This parameter acts as a relaxation factor. If the physics interface tag is different from
acpr, update the expression. The added weak term does not modify the solution of the original problem. It is only used on the multigrid levels to help with convergence.
The same should be done by selecting the option Shifted Laplace contribution on multigrid levels. The
Manual option should be selected and the same term has to be added as
Weak expression. Select the multigrid levels where the SL terms should be used.
The first option Shifted Laplace contribution adds the SL contribution only on the fine level used for the smoothers. The second option
Shifted Laplace contribution on multigrid levels adds the SL contributions also on all multigrid levels.
To further improve the method at very high frequencies the Hierarchy generation method option (on the multigrid mode) can be changed from the default
Lover element order first (any) to
Coarsen mesh, and an appropriate coarsening factor chosen. For acoustics models meshed with
λ/
N the coarsening can be up to about
N (typically use
N = 5 and a coarsening factor between 2 and 4).
The default iterative solver is GMRES which can become memory consuming for large problems. When the problem requires many iterations to be solved, it is typically necessary to increase the Number of iterates before restare to say 1000. In this case the iterative solver can be changed to TFQMR. This solver will typically require more iterations to reach convergence, but it is more memory lean.
Another memory saving option is to use the Block low rank factorization option for the
Direct solver (when using MUMPS) under the
Coarse Solver node. Expand the multigrid solver node to locate it.
As a good starting point for modifying the solver is to select Show Default Solver on the main study node and expand the tree. Go to the
Stationary Solver and add an
Iterative solver node, per default it uses the GMRES method. The default preconditioner is the incomplete LU (see the subnode to the
Iterative node), right-click the
Iterative solver node and select
Multigrid. Even if the Nyquist criterion is not fulfilled for the coarse meshes of the multigrid preconditioner, such a scheme is more likely to converge. For problems with high frequencies this approach might, however, lead to a large number of iterations. Then it might be advantageous to use either: