zero'ing parts of blocks
Craig Tanis
craig-tanis at utc.edu
Fri Dec 4 12:58:02 CST 2009
First of all, thanks for all the help on my recent questions! Here's a new one:
I have multiple degrees of freedom per node in an unstructured mesh. I have set up an AO to get the PETSC ordering for these global nodes, and then a LocalToGlobalMapping to map local indices to these AO-renumbered global nodes. This appears to be working correctly.
I create a Mat of type MATMPIBAIJ, and I use MatSetValuesBlockedLocal to add things to my matrix, as expected. I have some boundary conditions that require certain rows within certain blocks to be zeroed out. Conceptually, I would like to use MatZeroRowsLocal (which appears to operate on individual rows.. not on constituent blocks). The problem is that this call complains that I have not set a LocalToGlobalMapping (since I've only set the block one).
Is it common (or even possible) to register a LocalToGlobalMapping a LocalToGlobalMappingBlock for a given Mat?
Is there a way to extrapolate one from the other?
If there is no way to Zero these rows individually, am I forced to get the block values, zero out the rows manually and then INSERT them back in?
thanks again,
Craig
More information about the petsc-users
mailing list