[petsc-users] [PATCH 2/2] Call KSPSetFromOptions before setting fieldsplit-specific options

Jed Brown jedbrown at mcs.anl.gov
Sun Sep 8 08:45:11 CDT 2013


Umut Tabak <u.tabak at tudelft.nl> writes:

>> Your splits were both the same, so the preconditioner was applied twice
>> to the first block and zero to the second block.  That made the
>> preconditioner singular.
>
> Dear Jed,
>
> Thanks a lot for your time and help, attached you can find a very 
> challenging ill-conditioned problem:
>
> The first block comes from a structural problem and its size is 1490. 
> The second block results from a fluid discretization and its size is 
> 2432. So in total the coupled system is of size 3922. I created the 
> blocks as given in the simple problem. However, with
>
> ./ex3 -pc_type fieldsplit -pc_fieldsplit_type schur 
> -fieldsplit_1_pc_type icc -fieldsplit_1_ksp_type cg 
> -fieldsplit_1_pc_type icc -fieldsplit_1_ksp_type minres 

You have given nearly the same options twice.  Did you mean to control
the second split?

> -pc_fieldsplit_schur_factorization_type upper -ksp_monitor_true_residual
>
> The solver just hangs.
>
> The system is a symmetric system in this case given as
>
> A =
> A11 C
> C^T A22
>
> C is of size 1490X2432
>
> Could you please comment on this point for me, do I still have an error 
> on the problem setup or on the usage of the options?

This is an invalid memory access and does not use ISCreateBlock correctly.

  PetscInt sz1 = 1490, sz2 = 2432;

  PetscInt bs = 2, n1=1, n2=1, inputindices[]={0}; /* block size is 2 */
    
  ISCreateBlock(PETSC_COMM_SELF,sz1,n1,inputindices,
                PETSC_COPY_VALUES,&is_row1);
  ISCreateBlock(PETSC_COMM_SELF,sz2,n2,inputindices+n1,
                PETSC_COPY_VALUES,&is_row2);
-------------- 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/20130908/52130fc7/attachment.pgp>


More information about the petsc-users mailing list