On Fri, Mar 27, 2009 at 7:22 AM, Roy Stogner <roystgnr@ices.utexas.edu> wrote:

On Fri, 27 Mar 2009, Kirk, Benjamin (JSC-EG311) wrote:

> What do you think about adding some bitfields (or bitsets) to Elem
> to track things like has_affine_map, on_processor_boundary,
> on_material_interface, etc...?
>
> The has_affine_map seems like a big payoff to avoid repeating the
> flops to determine it...

Maybe I'm wrong; I'll forward this on to libmesh-devel for third
opinions.  Or maybe I'm just being myopic.  Derek tells me there's INL
people interested in doing Cahn-Hilliard stuff in his framework, who
would be using affine grids, and who are referencing my CH talks.
Speeding that up might help move that along, and I would enjoy
describing my applications work as "cited in the nuclear engineering
literature" rather than just "cited by a couple others from my
department"...


Honestly... this sounds like a pretty good optimization to me.  This shouldn't be the default behavior though... like Roy says... there are too many operations that will silently invalidate that bitfield.  If we make it something you have to turn on manually then you should know that you need to manually call some other function ( rebuild_bitfields() ?) when you change the mesh.

This would definitely benefit the CH work I have coming up....

Derek