Misplaced Pages

Domain decomposition methods

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
(Redirected from Domain decomposition)
Domain decomposition methods

In mathematics, numerical analysis, and numerical partial differential equations, domain decomposition methods solve a boundary value problem by splitting it into smaller boundary value problems on subdomains and iterating to coordinate the solution between adjacent subdomains. A coarse problem with one or few unknowns per subdomain is used to further coordinate the solution between the subdomains globally. The problems on the subdomains are independent, which makes domain decomposition methods suitable for parallel computing. Domain decomposition methods are typically used as preconditioners for Krylov space iterative methods, such as the conjugate gradient method, GMRES, and LOBPCG.

In overlapping domain decomposition methods, the subdomains overlap by more than the interface. Overlapping domain decomposition methods include the Schwarz alternating method and the additive Schwarz method. Many domain decomposition methods can be written and analyzed as a special case of the abstract additive Schwarz method.

In non-overlapping methods, the subdomains intersect only on their interface. In primal methods, such as Balancing domain decomposition and BDDC, the continuity of the solution across subdomain interface is enforced by representing the value of the solution on all neighboring subdomains by the same unknown. In dual methods, such as FETI, the continuity of the solution across the subdomain interface is enforced by Lagrange multipliers. The FETI-DP method is hybrid between a dual and a primal method.

Non-overlapping domain decomposition methods are also called iterative substructuring methods.

Mortar methods are discretization methods for partial differential equations, which use separate discretization on nonoverlapping subdomains. The meshes on the subdomains do not match on the interface, and the equality of the solution is enforced by Lagrange multipliers, judiciously chosen to preserve the accuracy of the solution. In the engineering practice in the finite element method, continuity of solutions between non-matching subdomains is implemented by multiple-point constraints.

Finite element simulations of moderate size models require solving linear systems with millions of unknowns. Several hours per time step is an average sequential run time, therefore, parallel computing is a necessity. Domain decomposition methods embody large potential for a parallelization of the finite element methods, and serve a basis for distributed, parallel computations.

Example 1: 1D Linear BVP

u ( x ) u ( x ) = 0 {\displaystyle u''(x)-u(x)=0}
u ( 0 ) = 0 , u ( 1 ) = 1 {\displaystyle u(0)=0,u(1)=1}
The exact solution is:
u ( x ) = e x e x e 1 e 1 {\displaystyle u(x)={\frac {e^{x}-e^{-x}}{e^{1}-e^{-1}}}}
Subdivide the domain into two subdomains, one from [ 0 , 1 2 ] {\displaystyle \left} and another from [ 1 2 , 1 ] {\displaystyle \left} . In the left subdomain define the interpolating function v 1 ( x ) {\displaystyle v_{1}(x)} and in the right define v 2 ( x ) {\displaystyle v_{2}(x)} . At the interface between these two subdomains the following interface conditions shall be imposed:
v 1 ( 1 2 ) = v 2 ( 1 2 ) {\displaystyle v_{1}\left({\frac {1}{2}}\right)=v_{2}\left({\frac {1}{2}}\right)}
v 1 ( 1 2 ) = v 2 ( 1 2 ) {\displaystyle v_{1}'\left({\frac {1}{2}}\right)=v_{2}'\left({\frac {1}{2}}\right)}
Let the interpolating functions be defined as:
v 1 ( x ) = n = 0 N u n T n ( y 1 ( x ) ) {\displaystyle v_{1}(x)=\sum _{n=0}^{N}u_{n}T_{n}(y_{1}(x))}
v 2 ( x ) = n = 0 N u n + N T n ( y 2 ( x ) ) {\displaystyle v_{2}(x)=\sum _{n=0}^{N}u_{n+N}T_{n}(y_{2}(x))}
y 1 ( x ) = 4 x 1 {\displaystyle y_{1}(x)=4x-1}
y 2 ( x ) = 4 x 3 {\displaystyle y_{2}(x)=4x-3}
Where T n ( y ) {\displaystyle T_{n}(y)} is the nth cardinal function of the chebyshev polynomials of the first kind with input argument y.
If N=4 then the following approximation is obtained by this scheme:
u 1 = 0.06236 {\displaystyle u_{1}=0.06236}
u 2 = 0.21495 {\displaystyle u_{2}=0.21495}
u 3 = 0.37428 {\displaystyle u_{3}=0.37428}
u 4 = 0.44341 {\displaystyle u_{4}=0.44341}
u 5 = 0.51492 {\displaystyle u_{5}=0.51492}
u 6 = 0.69972 {\displaystyle u_{6}=0.69972}
u 7 = 0.90645 {\displaystyle u_{7}=0.90645}
This was obtained with the following MATLAB code.

clear all
N = 4;
a1 = 0; b1 = 1/2; 
 = cheb(N,a1,b1); % the diff matrices on  are the same
%as those on .
I = eye(N+1);
H = D2-I;
H1 = ; H(2:end-1,:); ];
H1 = ]];
H2 = ];
H2 =  H2];
K = ;
F = ;
u = K\F;
xx = -cos(pi*(0:N)'/N);
x1 = 1/4*(xx+1); x2 = 1/4*(xx+3);
x = ;
uex = (exp(x)-exp(-x))./(exp(1)-exp(-1));

See also

Numerical methods for partial differential equations
Finite difference
Parabolic
Hyperbolic
Others
Finite volume
Finite element
Meshless/Meshfree
Domain decomposition
Others

External links

Category: