Jed, Matt, or I are responsible for what are likely lies in the field split 
naming terminology

   We have 

const char *const PCFieldSplitSchurPreTypes[] = 
{"SELF","DIAG","USER","PCFieldSplitSchurPreType","PC_FIELDSPLIT_SCHUR_PRE_",0};

Diag here actually means the A11 matrix, correct?

    case PC_FIELDSPLIT_SCHUR_PRE_DIAG:
      ierr = PetscViewerASCIIPrintf(viewer,"  Preconditioner for the Schur 
complement formed from the block diagonal part of A11\n");CHKERRQ(ierr);break;
    case PC_FIELDSPLIT_SCHUR_PRE_USER:
      if (jac->schur_user) {

block diagonal part of A11 actually means A11, correct?  Otherwise what 
blocks????

   Once I get confirmation that these are phrased wrong I will update the 
source to be less confusing. Otherwise please example what diagonal means and 
how it is used here.

    Thanks

   Barry

Reply via email to