From: Roy S. <roy...@ic...> - 2006-03-29 20:26:29
|
On Wed, 29 Mar 2006, Benjamin S. Kirk wrote: > Does > >> Initial p refinement support - uniform p refinement is working; >> adaptive p and hp refinement has yet to be well tested. > > mean that hp refinement has been tested, but just not rigorously? Not even unrigorously. I've done some fiddling to run through parts of the code, but I'd hoped to do the real tests on a real benchmark problem... but I'm not sure what to do about error indicators! I don't know how you can choose between h and p refinement with a simple to implement code, much less how you can make that choice without access to an element assembly function. > So, libMesh now supports hp refinement? > You get a *GOLD STAR.* Well, no. But we're getting closer! If all the code I put in is bugfree (it won't be), and if our simple error indicators can fairly compare elements of different degree (here's hoping), and if you have a magic fairy guiding your h vs. p refinement choices (you don't), and if your code doesn't accidentally assume constant p (our examples don't, but more complicated code might), and if you don't want p>6 in 1D, p>5 in 2D, p>3 or non-hexes in 3D (you will), then libMesh now supports hp refinement. > as for > >> Non-hierarchical element types cannot support adaptive p refinement, >> and will be limited to uniform p refinement for the forseeable future. > > I assume this means finite element types, and that you cannot adaptively > refine lagrange elements, for example? Exactly. Right now it's just HIERARCHIC, although I plan to add higher degree CLOUGH triangles in the next year. I think my projection-based constraint matrix code might be able to handle arbitrary non-hierarchic elements as long as the side function spaces are backwards-compatible from p level to p level, but I don't think I can get the degree of freedom handler to cooperate. The DofMap required some odd tricks just to get to where it is now, in fact. Face and edge degrees of freedom are now globally numbered in reverse order, for example; that way if you might be on a hanging node it's still safe to get your vertex DoFs by counting up from the lowest global DoF number on that node or to get your edge/face DoFs by counting down from the highest global DoF! > Finally, *soon* might be a good time for some regression tests. I'd certainly feel a lot better if I had more than the current "make run_examples" to do regression testing with. I don't have time to sit down and write a hundred unit tests, but even if we just put more option combinations into the examples Makefiles it would be an improvement. > Maybe Derek is interested in scripting some stuff up & learning the > capabilities of the library? I'll forward this to him just in case he's not reading the mailing lists yet. Somehow volunteering other people for work never works out for me as well as I hope, though. ;-) --- Roy |