On 09/08/2013 03:00 PM, Matthew Knepley wrote:


If you want to solve hard systems, you must learn to debug a solver yourself. What does "just hangs" mean? Start with a full Schur complement factorization with LU on block 1 and a tiny tolerance on block 2. This will converge in 1 iterate. Then
start slowly making the preconditioner weaker.

Ok just for reference for future search on the topic for the others, here is the correct set of options

./ex3 -pc_type fieldsplit -fieldsplit_1_pc_type lu -fieldsplit_1_ksp_type preonly -fieldsplit_2_pc_type icc -fieldsplit_2_ksp_type minres -fieldsplit_2_ksp_rtol 1e-4 -ksp_view


   Matt

    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?

    BR,
    Umut


ISCreateBlock(PETSC_COMM_SELF,bs,n1,inputindices,PETSC_COPY_VALUES,&is_row1); ISCreateBlock(PETSC_COMM_SELF,bs,n2,inputindices,PETSC_COPY_VALUES,&is_row2);

        We could check for this case, but it would require a little
        code and
        isn't currently done.  This is probably what you wanted:

        diff --git i/ex2.c w/ex2.c
        index 94cea2c..0cce3e6 100644
        --- i/ex2.c
        +++ w/ex2.c
        @@ -45,7 +45,7 @@ int main(int argc,char **args)
            PetscInt bs = 2, n1=1, n2=1, inputindices[]={0,1}; /*
        block size is 2 */
ISCreateBlock(PETSC_COMM_SELF,bs,n1,inputindices,PETSC_COPY_VALUES,&is_row1);
        -
         
ISCreateBlock(PETSC_COMM_SELF,bs,n2,inputindices,PETSC_COPY_VALUES,&is_row2);
        +
         
ISCreateBlock(PETSC_COMM_SELF,bs,n2,inputindices+n1,PETSC_COPY_VALUES,&is_row2);
              ISView(is_row1,PETSC_VIEWER_STDOUT_SELF);
            ISView(is_row2,PETSC_VIEWER_STDOUT_SELF);





--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener

Reply via email to