Thanks, Hong, I will try the code with bs=1, and report back to you.
Fande, On Tue, Mar 31, 2020 at 9:51 PM Zhang, Hong <hzh...@mcs.anl.gov> wrote: > Fande, > Checking aij.result: > Mat Object: () 1 MPI processes > type: seqaij > rows=25816, cols=25816, bs=4 > total: nonzeros=1297664, allocated nonzeros=1297664 > total number of mallocs used during MatSetValues calls=0 > using I-node routines: found 6454 nodes, limit used is 5 > > i.e., it uses bs=4 with I-node. The implementation of MatSolve() is > similar to baij with bs=4. What happens if you try aij with > '-matload_block_size 1 -mat_no_inode true'? > Hong > > ------------------------------ > *From:* petsc-users <petsc-users-boun...@mcs.anl.gov> on behalf of Fande > Kong <fdkong...@gmail.com> > *Sent:* Monday, March 30, 2020 12:25 PM > *To:* PETSc users list <petsc-users@mcs.anl.gov> > *Subject:* [petsc-users] AIJ vs BAIJ when using ILU factorization > > Hi All, > > There is a system of equations arising from the discretization of 3D > incompressible Navier-Stoke equations using a finite element method. 4 > unknowns are placed on each mesh point, and then there is a 4x4 saddle > point block on each mesh vertex. I was thinking to solve the linear > equations using an incomplete LU factorization (that will be eventually > used as a subdomain solver for ASM). > > Right now, I am trying to study the ILU performance using AIJ and BAIJ, > respectively. From my understanding, BAIJ should give me better results > since it inverses the 4x4 blocks exactly, while AIJ does not. However, I > found that both BAIJ and AIJ gave me identical results in terms of the > number of iterations. Was that just coincident? Or in theory, they are > just identical. I understand the runtimes may be different because BAIJ > has a better data locality. > > > Please see the attached files for the results and solver configuration. > > > Thanks, > > Fande, >