From: Roy S. <roy...@ic...> - 2008-11-18 16:52:34
|
On Tue, 18 Nov 2008, Norbert Stoop wrote: > Okay, the basic functionality for subdivision surface FEM should be > implemented now, but I have a question regarding proper integration into > libmesh: > These elements need some additional variables to store > subdivision surface properties. For example, a vector of the 1-ring of > neighbors is needed. Does this have to be stored as a vector? Or stored at all? Patch::add_point_neighbors() should do what you want on the fly. If it's worthwhile a caching version of that could be created. > Some of these properties also need to be accessible from the > application code, for example to create a local coordinate system > from the surface tangents. Could you describe this in more detail? Do you just need the FE object to be able to fill in xyz/dxyz/d2xyz properly, or is it more than that? > Now, which class should I derive the elements from? Somehow, I feel that > FE<2,SUBDIV> does not make too much sense since it has no containers for > the extra variables. I agree, but for a different reason - It would be nice to be able to mix and match subdivision surfaces with different FE types, right? If we can factor out the "all mappings are Lagrange" assumption properly, that would be possible. > On the other hand, all other libmesh machinery > relies on fe.h only and it's probably not the idea to change that. I think we could make the change sufficiently "hidden" if we just knew how to best represent it. --- Roy |