From: Stogner, R. H <roy...@ic...> - 2018-11-07 21:02:56
|
On Wed, 7 Nov 2018, Michael Povolotskyi wrote: > On 11/07/2018 02:59 PM, Stogner, Roy H wrote: >> On Wed, 7 Nov 2018, Michael Povolotskyi wrote: >> >>> if I use the trapezoidal rule: >>> >>> QTrap qrule(dim) >>> >>> Can I assume the quadrature points are ordered in the same way at the >>> element >>> nodes? >> Doesn't look that way, in general, at first glance. We build the quad >> and hex QTrap rules via tensor products, but that's not how we order >> nodes. >> --- >> Roy > Thank you, > then how to solve the following problem. > > I have an element that has n_nodes; > It has the same number of quadrature points that are at the nodal positions > (trapezoidal rule is assumed). > How to find the node number that corresponds to a quadrature point? > Should I compare coordinates? If you do that at runtime then it will throw a ton of unnecessary calculation into an inner loop. You could just hardcode the permutation vectors; looking over quadrature_trap*.C it looks like (mapping from quadrature point numbers to node numbers, and don't trust me on this without verifying it): QUAD4: {0, 1, 3, 2} HEX8: {0, 1, 3, 2, 4, 5, 7, 6} And then edge/triangle/prism elements are all the identity permutation... and we don't support QTrap on pyramids apparently? --- Roy |