[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