2008/6/16 Anders Logg <[EMAIL PROTECTED]>: > On Mon, Jun 16, 2008 at 10:10:32PM +0200, Martin Sandve Alnæs wrote: >> 2008/6/16 Anders Logg <[EMAIL PROTECTED]>: >> > On Mon, Jun 16, 2008 at 09:46:23PM +0200, Martin Sandve Alnæs wrote: >> >> 2008/6/16 Anders Logg <[EMAIL PROTECTED]>: >> >> > On Mon, Jun 16, 2008 at 07:06:20PM +0200, Martin Sandve Alnæs wrote: >> >> >> I think DofMapSet should be independent of the form it was initialized >> >> >> with. >> >> >> I believe the sharing of a single set of dofmaps among different forms >> >> >> is one >> >> >> of the key tasks of this class, and that the vector with form argument >> >> >> dofmaps >> >> >> should rather be obtained on demand: >> >> > >> >> > Agree. >> >> > >> >> >> // Get vector of dofmaps (possibly not unique) for each argument of >> >> >> form >> >> >> dofmapvector = dofmapset.getDofMaps(form); >> >> > >> >> > What does this function do? >> >> >> >> Gets a vector<DofMap*> with length equal to form.rank() + >> >> form.num_coefficients(), >> >> where each DofMap* is the same if the signature is the same. >> >> In other words, constructs and returns what is currently a member: >> >> >> >> // Array of dof maps for current form >> >> std::vector<DofMap*> dof_map_set; >> >> >> >> but on the fly for a given form such that DofMapSet isn't >> >> associated with any particular form. >> > >> > ok, now I understand what you mean. But I would suggest >> > >> > DofMap& dof_map = dofmapset.extractDofMap(form, i); >> >> Agree, that was the second function I suggested. > > ok. > >> > Or are we going to pass around Arrays of DofMaps? >> >> It was just a convenience function to replace the existing >> functionality, but this functionality should probably rather >> be in UFC or something. > > DofMapSet? Perhaps, but that would mean putting *functionality* into > UFC which we haven't done so far (except the Python boilerplate).
I'm just guessing here, I imagine the vector of dofmaps for a form is only used in the context of assembly, and then they can be picked out together with other data in UFC. You or Garth put this vector<DofMap*> in DofMapSet in the first place, feel free to decide where to have it :) -- Martin _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
