From: Roy S. <roy...@ic...> - 2007-06-19 14:51:33
|
On Tue, 19 Jun 2007, Tim Kröger wrote: > There is only one thing I would require further: For the Tet4 (and Tet10) > elements, I would like the user to be able to influence the choice of the > diagonal along which the middle octrahedron of the tetrahedron is divided > into four tetrahedra. I.e., I would like a function > > Tet4::influence_diagonal_selection(Tet4::Diagonal); > > (and the same for Tet10). Would you accept such a function in your library? The idea is certainly a good one, but how is the interface supposed to work? We want to pick the shortest diagonal, I assume, where the definition of "shortest" has changed since the refinement? How about a function like Tet::reselect_diagonal(); you'd call it on each parent Tet after a refinement / node perturbation step, it would delete and recreate children where appropriate, and then you'd call EquationSystems::reinit() to do all the housekeeping and solution projection work. One concern that just came to mind with the nodal perturbation idea: will hanging degree of freedom constraints be calculated correctly? The generic create_proj_constraints code should be able to cope, but I think some of the coefficients for the specialized LAGRANGE code may be hard coded, in which case you'd have to use HIERARCHIC elements instead. The DoFs will be the same on a Tet4, of course, but they'll use the more generic code paths. --- Roy |