← Back to team overview

dolfin team mailing list archive

Re: profiling an assembly

 

søn, 18.05.2008 kl. 22.31 +0200, skrev Jed Brown:
> On Sun 2008-05-18 21:54, Johan Hoffman wrote:
> > > On Sat, May 17, 2008 at 04:40:48PM +0200, Johan Hoffman wrote:
> > >
> > > 1. Solve time may dominate assemble anyway so that's where we should
> > > optimize.
> > 
> > Yes, there may be such cases, in particular for simple forms (Laplace
> > equation etc.). For more complex forms with more terms and coefficients,
> > assembly typically dominates, from what I have seen. This is the case for
> > the flow problems of Murtazo for example.
> 
> This probably depends if you use are using a projection method.  If you are
> solving the saddle point problem, you can forget about assembly time.  But
> optimizing the solve is all about constructing a good preconditioner.  If the
> operator is elliptic then AMG should work well and you don't have to think, but
> if it is indefinite all bets are off.  I think we can build saddle point
> preconditioners now by writing some funny-looking mixed form files, but that
> could be made easier.
> 

There are some tools for making BlockMatrices and BlockPreconditioners
in dolfin/sandbox/la/poisson (stupid place to put it). The standard
matrices are here glued together to a block matrix in Python and
similarly with the block preconditioners. The backside is that the 
Krylov solver then needs to be in Python. I am working on a
Navier-Stokes solver based on this. The preconditioner is optimal for
Stokes, it is a bit unclear what happens when strong convection is
present. 

Kent 



Follow ups

References