← Back to team overview

dolfin team mailing list archive

Re: [HG DOLFIN] Add Rivara refinement patch by Jansson/Sawicki

 

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 <logg@xxxxxxxxx>
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 <logg@xxxxxxxxx>
date:        Wed Jan 28 21:33:03 2009 +0100
files:       TODO
description:
Add item to TODO list


changeset:   5607:aa4015f7f2e52d18b721fe08962e87bb522d5648
user:        "Garth N. Wells <gnw20@xxxxxxxxx>"
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
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev



References