← Back to team overview

dolfin team mailing list archive

Re: AdaptiveObjects

 


Anders Logg wrote:
> On Sat, Jan 02, 2010 at 10:39:33PM +0100, Garth N. Wells wrote:
>> I'm not too keen that Mesh::refine() calls AdaptiveObjects::refine(). It
>> breaks the nice separation of the Mesh library from other parts of
>> DOLFIN. Can we do it differently? Should the user call something like
>>
>>   AdaptiveObjects.refine(mesh, markers)l
>>
>> to refine the mesh?
>>
>> Garth
> 
> Ideally, the mesh library should not depend on other parts of DOLFIN.
> But I couldn't find any other way to handle this. The problem is that
> 
> 
>   mesh.refine()
> 
> would otherwise break all other objects depending on it, including all
> function spaces and all functions. 

What about having free functions

  refine(mesh);
  refine(mesh, cell_marks);
	
?

Garth

So mesh.refine() makes little sense
> unless one only works with the mesh which I assume is not that
> common.
> 
> In my opinion, making sure refinement works without producing invalid
> dofmaps and function vectors is more important than for the mesh
> library not to depend on dolfin/adaptivity. It's also the case that
> mesh.refine() is just a one-line convenience function which happens to
> be an alias for AdaptiveObjects.refine(mesh, markers).
> 
> --
> Anders





Follow ups

References