Marie Rognes wrote:
> DOLFIN wrote:
>> One or more new changesets pushed to the primary dolfin repository.
>> A short summary of the last three changesets is included below.
>>
>> changeset:   7408:f32a6ec49c47
>> tag:         tip
>> user:        Anders Logg <l...@simula.no>
>> date:        Thu Oct 29 23:28:47 2009 +0100
>> files:       dolfin/fem/DofMap.cpp dolfin/fem/DofMap.h 
>> dolfin/function/FunctionSpace.cpp dolfin/function/FunctionSpace.h 
>> dolfin/mesh/Mesh.h
>> description:
>> First iteration of refinement of function spaces. Refinement of a 
>> function
>> space should take care of refining the mesh, rebuilding the dofmap and
>> interpolating all its member functions to the new function space.
>>
>> All essential bits should be in place but needs some debugging to
>> find memory errors/leaks.
>>
>>   
> 
> This seems to be not working quite optimally yet.
> 
> 1) The attached script fails with the error:
> 
> 
>    python: dolfin/function/Function.cpp:392: virtual void
>    dolfin::Function::compute_vertex_values(double*, const
>    dolfin::Mesh&) const: Assertion `&mesh == &_function_space->mesh()'
>    failed.
>    Aborted
> 
> 
> 2) The original mesh does not seem to be refined. Shouldn't it be?
> 
> 3) Not much seems to happen if f is an Expression (since not much seems 
> to happen with the mesh)
> 
> 4) What happens when there are multiple function spaces associated with 
> one mesh?
> 

I haven't looked at the code yet, but my first reaction to the commit 
log is related to the above two points. I wonder if it's wise to make a 
FunctionSpace aware of the Functions that depend on it. It makes 
FunctionSpace more complicated and things could get very tricky in 
parallel. Also, there is some freedom in how a Function is moved from 
one mesh to another.

Would could define a new class, something like FunctionCollection (I 
haven't given any thought to an appropriate name) which could collect 
FunctionSpaces and GenericFunctions together for modification. It could 
provide a default method for transferring a Function from one mesh to 
another (say, interpolation), and a virtual interface for the user to 
provide the transfer.

Garth



> -- 
> Marie
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@fenics.org
> http://www.fenics.org/mailman/listinfo/dolfin-dev


_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@fenics.org
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to