← Back to team overview

dolfin team mailing list archive

Re: Bug in UmfpackLUSolver::factorize***.

 

Nuno, I think that your error is that you factor the matrix before you
apply the dirichlet condition. bc0.apply(A_dvg,b_dvg,a_dvg) alters the
matrix. Hope that helps,

/Dag (partly responsible for this particular feature)

Nuno David Lopes wrote:
> The problem persists.
> 
> shouldn't this code produce exactly the same results,
>  when we change the comments between line marked with (1) and (2) :
> (using uBLAS backend)
> 
> -----------------------------------------------------------------------------
> ....
> LUSolver solver_dvg;
> .....
>  // {{{ (22.29) BUG RELATED WITH THIS STEP
>   Matrix A_dvg; 
>   Vector b_dvg; 
>   assemble(A_dvg,a_dvg,mesh);
>   //solver_dvg.factorize(A_dvg);                 (1)
>   assemble(b_dvg,L_dvg,mesh);
>   bc0.apply(A_dvg,b_dvg,a_dvg); 
>   //solver_dvg.factorized_solve(x_r,b_dvg); (1)
>   solver_dvg.solve(A_dvg,x_r,b_dvg);         (2)
> ...
> // {{{ LOOP 
> do{
> ....
>       // {{{ (22.34) BUG RELATED WITH THIS STEP
>       assemble(b_dvg,L_dvg,mesh);
>       //solver_dvg.factorized_solve(x_bar_r,b_dvg); (1)
>       solver_dvg.solve(A_dvg,x_bar_r,b_dvg);         (2)
>       // }}}
> ....
>     // {{{ERROR EVALUATION
>      ...
>     // }}}
> ....
> }while(iter<MAXITER)
> // }}}
> 
> Note that after the changes in Umfpack uBLAS, the ERROR evalution was the 
> same.
> Now i've got after 2 iterations  
>>>>>>>>>> LOOP ERROR=6342.645308 (Factorized case)
>>>>>>>>>> LOOP ERROR=1.547989 (non-factorized, petsc, before changes)
> when i look to the solutions i've got diferences in the pressure essentially 
> in problematic points near the corners.
> 
> Thanks in advance.
> 
> On Friday 05 September 2008, Nuno David Lopes wrote:
>> I'm not able to see problems for instance in the convection-diffusion demo,
>> after 38 steps.
>> So i'll guess that reducing it to a small problem to find the bug will not
>> be easy.
>>
>> I will try to clean and comment a little more my code, and if i find that
>> i'm not doing something really stupid, and if the bug persists i'll send my
>> code. It's a   3D stokes  problem with taylor-hood  elements solved by an
>> uzawa algorithm.
>>
>> On Thursday 04 September 2008, Garth N. Wells wrote:
>>> Can you send an example that reproduces the problem? Say for a 2x2
>>> matrix?
>>>
>>> Garth
>>>
>>> Nuno David Lopes wrote:
>>>> I guess there is a bug on
>>>> factorize, factorized_solve....factorizedSolve or in some related
>>>> function.
>>>>
>>>> Some of my results with factorize and factorized_solve, before
>>>> UmfpackLUSolver and uBlas->uBLAS changes, are completely different from
>>>> the new ones.
>>>>
>>>> I've tested with PETSc, and with uBLAS without factorization and I've
>>>> recovered the good solutions.
> 
> 
> 

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References