It is setting up the matrices which is the bottleneck, specifically setting 
up the off-diagonal blocks of the matrix. For context, with a moderately 
sized system of 200,000 dofs, setting up the main NxN sparsity pattern 
using DoFTools::make_sparsity_pattern and reinitializing the matrix using 
that sparsity pattern takes 0.1 seconds per call. The piece of code I 
posted above, which makes a sparsity pattern for the 1xN and Nx1 matrix 
blocks and reinitializes those matrices, takes 20 seconds per call. The 
linear solver itself averages about 40 seconds per call.

You're right that I could set this up as a Schur complement and avoid these 
extra blocks, but at least for now I'd like to see if I can make this 
block-matrix approach work faster.

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to