← Back to team overview

dolfin team mailing list archive

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

 



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)


The code is not very easy to follow, but one thing is that you're factorising the matrix before the application of boundary conditions which won't work.

Try to send a simple piece of working code that reproduces the error, or separate the below code (one piece of simple pseudo code that works, and one which doesn't).

Garth


-----------------------------------------------------------------------------
....
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.






References