Domain Decomposition (Schur)
The Domain Decomposition (Schur) node () is an attribute node that can be used together with the Iterative and Coarse Solver nodes. Use it to set up an domain decomposition solver using the Schur complement method. Domain decomposition divides the modeling domain into subdomains where the equations in the subdomains are easier to solve. The total solution is then obtained by iterating between the computed solutions for each subdomain using the currently known solutions from the other subdomains as boundary conditions. The domain decomposition (Schur) solver is a typically more stable but less memory efficient alternative to the domain decomposition (Schwarz) solver.
Default Schur Solver and Domain Solver nodes are also added. The domain can be any of the direct and iterative solvers, and also a geometric multigrid solver. When you use a multigrid solver as the domain solver for domain decomposition, each domain solves an independent linear problem using a multigrid solver. Each linear problem is created from the underlying multigrid solver’s mesh case hierarchy. The domain problems can then be solved independently.
Also see The Domain Decomposition Solvers.
General
Select a Schur ordering: Multiplicative (the default) or Additive. These ordering options determine which corresponding Schwarz algorithm (see Domain Decomposition (Schwarz)) to use for solving the Schur complement system.
For any Schur ordering, enter values or choose an option as needed:
Number of iterations. The default is 1.
Minimum number of subdomains. The default is 4. The subdomain partition is created from an element partition on the solver level.
Maximum number of DOFs per subdomain. The default is 100,000 DOFs. The solver tries to not create subdomains larger than this and increases the number of subdomains to fulfill the target. The lowest value accepted is 1000.
Maximum number of nodes per subdomain. The default is 1. This option is only relevant in cluster computations. Each subdomain is then handled by the selected number of compute nodes.
Preordering algorithm: Nested dissection (the default), Space-filling curve, or None. The Nested dissection option creates a subdomain distribution by means of the element and vertex lists taken from the mesh. This option typically gives a low number of colors and gives balanced subdomains (equal number of DOFs, small subdomain interfaces, and a smaller overlap if extended). To avoid slim domains, you can also use a preordering algorithm based on a Space-filling curve. The following plots show a 2D subdomain configuration without element preordering (left) and with an element reordering based on a space-filling curve (right):
Choose an option from the Recompute and clear subdomain data list if required: Automatic (default), Off, or On. The On option is a computationally expensive option because the subdomain problems are factorized for each iteration and then cleared from memory. If you use the Automatic option, the recompute and clear mechanism is activated if there is an out-memory-error during the domain decomposition setup phase. The setup is then repeated with recompute and clear activated. A warning is given in this case.
If Multiplicative is selected as the Schur ordering, the Use subdomain coloring for localized Schur complements check box is selected by default to use a coloring technique that leads to more efficient computations for the multiplicative method because it requires the global residual to be updated after each subdomain. The coloring technique gives each subdomain a color such that subdomains with the same color are disjoint and can be computed in parallel before the residual is updated. Click to clear the check box as needed.
In the Partition geometries list, include the geometries (components) in the model that you want to partition using domain decomposition. By default, this list includes all geometries in the model. Use the Move Up (), Move Down (), Delete (), and Add () buttons to configure the lists of geometries.
Hybridization
User the settings in the Hybridization section to set up a hybrid preconditioner where the direct preconditioner is active for some dependent variables. See Hybrid Preconditioners for more information.