[petsc-users] Problem with diagonal MPIAIJ matrix

Barry Smith bsmith at mcs.anl.gov
Tue Apr 7 15:51:43 CDT 2015


  I think this problem (or a related problem) was fixed in master recently. Could you please try with the master branch and see if you still have a problem? http://www.mcs.anl.gov/petsc/developers/index.html

  Barry


> On Apr 7, 2015, at 6:38 AM, Lukasz Kaczmarczyk <Lukasz.Kaczmarczyk at glasgow.ac.uk> wrote:
> 
> Hello,
> 
> Pleas see attached following code,
> http://userweb.eng.gla.ac.uk/lukasz.kaczmarczyk/MoFem/html/_p_c_m_g_set_up_via_approx_orders_8cpp_source.html
> 
> I encounter following error, if restriction and interpolation operator is the same for multigrid solver. This happens when  I use hierarchical approx. basis and my R matrix is has only values on diagonal. If I set PCMGSetRestriction it works great, but I believe that this is not optimal solution. Could you advise some solution for this?
> 
> 
>  176                 // Petsc Development GIT revision: v3.5.3-1524-gee900cc  GIT Date: 2015-01-31 17:44:15 -0600
>  178                 // [0]PETSC ERROR: [0] MatPtAPSymbolic_MPIAIJ_MPIAIJ line 124 /opt/petsc/src/mat/impls/aij/mpi/mpiptap.c
>  179                 // [0]PETSC ERROR: [0] MatPtAP_MPIAIJ_MPIAIJ line 80 /opt/petsc/src/mat/impls/aij/mpi/mpiptap.c
>  180                 // [0]PETSC ERROR: [0] MatPtAP line 8458 /opt/petsc/src/mat/interface/matrix.c
>  181                 // [0]PETSC ERROR: [0] PCSetUp_MG line 552 /opt/petsc/src/ksp/pc/impls/mg/mg.c
>  182                 // [0]PETSC ERROR: [0] KSPSetUp line 220 /opt/petsc/src/ksp/ksp/interface/itfunc.c
>  183 
>  184                 // ==4284== Invalid read of size 8
>  185                 // ==4284==    at 0x5CAC873: MatPtAPSymbolic_MPIAIJ_MPIAIJ (mpiptap.c:154)
>  186                 // ==4284==    by 0x5CABA74: MatPtAP_MPIAIJ_MPIAIJ (mpiptap.c:83)
>  187                 // ==4284==    by 0x5D566D1: MatPtAP (matrix.c:8537)
>  188                 // ==4284==    by 0x61F27D6: PCSetUp_MG (mg.c:642)
>  189                 // ==4284==    by 0x612BD9C: PCSetUp (precon.c:909)
>  190                 // ==4284==    by 0x62C1A51: KSPSetUp (itfunc.c:306)
>  191                 // ==4284==    by 0xB98326: main (elasticity.cpp:403)
>  192                 // ==4284==  Address 0x208 is not stack'd, malloc'd or (recently) free'd
> 
> 
> Kind regards,
> Lukasz



More information about the petsc-users mailing list