Hi Wolfgang,
 

> > Using approach 1.) I get timing results like that: 
> > (using MPI with Petsc, AMG preconditioning for *A* on one machine with 
> > four cores, no preconditioning for the Schur complement *S = 
> > -B*A^{-1}*B^T + C* from 1.) 
> > 
> > Running using PETSc. 
> > Number of active cells: 32768 
> > Total number of cells: 21449 (on 6 levels) 
> > Number of degrees of freedom: 205920 (104544+101376) 
> >    Iterative Schur complement solver converged in 177 iterations. 
> >    Outer solver completed. 
> > 
> > 
> > 
> +---------------------------------------------+------------+------------+ 
> > | Total wallclock time elapsed since start    |        37s | 
>            | 
> > |                                             |            | 
>            | 
> > | Section                         | no. calls |  wall time | % of total 
> | 
> > 
> +---------------------------------+-----------+------------+------------+ 
> > | Schur complement solver (for u) |         1 |      27.2s |        74% 
> | 
> > | assembly                        |         1 |      6.61s |        18% 
> | 
>
> That's actually an acceptable time: My rule of thumb, maybe a bit 
> outdated, is that it takes a minute to solve for 100,000 unknowns for 
> non-trivial problems. You've got twice that many unknowns and solve it 
> in half the time. 
>
Thank you, that calms me down.
 

> > You will notice that the time for the Schur complement solver is 
> > dominating. So either I did something wrong in the implementation 
> > conceptually (see class for Schur complement below) or I need to do a 
> > better job in solving/preconditioning the system. Note that the Schur 
> > complement is usually not definite in contrast to Stokes or Darcy 
> systems. 
>
> Really? Is this an issue related to boundary conditions? Your matrix 
> corresponds to the operator 
>    curl I curl + grad div 
> I thought there are no vector fields that are both divergence-free and 
> curl-free. 
>

That indeed depends on the geometry of the domain and it is not an obvious 
result. Example: Think of a 3D hyper-shell with an inner and outer radius. 
There is a one-dimensional space of non-trivial radial vector fields (with 
respect to the origin) that do not have neither a divergence nor a curl. 
Such fields are referred to as harmonic forms and the dimensionality of 
this space depends on the Betti numbers of the domain (buzz word is Hodge 
decomposition).

But this is actually not the case in here, so you are right here. If there 
are non-trivial harmonic forms one must have an additional condition and a 
Lagrange multiplier in the weak form.
 

> > Does anyone have an idea of how to attack systems like *(P)*? Are there 
> > optimal preconditioners? Any hint would be appreciated. 
>
> Take a look at step-20 and step-22. The idea of preconditioning a Schur 
> complement is to use some sort of approximation of the Schur complement 
> that is easier to solve for. I suspect that in your case, a simple 
> Laplace matrix would make for a nice approximation of S, and so using 
> one SSOR step with the Laplace matrix might be a good preconditioner for 
> S. Alternatively, an algebraic multigrid initialized with the Laplace 
> matrix might work. 
>
> step-20 plays with these ideas, solving for the Schur complement 
> directly. step-22 (in particular the code in the "Possibilities for 
> extensions" section) expands on this: If you have a preconditioner for 
> the Schur complement, then you can just use that as part of the 
> preconditioner for the overall system. It's the best approach we have 
> for the Stokes equation (used successfully on systems with billions of 
> unknowns) and worth understanding! 
>

This is great to know and I will then go in this direction. Again, many 
thanks :-)

Konrad

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/e92249cc-9464-436e-97a2-36bf3710ebca%40googlegroups.com.

Reply via email to