← Back to team overview

dolfin team mailing list archive

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