dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #16103
Re: dof_map / finite element consistency
On Wed, Oct 07, 2009 at 10:47:53AM +0100, Garth N. Wells wrote:
> We added some time ago
>
> dof_map::max_local_dimension()
>
> and perhaps we also need
>
> finite_element::max_local_dimension()
>
> and
>
> finite_element::local_dimension(const ufc_cell& )
>
> I have a problem for which the number of dofs an element has can grow
> during a computation. You may say that this is then a different element,
> but that would make it hard to handle in DOLFIN and hard to generate
> code for.
>
> Here's an example of an inconsistency. In dolfin::Function, we
> initialise some scratch space for the dof map based on the element space
> dimension,
>
> dofs = new uint[element.space_dimension()];
> for (uint i = 0; i < element.space_dimension(); i++)
> dofs[i] = 0;
>
> whereas is dolfin::UFC we use dof_map::max_local_dimension().
Yes, it would be natural to have max_ in both and an optional cell
argument.
But for the finite element class, it would be better to have
unsigned int max_space_dimension() const;
unsigned int space_dimension(const cell& cell) const;
rather than (max_)local_dimension, since there is always only one
dimension for an element (not local and global).
--
Anders
Attachment:
signature.asc
Description: Digital signature
Follow ups
References