[petsc-users] fieldsplit: Unhandled case, must have at least two fields, not 1!

Jed Brown jedbrown at mcs.anl.gov
Sun Dec 1 15:40:58 CST 2013


Mark Adams <mfadams at lbl.gov> writes:

>>
>>
>> >   ! setup solver now that matrix is complete
>> >   call KSPSetUp( solver%ksp, ierr )  !!! poisson.F90:213
>>
>> Where does your code call PCFieldSplitSetIS() or similar?
>
>
> I use DM's.  I've appended some of the code and attached the whole file.

You haven't given me enough to build this so you'll have to open a
debugger.  Your example should be executing the following at
fieldsplit.c:356:

      if (i == 0) {
        for (f = 0; f < numFields; ++f) {
          ierr = PCFieldSplitSetIS(pc, fieldNames[f], fields[f]);CHKERRQ(ierr);
          ierr = PetscFree(fieldNames[f]);CHKERRQ(ierr);
          ierr = ISDestroy(&fields[f]);CHKERRQ(ierr);
        }

numFields should be 2.  Compare to src/snes/examples/tutorials/ex28.c
(adapting runex28_3),

./ex28 -da_grid_x 20 -snes_converged_reason -snes_monitor_short -ksp_monitor_short -problem_type 2 -snes_mf_operator -pack_dm_mat_type nest -pc_type fieldsplit -pc_fieldsplit_dm_splits -pc_fieldsplit_type schur -fieldsplit_u_ksp_type gmres -fieldsplit_k_pc_type jacobi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131201/442cbfde/attachment.pgp>


More information about the petsc-users mailing list