dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #26327
Re: Assembler clean up
-
To:
"Garth N. Wells" <gnw20@xxxxxxxxx>
-
From:
Anders Logg <logg@xxxxxxxxx>
-
Date:
Thu, 7 Feb 2013 11:42:52 +0100
-
Cc:
DOLFIN Mailing List <dolfin@xxxxxxxxxxxxxxxxxxx>
-
In-reply-to:
<CAA4C66MR8AEhYJSrUcRJsp2SjYeyMPr1FgAx-5+E6=914-ZfhA@mail.gmail.com>
-
User-agent:
Mutt/1.5.21 (2010-09-15)
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