BDDC

In numerical analysis, BDDC (balancing domain decomposition by constraints) is a domain decomposition method for solving large symmetric, positive definite systems of linear equations that arise from the finite element method. BDDC is used as a preconditioner to the conjugate gradient method. A specific version of BDDC is characterized by the choice of coarse degrees of freedom, which can be values at the corners of the subdomains, or averages over the edges or the faces of the interface between the subdomains. One application of the BDDC preconditioner then combines the solution of local problems on each subdomains with the solution of a global coarse problem with the coarse degrees of freedom as the unknowns. The local problems on different subdomains are completely independent of each other, so the method is suitable for parallel computing. With a proper choice of the coarse degrees of freedom (corners in 2D, corners plus edges or corners plus faces in 3D) and with regular subdomain shapes, the condition number of the method is bounded when increasing the number of subdomains, and it grows only very slowly with the number of elements per subdomain. Thus the number of iterations is bounded in the same way, and the method scales well with the problem size and the number of subdomains.

History
BDDC was introduced by different authors and different approaches at about the same time, i.e., by Cros, Dohrmann, and Fragakis and Papadrakakis, as a primal alternative to the FETI-DP domain decomposition method by Farhat et al. See for a proof that these are all actually the same method as BDDC. The name of the method was coined by Mandel and Dohrmann, because it can be understood as further development of the BDD (balancing domain decomposition) method. Mandel, Dohrmann, and Tezaur proved that the eigenvalues of BDDC and FETI-DP are identical, except for the eigenvalue equal to one, which may be present in BDDC but not for FETI-DP, and thus their number of iterations is practically the same. Much simpler proofs of this fact were obtained later by Li and Widlund and by Brenner and Sung.

Coarse space
The coarse space of BDDC consists of energy minimal functions with the given values of the coarse degrees of freedom. This is the same coarse space as used for corners in a version of BDD for plates and shells. The difference is that in BDDC, the coarse problem is used in an additive fashion, while in BDD, it is used a multiplicatively.

A mechanical description
The BDDC method is often used to solve problems from linear elasticity, and it can be perhaps best explained in terms of the deformation of an elastic structure. The elasticity problem is to determine the deformation of a structure subject to prescribed displacements and forces applied to it. After applying the finite element method, we obtain a system of linear algebraic equations, where the unknowns are the displacements at the nodes of the elements and the right-hand side comes from the forces (and from nonzero prescribed displacements on the boundary, but, for simplicity, assume that these are zero).

A preconditioner takes a right hand side and delivers an approximate solution. So, suppose we have an elastic structure divided into nonoverlapping substructures, and, for simplicity, suppose the coarse degrees of freedom are only subdomain corners. Suppose forces applied to the structure are given.

The first step in the BDDC method is the interior correction, which consists of finding the deformation of each subdomain separately given the forces applied to the subdomain except at the interface of the subdomain with its neighbors. Since the interior of each subdomain moves independently and the interface remains at zero deformation, this causes kinks at the interface. The forces on the interface necessary to keep the kinks in balance are added to the forces already given on the interface. The interface forces are then distributed to the subdomain (either equally, or with weights in proportion to the stiffness of the material of the subdomains, so that stiffer subdomains get more force).

The second step, called subdomain correction, is finding the deformation for these interface forces on each subdomain separately subject to the condition of zero displacements on the subdomain corners. Note that the values of the subdomain correction across the interface in general differ.

At the same time as the subdomain correction, the coarse correction is computed, which consists of the displacement at all subdomain corners, interpolated between the corners on each subdomain separately by the condition that the subdomain assumes the same shape as it would with no forces applied to it at all. Then the interface forces, same as for the subdomain correction, are applied to find the values of the coarse correction at subdomain corners. Thus, the interface forces are averaged and the coarse solution is found by the Galerkin method. Again, the values of the coarse correction on subdomain interfaces is, in general, discontinuous across the interface.

Finally, the subdomain corrections and the coarse correction are added and the sum is averaged across the subdomain interfaces, with the same weights as were used to distribute the forces to the subdomain earlier. This gives the value of the output of BDDC on the interfaces between the subdomains. The values of the output of BDDC in the interior of the subdomains are then obtained by repeating the interior correction.

In a practical implementation, the right-hand-side and the initial approximation for the iterations are preprocessed so that all forces inside the subdomains are zero. This is done by one application of the interior correction as above. Then the forces inside the subdomains stay zero during the conjugate gradients iterations, and so the first interior correction in each application of BDDC can be omitted.