From: Michael P. <mpo...@pu...> - 2018-11-07 21:20:49
|
On 11/07/2018 04:02 PM, Stogner, Roy H wrote: > 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 Thank you, I'll code a permutation vector inside my application. Michael. |