## Re: [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27?

 Re: [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27? From: Roy Stogner - 2006-04-10 15:35:29 ```On Mon, 2006-04-10 at 09:45 -0500, Benjamin S. Kirk wrote: > ..wow, p>10! The condition number must be going to hell in a hurry? That was my first theory; even getting up that far required a few ILU steps in the preconditioner. There could be some inaccuracy in the shape functions, too, however; I've never thought much about FP error in such simple calculations as basis functions, but when you're dividing "xi to the huge power" over "huge factorial" it may be a problem. > Seriously, p>10?! Never thought I'd see the day in libMesh... ;-) I'll make you a deal: fix the 3D hierarchics for p=3, and I'll give you p=10 there too! Figuring out how to extend your giant table-o-numbers to arbitrary p wasn't hard, but I don't think I understand the edge and face flipping code well enough to fix it quickly. It's not just the sign of the derivatives that might need to be changed, like I thought before, it's the selection of which 1D shape function gets called for its derivative and which get called for values. -- Roy Stogner ```

### Thread view

 [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27? From: Roy Stogner - 2006-04-02 00:08:46 ```On the QUAD elements, we handled flipped edges by taking the negative of the odd shape functions on those edges, which works fine. On the HEX27, it looks like we're handling flipped edges by mapping xi to -xi, eta to -eta, or zeta to -zeta, depending on the edge. Obviously this mapping gives you the negative of odd shape functions... but it doesn't give you the negative of their derivatives! Am I missing something, or is this incorrect? We now (or whenever SourceForge gets their CVS server working again, anyway) have hierarchics implemented for arbitrary n on EDGE2/3 and QUAD8/9 elements, by the way. They only seem to work well up to n=11 or so, though; I'm not sure whether it's the floating point function evaluations or the matrix conditioning that blows up there, but something goes haywire. --- Roy ```
 Re: [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27? From: Steffen Petersen - 2006-04-02 11:55:40 ```Roy Stogner schrieb: > > On the QUAD elements, we handled flipped edges by taking the negative > of the odd shape functions on those edges, which works fine. > > On the HEX27, it looks like we're handling flipped edges by mapping > xi to -xi, eta to -eta, or zeta to -zeta, depending on the edge. > Obviously this mapping gives you the negative of odd shape > functions... but it doesn't give you the negative of their > derivatives! Am I missing something, or is this incorrect? This seems to be a bug in the 3D hierarchic shapes (and I just got poor results from a convergence test for the HEX27 hierarchics). It seems that no one has really used the 3D hierarchics so far. For the 3D Berstein shapes I had adopted the finite differences scheme that was used in libMesh to compute the shape derivatives for triangular elements. For the moderate orders that had been implemented so far this appears to work fine, but I guess it has limitations when used with high polynimial orders. Steffen > We now (or whenever SourceForge gets their CVS server working again, > anyway) have hierarchics implemented for arbitrary n on EDGE2/3 and > QUAD8/9 elements, by the way. They only seem to work well up to n=11 > or so, though; I'm not sure whether it's the floating point function > evaluations or the matrix conditioning that blows up there, but > something goes haywire. > --- > Roy > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting language > that extends applications into web and mobile media. Attend the live > webcast > and join the prime developer group breaking into this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Libmesh-devel mailing list > Libmesh-devel@... > https://lists.sourceforge.net/lists/listinfo/libmesh-devel ```
 Re: [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27? From: Roy Stogner - 2006-04-03 15:42:04 ```On Sun, 2 Apr 2006, Steffen Petersen wrote: > This seems to be a bug in the 3D hierarchic shapes (and I just got poor > results from a convergence test for the HEX27 hierarchics). > It seems that no one has really used the 3D hierarchics so far. I was afraid of that. I used the 3D hierarchics once when trying to debug the 3D Hermites, and they didn't work... but I discovered a bug in my user-level code, and after the Hermites started working I just assumed the same bug had been responsible for the weird hierarchics behavior. Ben expressed worry those long index lookup tables in fe_hierarchic_shape_3D.C might be wrong. Well, the lookup tables are just fine, but it looks like the real complication of the function is in those long lists of orientation changes. I'd like to implement arbitrary polynomial order for the 3D Hierarchics, and I can do most of the work easily, but I'd been hoping to just copy the orientation-matching code from the current cubic implementation. > For the 3D Berstein shapes I had adopted the finite differences > scheme that was used in libMesh to compute the shape derivatives for > triangular elements. For the moderate orders that had been implemented > so far this appears to work fine, but I guess it has limitations > when used with high polynimial orders. Everything has limitations when used with high polynomial orders; my new 2D Hierarchic quads use the analytic derivatives, but they still seem to become useless quickly for p>10. I ought to try recompiling with long double support again, just to see how much farther they get with a few digits extra precision. --- Roy ```
 Re: [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27? From: Benjamin S. Kirk - 2006-04-10 14:56:19 ```On Mon, 2006-04-03 at 10:41 -0500, Roy Stogner wrote: > Everything has limitations when used with high polynomial orders; my > new 2D Hierarchic quads use the analytic derivatives, but they still > seem to become useless quickly for p>10. I ought to try recompiling > with long double support again, just to see how much farther they get > with a few digits extra precision. > --- ..wow, p>10! The condition number must be going to hell in a hurry? Seriously, p>10?! Never thought I'd see the day in libMesh... ;-) -Ben ```
 Re: [Libmesh-devel] How do edge/face orientations work for HIERARCHIC on HEX27? From: Roy Stogner - 2006-04-10 15:35:29 ```On Mon, 2006-04-10 at 09:45 -0500, Benjamin S. Kirk wrote: > ..wow, p>10! The condition number must be going to hell in a hurry? That was my first theory; even getting up that far required a few ILU steps in the preconditioner. There could be some inaccuracy in the shape functions, too, however; I've never thought much about FP error in such simple calculations as basis functions, but when you're dividing "xi to the huge power" over "huge factorial" it may be a problem. > Seriously, p>10?! Never thought I'd see the day in libMesh... ;-) I'll make you a deal: fix the 3D hierarchics for p=3, and I'll give you p=10 there too! Figuring out how to extend your giant table-o-numbers to arbitrary p wasn't hard, but I don't think I understand the edge and face flipping code well enough to fix it quickly. It's not just the sign of the derivatives that might need to be changed, like I thought before, it's the selection of which 1D shape function gets called for its derivative and which get called for values. -- Roy Stogner ```

## Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks