Re: [petsc-users] Problems imposing boundary conditions

2017-03-06 Thread Matthew Knepley
On Mon, Mar 6, 2017 at 8:38 AM, Maximilian Hartig wrote: > Of course, please find the source as well as the mesh attached below. I > run with: > > -def_petscspace_order 2 -vel_petscspace_order 2 -snes_monitor > -snes_converged_reason -ksp_converged_reason -ksp_monitor

[petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Kong, Fande
Hi All, I am solving a nonlinear system whose Jacobian matrix has a block structure. More precisely, there is a mesh, and for each vertex there are 11 variables associated with it. I am using BAIJ. I thought block ILU(k) should be more efficient than the point-wise ILU(k). After some numerical

Re: [petsc-users] How to define blocks for PCFIELDSPLIT?

2017-03-06 Thread Lucas Clemente Vella
I tried to split my matrix (attached drawing of the non-null elements) by calling PCFieldSplitSetIS() twice: PCFieldSplitSetIS(pc, "p", zero_to_n); PCFieldSplitSetIS(pc, "u", n_to_m); But upon running with options: -ksp_type preonly -pc_type fieldsplit I get the following error: [0]PETSC

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Barry Smith
This is because for block size 11 it is using calls to LAPACK/BLAS for the block operations instead of custom routines for that block size. Here is what you need to do. For a good sized case run both with -log_view and check the time spent in MatLUFactorNumeric, MatLUFactorSymbolic and

Re: [petsc-users] How to define blocks for PCFIELDSPLIT?

2017-03-06 Thread Barry Smith
The error is in PCFieldSplitSetDefaults() so it is seemingly ignoring your calls to PCFieldSplitSetIS() make sure those calls come AFTER your call to KSPSetFromOptions() in your code. Barry > On Mar 6, 2017, at 5:05 PM, Lucas Clemente Vella wrote: > > I tried to split

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Barry Smith
Note also that if the 11 by 11 blocks are actually sparse (and you don't store all the zeros in the blocks in the AIJ format) then then AIJ non-block factorization involves less floating point operations and less memory access so can be faster than the BAIJ format, depending on "how sparse"

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Kong, Fande
On Mon, Mar 6, 2017 at 3:27 PM, Patrick Sanan wrote: > On Mon, Mar 6, 2017 at 1:48 PM, Kong, Fande wrote: > > Hi All, > > > > I am solving a nonlinear system whose Jacobian matrix has a block > structure. > > More precisely, there is a mesh, and for

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Patrick Sanan
On Mon, Mar 6, 2017 at 1:48 PM, Kong, Fande wrote: > Hi All, > > I am solving a nonlinear system whose Jacobian matrix has a block structure. > More precisely, there is a mesh, and for each vertex there are 11 variables > associated with it. I am using BAIJ. > > I thought

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Kong, Fande
Thanks, Barry, Log info: AIJ: MatSolve 850 1.0 8.6543e+00 4.2 3.04e+09 1.8 0.0e+00 0.0e+00 0.0e+00 0 41 0 0 0 0 41 0 0 0 49594 MatLUFactorNum25 1.0 1.7622e+00 2.0 2.04e+09 2.1 0.0e+00 0.0e+00 0.0e+00 0 26 0 0 0 0 26 0 0 0 153394 MatILUFactorSym 13 1.0

Re: [petsc-users] block ILU(K) is slower than the point-wise version?

2017-03-06 Thread Barry Smith
Thanks. Even the symbolic is slower for BAIJ. I don't like that, it definitely should not be since it is (at least should be) doing a symbolic factorization on a symbolic matrix 1/11th the size! Keep us informed. > On Mar 6, 2017, at 5:44 PM, Kong, Fande wrote: >