dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #09018
Re: [Fwd: Re: [HG DOLFIN] merge]
> On Wed, Aug 13, 2008 at 06:31:22PM +0200, kent-and@xxxxxxxxx wrote:
>>
>> > Kent-Andre Mardal wrote:
>> >> BTW: the Assembler code that computes A, b and enforces BC
>> >> simultaneously in a symmetric way,
>> >
>> > Very nice. We can now implement some symmetric linear solvers.
>> >
>> > Do you keep the 'Dirichlet' dofs and zero the row and column, or do
>> you
>> > eliminate them from the global system?
>>
>> The Dirichlet dofs are kept. I thought that was simplest to do..
>> >
>> > is now faster than the standard
>> >> non-symmetric way of doing it:
>> >>
>> >> timings:
>> >> new : 1.55
>> >> standard: 1.94
>> >>
>> >
>> > Which backend is this using? It could be saying more about the
>> > efficiency of the function ident(..), which I suspect is slow for
>> > uBlasMatrix, than the assembly process.
>> >
>>
>> Good point. There is speed up for all backends that I have tried.
>> Here are the numbers:
>>
>> ~/local/src/dolfin/demo/pde/sym-dirichlet-bc >python speed-up-test.py
>> |
>> grep using
>> time for standard assembly 1.89726901054 using uBLAS
>> time for new assembly 1.49513792992 using uBLAS
>> time for standard assembly 1.97571492195 using PETSc
>> time for new assembly 1.55099701881 using PETSc
>> time for standard assembly 2.26576018333 using Epetra
>> time for new assembly 1.86703896523 using Epetra
>>
>>
>> Kent
>
> Very nice. Is assemble_system fully working now? Can it be safely used
> for all forms (in particular DG forms)? If so, we can start using it
> in LinearPDE::solve().
>
> --
> Anders
I have not done interior facets yet, did not manage it today (and I
am going to Budapest tomorrow on holiday).
In the case with boundary conditions only on the boundary :) I guess one
could safely just include the call to interior facet in the assemble_system
function, but I guess we would like to have it more general.
I'll look into it next week.
Kent
References