university-logo
Computación Científica en Paralelo
Métodos de Descomposición de Dominio
Luis Miguel de la Cruz
[email protected] www.dci.dgsca.unam.mx/lmcs Unidad de Investigación en Cómputo Aplicado
DGSCA-UNAM.
Contenido
1 Métodos de Descomposición de Dominio Introducción
Substructuring Methods Schwarz Methods
university-logo 1 Métodos de Descomposición de Dominio
Introducción
Substructuring Methods Schwarz Methods
Los métodos de descomposición de dominio (DDM por sus siglas en inglés) permiten resolver sistemas lineales o no lineales de ecuaciones que provienen de la discretización de EDP y que usan las propiedades de éstas últimas para obtener soluciones rápidas.
I Problemas lineales. Los DDM pueden ser tratados como
precondicionadores para métodos del subespacio de Krylov (CG, GMRES, etc).
I Problemas no lineales. Se pueden ver como precondicionadores
para la solución de sistemas lineales que provienen del uso del método de Newton o precondicionadores para métodos no lineales.
Estos métodos combinan ideas de EDPs, álgebra lineal, análisis matemático y teoría de gráficas.
Estos métodos son usados mayormente en la solución de EDPs, pero pueden ser aplicados en otros contextos de la ciencia e ingeniería.
university-logo El término DDM suele tener diferentes significados:
I Cómputo Paralelo. Proceso de distribuir datos entre procesadores
en una arquitectura de memoria distribuida (Descomposición de Datos). En este contexto, se aplican métodos para descomponer las estructuras de datos, los cuales pueden ser independientes de los métodos numéricos usados en la solución.
I Análisis asintótico. Es la separación del dominio físico en regiones
que pueden ser modeladas con diferentes ecuaciones, donde las interfases entre los dominios pueden ser controladas por varias condiciones. En este contexto, se determinan las EDPs se resolverán en cada subdominio.
I Métodos de precondicionamiento. Se refiere al proceso de
subdividir la solución de un sistema de ecuaciones grande en problemas más pequeños cuyas soluciones pueden producir un precondicionador para el sistema de ecuaciones que resulta de la discretizacion de las EDPs sobre el dominio completo. En este contexto, DDM se refiere solo al método de solución para el sistema algebraico de ecuaciones.
Considérese el siguiente problema:
∇2u=f en Ω u=h sobre ∂Ω
university-logo En general, si se tienens subdominios y se cumple:
Ω =
s
[
i=1
Ωi
entonces el sistema lineal asociado tendrá la siguiente estructura: 0 B B B B B @ B1 E1 B2 E2 . .. ... Bs Es F1 F2 . . . Fs C 1 C C C C C A 0 B B B B B @ x1 x2 .. . xs y 1 C C C C C A = 0 B B B B B @ f1 f2 .. . fs g 1 C C C C C A
donde cadaxi representa el subvector de incógnitas que son interiores en el dominioΩi yy representa el vector de incógnitas en las interfases entre los subdominios.
Es conveniente escribrir el sistema anterior como: A „ x y « = „ f g « con A= „ B E F C «
I Erepresenta el acoplamiento entre los subdominios y las
interfases visto desde los subdominios.
I F representa el acoplamiento entre las interfases y los
subdominios visto desde los nodos en las interfases.
Tipos de Partición:
(a) Vertex–based.
(b) Edge–based.
university-logo Los subdominios pueden traslaparse, es decir:
Ω = s [ i=1 Ωi, Ωi \ Ωj 6=∅
Es común cuantificar la extensión del traslape por el número de líneas de la malla que son comunes a los subdominios.
Los DDM pueden ser distinguidos de acuerdo a lo siguiente:
1 Tipo de partición
2 Traslape.
3 Procesamiento de los valores en las interfases.
1 Métodos de Descomposición de Dominio
Introducción
Substructuring Methods
university-logo Los DDM donde no hay traslape entre los subdominios, se
conocen comosubstructuring methods.
Przemieniecki, 1968, Theory of Matrix Structural Analysis:In applying matrix methods of analysis to large structures, the number of structural elements very often exceeds the capacity of available computer programs, and consequently some form of
structural partitioningmust be employed.Structural partitioning correspond to division of the complete structure into a number of substructures, the boundary of which may be specified arbitrarily; however, for convenience it is preferable to make structural partitioning. If the stiffness or flexibility properties of each substructure are determined, the substructures can be treated as complex structural elements, and the matrix displacements or force methods of structural analysis can be formulated for the partitioned structure.Once the displacements or forces on substructure boundaries have been found,each substructure can then be analyzed separatelyunder known substructure-boundary displacements or forces, depending on whether displacements or force methods of analysis are used.
Substructuring (subestructuración) es una manera de organizar la factorización directa de sistemas lineales grandes que provienen de la discretización de EDPs.
Substructuring facilita el diseño de algoritmos paralelos. Estos métodos están casi siempre relacionados el cálculo y factorización de una secuencia de matrices de complemento de Schur.
Estos métodos también se conocen como métodos del
complemento de Schur y se han venido desarrollando nuevos y mejores algoritmos en los últimos 25 años.
university-logo Considérese el sistema A „ x y « = „ f g « con A= „ B E F C «
donde se asume queBes no singular. Esto nos da:
Bx +Ey = f
Fx+Cy = g
De la primera ecuación la incógnitax puede expresarse como
x =B−1(f−Ey) (1)
Sustituyendo en la segunda ecuación, se obtiene el siguiente sistema reducido:
La matrizS=C−FB−1E se conoce como la matriz
complemento de Schur con la variabley.
I Si se puede formar esta matriz, entonces el sistema (1) se puede
resolver y por lo tanto todos los valores en las interfases,y, serán
conocidos.
I Después, es posible calcular las variables que quedan usando el
sistema (2).
I Dada la forma deB, se observa que cualquier solución del sistema
lineal se desacopla enssistemas separados.
La solución se obtiene en 4 pasos:
1 Obtener el lado derecho del sistema reducido (2):g−FB−1f
2 Formar la matriz complemento de Schur :S=C−FB−1E.
3 Resolver el sistema reducido :Sy =g−FB−1f.
4 HacerBack-substitutionpara obtener las incógnitas restantes :
university-logo DefiniendoE0 =B−1E yf0 =B−1f se puede escribir:
1 ResolverBE0=E yBf0 =f paraE0yf0 respectivamente.
2 Calcularg0=g−Ff0.
3 CalcularS=C−FE0.
4 SolveSy =g0.
5 Calcularx =f0−E0y.
En la práctica, todas las matricesBi se factorizan y entonces se resuelven los sistemasBiEi0=Ei yBifi0 =fi.
En general muchas columnas deEiserán cero, las cuales corresponden a las interfases que no son adyacentes al subdominioi.
Cualquier código basado en el algoritmo anterior debe iniciar identificando las columnas no cero.
Partición tipo: Vertex–based
La matriz asociada con esta partición tiene una estructura de bloques natural.
university-logo La estructura de la matriz es:
A= A1 A12 A33 A21 A2 A23 A31 A32 A3
En cada subdominio, la matriz localAiy las variables son de la forma: Ai = Bi Ei Fi Ci y zi = xi yi
dondexi denota los nodos interiores yyi los nodos en la interfase asociados con el subdominioi.
Se observa que hay matrices adicionalesAij,j 6=i, que contienen sub-bloques cero en la parte que actúa sobre la variablexj. Esto es porquexi yxj no están acoplados, por lo tanto:
Aij =
0
Eij
Además, muchas de lasEij son cero debido a que solo aquellos índicesj de los subdominios que tienen acoplamiento con el subdominioi produce matricesEij no cero.
La parte del sistema lineal que es local al subdominioies:
Bixi + Eiyi = fi
Fixi + Ciyi + Pj∈NiEijyj = gi
Eijyj es la contribución a la ecuación del subdominio vecino con númeroj,Nj es el conjunto de subdominios que son adyancentes al subdominioi.
Suponiendo queBi es no singular:
=⇒xi =Bi−1(fi−Eiyi) =⇒Siyi+
X
∈
university-logo AquíSi es la matriz de complemento de Schur local:
Si =Ci−FiBi−1Ei
Cuando se escribe la ecuación (3) para todos los subdominiosi, se obtiene un sistema de ecuaciones que involucra solo los puntos en la interfaseyj,j =1,2, . . . ,sy tiene una estructura de bloques asociada con estas variables vectoriales:
S= S1 E12 E13 . . . E1s E21 S2 E23 . . . E2s .. . . .. ... .. . . .. ... Es1 Es2 Es3 . . . Ss En la partición vertex–based, la matriz de complemento de Schur se ensambla de las matrices de Schur locales (Si) y la información
interfase–interfase (Eij)
Las matricesSi son densas,Eij 6=0 si y solo si los subdominiosi yjtienen al menos una ecuación que los acopla, en otro caso son matrices cero.
Elemento Finito
En la partición de MEF, el conjuntoΩes subdividido ens
subconjuntosΩi, cada uno con un conjunto distinto de elementos. Dada una discretización de MEF del dominioΩ, se define un espacioVhde funciones sobreΩ.
Considerando un problema tipo Dirichlet sobreΩ, la formulación débil del problema (Eq. de Poisson) se escribe:
Encontrar u∈Vh a(u,v) = (f,v),∀v ∈Vh, donde la forma bilineala(., .)se define como
a(u,v) = Z Ω ∇u· ∇vdx = Z Ω ∂u ∂x1 ∂v ∂x1 + ∂u ∂x2 ∂v ∂x2 dx.
university-logo Dado que los elementos de los diferentesΩi’s son disjuntos:
a(u,v) = s X i=1 ai(u,v) donde ai(u,v) = Z Ωi ∇u· ∇udx.
Esta es una generalización de la técnica usada para ensamblar la matriz de rigidéces a partir de las matrices de los elementos, el cual corresponde al caso extremo donde cadaΩi consiste de exactamente un elemento.
Si las incógnitas se ordenan de tal manera que los nodos en las interfases se numeran al final, entonces:
0 B B B B B @ B1 E1 B2 E2 . .. ... Bs Es F1 F2 . . . Fs C 1 C C C C C A 0 B B B B B @ x1 x2 .. . xs y 1 C C C C C A = 0 B B B B B @ f1 f2 .. . fs g 1 C C C C C A
En este caso cada matriz se ensambla a partir de las matrices de los elementos y por lo tanto se pueden obtener de la contribución de todos los subdominiosΩj.
TomemosΩi, entonces la matriz ensamblada será Ai=
„
Bi Ei Fi Ci
«
dondeCi contiene solo las contribuciones de elementos locales deΩi. EntoncesC=
Ps
i=1Ci.
La matriz del complemento de Schur es tal que:
S=C−FB−1E=C− s X i=1 FiBi−1Ei= s X i=1 Ci− s X i=1 FiBi−1Ei = s X i=1 h Ci−FiB−i 1Eii.
university-logo 1 Métodos de Descomposición de Dominio
Introducción
Substructuring Methods
Método Alternante de Schwarz (1870).
LΦ = F en Ω,
Φ = G sobre ∂Ω.
Por ejemplo:
university-logo Los dominiosΩ,Ω1yΩ2no incluyen sus fronteras.
¯
Ω = Ω∪∂Ωes la cerradura del dominio.
Γi es una frontera artificial y es parte de la frontera deΩi que está en el interior deΩ.
∂Ωi\Γi es la frontera deΩi sin la parte deΓi.
Φni denota la solución aproximada enΩ¯i después deniteraciones. Φni|Γj es la restricción deΦinenΓj, dondei 6=j.
Método Alternante de Schwarz:
I Resolver un problema de EDPs.
I Particionar el dominio de tal manera que exista un traslape.
I Alternar el cálculo de la solución en cada subdominio.
I Obtener las condiciones de frontera (Dirichlet) basadas en la
solución más reciente de los subdominios vecinos.
Resolver LΦn1 = F en Ω1 Φn1 = G sobre ∂Ω1\Γ1 Φn1 = Φ n−1 2 |Γ1 sobre Γ1 y luego LΦn2 = F en Ω2 Φn2 = G sobre ∂Ω2\Γ2 Φn2 = Φ n 1|Γ2 sobre Γ2
university-logo El procedimiento anterior es similar a una iteración de
Gauss-Seidel por bloques con traslape y es también conocido como Schwarz Multiplicativo.
Se puede obtener una versión similar a una iteración de Jacobi por bloques con traslape, en este caso el algoritmo es conocido como Schwarz Aditivo.
Mallas no coincidentes
Supongamos que el problema se ha discretizado (FDM, FVM FEM), entonces el vector discreto asociado conΦi se escribe como: φi = φΩi φ∂Ωi\Γi φΓi
Los coeficientesφ∂Ωi\Γi son las condiciones de frontera originales.
Los vectores discretos correspondientes aF yGsonfi ygi respectivamente.
La matriz de coeficientesAi es la discretización del operadorLen Ωi:Ai = (AΩi,A∂Ωi\Γi,AΓi).
university-logo Para determinar los valores en las fronteras internasΓi, se
requiere una interpolación:
I DefinimosIΩ
j→Γi como el interpolante discreto de valores enΩj a
los nodos enΓi. A1φnΩ1 = f1 en Ω1 φn∂Ω1\Γ1 = g1 sobre ∂Ω1\Γ1 φnΓ1 = W n−1 1 sobre Γ1 A2φnΩ2 = f2 en Ω2 φn∂Ω2\Γ2 = g2 sobre ∂Ω2\Γ2 φnΓ2 = W n 2 sobre Γ2 DondeWin≡ IΩj→Γiφ n Ωj,i 6=j.
Algoritmo alternante de Schwarz
W10←0 For n=1, ... R e s o l v e r para φn1: A1φn Ω1=f1 en Ω1 φn ∂Ω1\Γ1=g1 sobre ∂Ω1\Γ1 φnΓ1=W n−1 1 sobre Γ1 Wn 2 ←Φ n 1|Γ2 R e s o l v e r para φn2: A2φn Ω2=f2 en Ω2 φn∂Ω2\Γ2=g2 sobre ∂Ω2\Γ2 φnΓ2=W n 2 sobre Γ2 W1n←Φ n 2|Γ1 Checar l a c o n v e r g e n c i a : S i ||Wn 1 −W n−1 1 || ≤tolΓ1 y ||W2n−W n−1 2 || ≤tolΓ2 F i n . S i ||φn−φn−1|| ≤tolΩ yuniversity-logo El algoritmo anterior es un aplicación de del método de
Gauss-Seidel por bloques, para un sistema lineal que contiene la discretización de ambos subdominios y que se acoplan en las fronteras artificiales.
UsandoAi = (AΩi,A∂Ωi\Γi,AΓi), se puede escribir:
` AΩ1 A∂Ω1\Γ1 AΓ1 ´ 0 @ φnΩ1 φn∂Ω1\Γ1 φnΓ1 1 A = f1 en Ω1 φn∂Ω1\Γ1 = g1 sobre ∂Ω1\Γ1 φnΓ1 = IΩ2→Γ1φ n−1 Ω2 sobre Γ1 ` AΩ2 A∂Ωi\Γ2 AΓ2 ´ 0 @ φn Ω2 φn∂Ω1\Γ2 φnΓ2 1 A = f2 en Ω2 φn∂Ω2\Γ2 = g2 sobre ∂Ω2\Γ2 φnΓ2 = IΩ1→Γ2φ n Ω1W n 2 sobre Γ2
Ahora se mueven las cantidades conocidas al lado derecho: AΩ1φ n Ω1 = ˜f1−AΓ1IΩ2→Γ1φ n−1 Ω2 AΩ2φ n Ω2 = ˜f2−AΓ2IΩ1→Γ2φ n Ω1 donde˜fi =fi −A∂Ωi\Γigi
Este es Gauss-Seidel por bloques para:
AΩ1 AΓ1IΩ2→Γ1 AΓ2IΩ1→Γ2 AΩ2 φΩ1 φΩ2 = ˜f˜1 f2 !
university-logo
Algoritmo paralelo alternante de Schwarz
P a r t i c i o n a r e l dominio
D e f i n i r e l problema en cada subdominio
W0 1 ←0 , . . . , W 0 K ←0 For k=1, ...,K ( en p a r a l e l o ) For n=1, ... R e s o l v e r para φnk: Akφn k =fk en Ωk φn∂Ωk\Γk=gk sobre ∂Ωk\Γk φnΓk =W n−1 k sobre Γk Checar l a c o n v e r g e n c i a : S i ||Wkn−W n−1
k || ≤tolΓk break For S i ||φn
k−φn
−1
k || ≤tolΩk break For End For Wait E n v i a r φnk|Γj,j6=k a l o s subdominios v e c i n o s Wk0←φ n nb|Γk End For
Bibliografía I
Y. Saad.
Iterative Methods for Sparse Linear Systems.
PWS/ITP 1996.
Online: http://www-users.cs.umn.edu/~saad/books.html, 2000
B.F. Smith and P. E. Bjorstad and W. D. Gropp.
Domain Decomposition: Parallel Multilevel Methods for Elliptic Partial Differential Equations