← Back to team overview

dolfin team mailing list archive

Re: Assembler clean up

 

On Thu, Feb 07, 2013 at 08:17:00AM +0000, Garth N. Wells wrote:
> I'm about to start cleaning up the assemblers, and fixing some bugs
> will necessitate some interface changes. For example we have:
>  /// Assemble tensor
>  void assemble(GenericTensor& A,
>                const Form& a,
>                bool reset_sparsity=true,
>                bool add_values=false,
>                bool finalize_tensor=true,
>                bool keep_diagonal=false);
>  /// Assemble tensor on sub domains
>  void assemble(GenericTensor& A,
>                const Form& a,
>                const MeshFunction<std::size_t>* cell_domains,
>                const MeshFunction<std::size_t>* exterior_facet_domains,
>                const MeshFunction<std::size_t>* interior_facet_domains,
>                bool reset_sparsity=true,
>                bool add_values=false,
>                bool finalize_tensor=true,
>                bool keep_diagonal=false);
> but calling
>  assemble(A, a, 0, 0, 0);

This was mostly meant as an internal common interface anyway for
passing data from all different interfaces to a common assembler routine.

> is to me ambiguous in terms which function will be called. I think the
> best solution, which we've discussed, it to always attach the domain
> data to forms.

Agree.

--
Anders


References