Thread Previous • Date Previous • Date Next • Thread Next |
Anders Logg wrote:
On Thu, Sep 11, 2008 at 03:02:36PM +0100, Garth N. Wells wrote:Anders Logg wrote:My point isn't that a DofMap won't shared, it's that it's not part of the definition of a function space.On Thu, Sep 11, 2008 at 02:51:41PM +0100, Garth N. Wells wrote:Martin Sandve Alnæs wrote:I don't agree, isn't the point that several DiscreteFunctions can share a FunctionSpace?Yes, but a dof map doesn't define a function space. GarthI think the dof map should be in the FunctionSpace, that way several functions may share the dof map (which may take time to compute if we want to do some reordering). Two functions in the same function space share the mesh, the element and the dof map (these three define the space) but each function has its own vector.It is part of the function space if we say that a function space is defined by a particular basis: V = span{\phi_i} To define the basis, we need the dof map.
The dof map is needed to tie the finite element basis + domain (mesh) to a matrix/vector.
It always possible that two discrete functions which are equivalent can share a mesh and finite element (which defines the function space), but have different vectors and dof maps.Is that something we will encounter much?
Probably not, but it shows why the dof map doesn't belong in FunctionSpace.On reflection, FunctionSpace is pretty simple, so I don't actually see why we need it. If we want to stress that a group of objects belong together in the definition of a discrete function, why not just use a tuple in DiscreteFunction?
Garth It would simplify matters if
we said that a FunctionSpace is a function space with a particular basis. We do that anyway if we include the finite element. Otherwise, we could say that (P_1)^d and BDM_1 are the same function space, but we think of them as different.I added the FiniteElement class to avoid exposing ufc:: classes directly. We do the same for ufc::dof_map (but then we have a reason). It might not be necessary, but it looked more uniform to have (Mesh, FiniteElement, DofMap) instead of (Mesh, ufc::finite_element, DofMap)Sure. I just can't find where FiniteElement is defined? GarthI thought I had pushed it. It should be pushed now. ------------------------------------------------------------------------ _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@xxxxxxxxxx http://www.fenics.org/mailman/listinfo/dolfin-dev
Thread Previous • Date Previous • Date Next • Thread Next |