I think you could re-write the algorithm without using pointers (except 
the STL list implementation which needs pointers). If we don't use the 
dynamic mesh representation anywhere else, I think it would be 
suboptimal use of resources though. As I've mentioned, the work of the 
GMsh people on mesh adaptation (Gaetan Compere, Jean-Francois Remacle, 
et al) looks promising, so it would be more natural for DOLFIN to use 
that library for mesh adaptation algorithms, and spend the time 
improving that instead.

This is a movie of a robustness test of mesh adaptation using their library:

http://www.csc.kth.se/~jjan/movies/flag3D_force.avi

(The vertices touching the blue cells are moved through the mesh, with 
the red cells being forced to adapt to satisfy size field and quality)

Rivara is great, but it's only refinement. The interface using mesh 
adaptation is to give a desired size field, then a control algorithm 
uses local mesh operations (bisection, collapse, swapping) to satisfy 
that size field (within a given tolerance). I think this is really a big 
step up from the established algorithms and software, and since it 
apparently can be done in a robust way, I think it's something that 
should be invested in. I've communicated with the developers and they're 
in the process of re-writing some parts in preparation for a free 
software (LGPL) release. Why not give them a month or two to finish up 
their work before spending significant time on rewriting implementations 
of refinement algorithms that I think will be obsolete within a year or 
so (at least serial implementations).

  Johan

Garth N. Wells wrote:
> There are some memory leaks in this code.
>
> Pointers are used extensively in this code - can their use be reduced to 
> help readability and to minimise the likelihood of leaks?
>
> Garth
>
> 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:   5609:183deaf2428c90177bdb0c3220dc12891780e92e
>> tag:         tip
>> user:        Anders Logg <[email protected]>
>> date:        Thu Jan 29 10:13:16 2009 +0100
>> files:       dolfin/mesh/LocalMeshRefinement.cpp 
>> dolfin/mesh/LocalMeshRefinement.h dolfin/mesh/Mesh.cpp 
>> dolfin/mesh/RivaraRefinement.cpp dolfin/mesh/RivaraRefinement.h
>> description:
>> Add Rivara refinement patch by Jansson/Sawicki
>>
>>
>> changeset:   5608:f7257fc94661ae937756a68c5ccd1b4c5f864aa5
>> user:        Anders Logg <[email protected]>
>> date:        Wed Jan 28 21:33:03 2009 +0100
>> files:       TODO
>> description:
>> Add item to TODO list
>>
>>
>> changeset:   5607:aa4015f7f2e52d18b721fe08962e87bb522d5648
>> user:        "Garth N. Wells <[email protected]>"
>> date:        Tue Jan 27 16:52:18 2009 +0000
>> files:       demo/pde/elastodynamics/ElastoDynamics.form 
>> demo/pde/elastodynamics/ElastoDynamics.h demo/pde/elastodynamics/SConstruct 
>> demo/pde/elastodynamics/cpp/DG0_eps_xx.form 
>> demo/pde/elastodynamics/cpp/DG0_eps_xx.h 
>> demo/pde/elastodynamics/cpp/ElastoDynamics.form 
>> demo/pde/elastodynamics/cpp/ElastoDynamics.h 
>> demo/pde/elastodynamics/cpp/SConstruct demo/pde/elastodynamics/cpp/main.cpp 
>> demo/pde/elastodynamics/main.cpp
>> description:
>> Make elastodynamics example more interesting.
>>
>> Add viscous damping term.
>>
>> ----------------------------------------------------------------------
>> For more details, visit http://www.fenics.org/hg/dolfin
>> _______________________________________________
>> DOLFIN-dev mailing list
>> [email protected]
>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>>     
> _______________________________________________
> DOLFIN-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>   

_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to