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 _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
