Re: [petsc-dev] API changes in MatIS
The problem is that you can't factor the subdomain problem directly because it is singular. So you either copy it into a bigger matrix (with Lagrange multipliers) or extract a submatrix (by dropping vertices). If I assemble a matrix with selected vertices, I can factor it and solve the constrained problems without needing to refactor. The case with no selected vertices could be a special case, and worked with exactly like MatIS is now. On Jun 11, 2012 8:35 AM, "Stefano Zampini" <[email protected]> wrote:
I missed your answer...my e-mail client hid your last email.
Do you mean assembling the matrix on preselected vertices during MatAssemblyBegin/End? Note that this will imply that standard Neumann-Neumann methods will not work (they need the unassembled matrix to solve for the local Schur complements).
I'm not too concerned about that since I consider the classic N-N and original FETI methods to be rather special-purpose compared to the newer generation. I would like to limit the number of copies of a matrix to control peak memory usage.
Duplicate vertices don't concur so much to memory usage as faces and edge nodes do, so why limit your matrix class? In principle the new class should handle _every_ nonoverlapping method, either belonging to the old or the new generation.
-- Stefano
participants (1)
-
Jed Brown