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

Reply via email to