← Back to team overview

dolfin team mailing list archive

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

 

It works!
After all I was doing something really stupid... 
 
Thanks very much for the help.
 

On Friday 05 September 2008, you wrote:
> 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.



-- 
Nuno David Lopes

e-mail:ndl@xxxxxxxxxxxxxx        (FCUL/CMAF)
           nlopes@xxxxxxxxxxxxxxx    (ISEL)
http://ptmat.ptmat.fc.ul.pt/%7Endl/ 

Fri Sep  5 17:06:02 WEST 2008


References