What you say is precisely what I would like to do. I don't know how to
copy the sparsity patterns from sparsity_M et al. The copy_from method
and = operators both throw errors, so those aren't right. sparsity_M is
of type SparsityPattern. How do I assign that to block_sparsity.block(0,0)?

Did you try
  block_sparsity.block(0,0).copy_from (sparsity_M)
? If you do this for all blocks, you'll have to call
  block_sparsity.collect_sizes()
at the end to make sure you have all the correct sizes propagated from the individual blocks to the outer object.


I cannot use the DoFTools::make_sparsity_pattern for the following
reason: in essence, I am doing an FE system without using FESystem. The
components of the system (real and imaginary parts) use the same FE
space and satisfy dual PDEs--so it's really a waste to use FESystem.

You have other good reasons, but I'd like to point out that for coupled systems the majority of the memory is used for the linear system, not the DoFHandler etc. I bet you don't save very much memory with your approach. But that's just a side note.

Cheers
 W.

------------------------------------------------------------------------
Wolfgang Bangerth               email:            [email protected]
                                www: http://www.math.tamu.edu/~bangerth/

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to