[petsc-users] Implementing Schur complement approach (domain decomposition)

Matthew Knepley knepley at gmail.com
Fri Jan 28 11:46:07 CST 2011


You should move to petsc-dev and use the new FieldSplit preconditioner. It
can apply the Schur complement
as you want.

   Matt

On Fri, Jan 28, 2011 at 3:02 AM, Thomas Witkowski <
thomas.witkowski at tu-dresden.de> wrote:

> Barry,
>
> I want to implement the iterative substructuring method as described in
> point 1). You wrote that the method can be applied on fully assembled global
> matrices. But how would I than implement the action of the Schur complement
> on a vector. The matrices A_BB, A_IB, A_BI and A_II are than just
> submatrices of A. Is there an efficient way to access them from matrix A. I
> though this is not possible because the matrix is in sparse format. My (very
> general) idea was to assemble the matrices only local on each proc and to
> define the action of the global Schur complement as the sum of the actions
> of the local Schur complements. Could you make this point more clear to me?
> Thanks!
>
> Thomas
>
>
> Barry Smith wrote:
>
>>  Thomas,
>>
>>    There are two classes of related non-overlapping domain decomposition
>> methods that use Schur complements.
>>
>> 1) the "iterative substructuring" methods. This can be used will fully
>> assembled global stiffness matrices. They apply the Schur complement  S =
>> A_BB - A_BI * A_II^-1 A_IB implicitly by applying first A_IB then A_II^-1
>> etc. The preconditioner for S is applied by directly knowing something about
>> the structure of S. For example for the Laplacian the S associated with any
>> particular edge is spectrally equivalent to l_00^{1/2} and its inverse can
>> be applied efficiently using FFTs. This is introduced in section 4.2 of my
>> book with particular examples of preconditioners for edges in 4.2.3, 4.2.4,
>> 4.2.5 4.2.6 adding a coarse grid is discussed in 4.3.4
>>
>> 2) the Neumann-Dirichlet type methods, include FEIT and balancing. These
>> require parts of the unassembled stiffness matrix because they involve
>> solving Neumann boundary condition problems on subdomains in the
>> preconditioner. They are more general purpose than traditional iterative
>> substructuring methods because they don't depend on particular properties of
>> the interface operators like l_00^{1/2}. These are discussed in Section
>> 4.2.1 4.2.2 4.3.1 4.3.2 4.3.3 Note that the book doesn't discuss FEIT
>> methods directly, they are similar to the balancing that is discussed.
>>
>>  So what methods do you want to use? From the matrix you wrote below and
>> its decomposition that is only appropriate for the iterative substructuring
>> methods.
>>
>>     Barry
>>
>>
>> On Jan 26, 2011, at 6:51 AM, Thomas Witkowski wrote:
>>
>>
>>
>>> I want to solve the equation in my FEM code (that makes already use of
>>> PETSc) with a Schur complement approach (iterative substructuring). Although
>>> I have some basic knowledge about PETSc, I have no good idea how to start
>>> with it. To concretize my question, I want to solve a system of the form
>>>
>>> [A_II          A_IB]    *  [u_I]   =  [f_I]
>>> [A_IB^T    A_BB]      [u_B]      [f_B]
>>>
>>> A_II is a block diagonal matrix with each block consisting of all
>>> interior node of one partition. A_BB is the block consisting of all bounday
>>> nodes. A_IB is the connection between the interior and the bounday node. The
>>> same for the unknown vector u und the right hand side vector f. My first
>>> idea is not to assemble to matrices A_II, A_IB and A_BB in a global way, but
>>> just local and to define their action using a MatShell for each of these
>>> matrices. Okay, but what's about the global index of the whole system. Till
>>> now I have a continuous global index of the nodes on each partition, what is
>>> required by PETSC, if I'm right. But for using a Schur complement approach I
>>> need to split the index in the interior and the boundary nodes. Who to
>>> circumvent this (first of my) problem?
>>>
>>> Thank you for any advise,
>>>
>>> Thomas
>>>
>>>
>>
>>
>>
>>
>>
>
>


-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110128/8d318ba1/attachment-0001.htm>


More information about the petsc-users mailing list