dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #09510
Re: Bug in UmfpackLUSolver::factorize***.
Essentially that was the feelling I got when I discovered the FEniCS::
(DOLFIN,FFC...) Project,
(thru the J. Hoffman, C.Jonhson, Book "Computational Turbulent Incompressible
Flow"), and then in the mailing-lists.
I really hope I can get deeper into the code and I will continue to use it
and contributing as much as possible.
So probably sometimes I'll say something stupid again. :D
For now I've some ideas related to the built-in meshes, smoothing algorithms,
and some other mesh related stuff...but that's not in my Phd work plan and
my time is running away.
By the way the project will be mentioned by my supervisor,
Prof. L.Trabucho, next week
in the First ICTI workshop:
http://www.math.cmu.edu/cna/icti08/
Cheers and a nice weekend.
On Friday 05 September 2008, Dag Lindbo wrote:
> Ok! It happens now and then that there are serious bugs in the dolfin so
> it is great that you point out stuff that looks suspicious. I think that
> this is a very cool project in the sense that the people who are involved
> are accessible and make it is easy to contribute. It is different in other
> open source projects I'm involved in. Cheers!
>
> /Dag
> PS. I started using org-mode in emacs after looking at your dolfin-page.
If if you find there some error or something that shouldn't be there at all,
please let me know.
> > 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
--
Nuno David Lopes
e-mail:ndl@xxxxxxxxxxxxxx (FCUL/CMAF)
nlopes@xxxxxxxxxxxxxxx (ISEL)
http://ptmat.ptmat.fc.ul.pt/%7Endl/
Fri Sep 5 21:33:01 WEST 2008
Follow ups
References