[petsc-users] Questions on dense and sparse matrix block

Barry Smith bsmith at mcs.anl.gov
Wed Jan 22 18:32:47 CST 2014


  What ODE integrator are you using? Your own? One in PETSc?

   You could just use -pc_type lu and the sparse format right? Or is that too slow?

   Barry

  Jed and Emil,  do we have any integrators that keep the time-step small due to slow convergence of Newton in TS?


On Jan 22, 2014, at 5:05 PM, Danyang Su <danyang.su at gmail.com> wrote:

> On 22/01/2014 1:42 PM, Barry Smith wrote:
>>    Linear solvers based on ILU will behave very differently when extra zeros are kept in the matrix; they generally converge much faster because the ILU behaves more like an LU (especially in 1d).   So first run one 1 process with dense and sparse formats and -pc_type lu;  do they behave differently? (they pretty much shouldn’t).
> It does not behave differently with the option '-pc_type lu'.
>> 
>>   Next run the sparse format version with -ksp_monitor_true_residual and see how the solver is converging compared to the dense format version.
> The converging is quite different.
> ---Sparse format
>  0 KSP preconditioned resid norm 5.242977405897e-004 true resid norm 3.927123490361e-006 ||r(i)||/||b|| 1.000000000000e+000
>  1 KSP preconditioned resid norm 6.118580743238e-006 true resid norm 2.917502282301e-008 ||r(i)||/||b|| 7.429107562985e-003
>  2 KSP preconditioned resid norm 9.271130393116e-007 true resid norm 9.649272009380e-009 ||r(i)||/||b|| 2.457083927476e-003
>  3 KSP preconditioned resid norm 5.812641606714e-009 true resid norm 4.073757311146e-011 ||r(i)||/||b|| 1.037338734355e-005
>  4 KSP preconditioned resid norm 1.992914862465e-010 true resid norm 1.261636843933e-012 ||r(i)||/||b|| 3.212623303112e-007
>  5 KSP preconditioned resid norm 1.422122839379e-012 true resid norm 2.393761421284e-014 ||r(i)||/||b|| 6.095457469466e-009
> ---Dense format
>  0 KSP preconditioned resid norm 2.948306125658e+000 true resid norm 2.436662454678e-004 ||r(i)||/||b|| 1.000000000000e+000
>  1 KSP preconditioned resid norm 9.798852520841e-015 true resid norm 1.267168968393e-018 ||r(i)||/||b|| 5.200428832315e-015
> 
> The convergence seems difficult for the sparse format and the number of outer newton iteration is usually much larger than dense format.
> So the time step cannot increase due to this.
> 
> Thanks,
> 
> Danyang
>> 
>>    Barry
>> 
>> On Jan 22, 2014, at 2:11 PM, Danyang Su <danyang.su at gmail.com> wrote:
>> 
>>> Dear All,
>>> 
>>> I have a reactive transport problem that use block matrices. Each block can be dense with a lot of zero entries or sparse without zero entries. The model has been tested for a 1D reactive transport problem. When dense block is used, it works well and time step can be increased gradually to reach a maximum time step, but when sparse block is used, the time step remains at a small value. I checked the entries for both dense blocks and sparse blocks (A), they have the same non-zero entries. With the same RHS (b), the solution (X) is a little different, but seems acceptable. The first matrix with both dense blocks and sparse blocks has been attached. The matrix is exported in matrix market exchange format (.mtp).
>>> 
>>> I wonder if this is caused by the outer newton iteration or the solver as this is not a general problem. This problem only occurs in some cases.
>>> 
>>> Does anyone run into this problem before?
>>> 
>>> Thanks and regards,
>>> 
>>> Danyang
>>> <a_reactran_rt_1_dense.mtp><a_reactran_rt_1_dense.PNG><b_reactran_rt_1_dense.txt><x_reactran_rt_1_dense.txt><a_reactran_rt_1_sparse.mtp><a_reactran_rt_1_sparse.PNG><b_reactran_rt_1_sparse.txt><x_reactran_rt_1_sparse.txt>
> 



More information about the petsc-users mailing list