On Thu, 9 Sep 2010 16:14:39 +0200 (CEST), Tim Kroeger
<[email protected]> wrote:
> > Do you want to assemble X, or are you really only working with X2?
>
> Most probably, my assmble method will loop over X but skip every
> element that is not contained in X2. This seems to be the easiest
> assemble method at the moment.
Okay, do you mind storing explicit zeros for all of X, even though you
may not be touching them (or solving with them)? The alternative is to
re-allocate when the sparsity pattern changes.
> > If the former, you can MatGetSubMatrix (you just need an index set
> > defining the subdomain) the part you want and solve with that.
>
> That sounds like a good idea. I will think about this. It should
> certainly be worth implementing a general method for this in libMesh
> somehow (with an exception trown if a solver other than PETSc is
> used...). The question is what the API should look like.
>
> > Maybe more interesting, you can provide the index sets to
> > PCFieldSplit which gives you an additive or multiplicative method
> > with a KSP created for each split (which you can control under the
> > -fieldsplit_{0,1,...}_{ksp,pc}_ prefixes).
>
> I didn't understand this part at the moment.
Suppose you have a system which after some permutations can be written
[A B; C D]
Then fieldsplit can give you solvers that solve these blocks together
(like block-Jacobi, but partitioned by user-defined "fields") or
multiplicatively (like a multiplicative Schwarz method, or block
Gauss-Seidel with user-defined, and possibly overlapping splits), or
Schur-complement methods. There is no restriction to 2x2. The solvers
for all the pieces can be controlled at the command line (or through the
API, but it's more work that way).
Jed
------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:
Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users