What we've done here is inherit from QBase and override shapes_need_reinit() to return true. Then, when we hit each element we call a function on our qrule ourselves (like qrule->recalculate_points(Elem * elem) ) that passes in information and allows the qrule to recalculate it's points.
After that we call fe reinit()... and the shape functions will get recomputed at the correct positions because shapes_need_reinit() will return true. You will need to implement dummy init_1D, init_2D and init3D functions that basically do nothing (ours just set this->type and this->plevel).... but you won't actually do anything useful in those functions. Basically, the QBase interface doesn't have any functions that take an Elem* for reinitialization... so you would have to do something like this no matter what. Let me know if that doesn't make sense. If you have a better way let me know. Derek On Jun 29, 2011, at 1:25 PM, Boyce Griffith wrote: > I am trying to setup an adaptive quadrature rule that will use different > quadrature points/weights on different elements in the mesh. (In this > particular application, the number of quadrature points depends on the size > of the element.) > > I am not sure how to get this to work, because QBase::init() seems to default > to using precomputed points/weights whenever you pass in the same element > type and p level, even for cases in which QBase::shapes_need_reinit() returns > true. > > Modifying QBase::init() so that it does NOT skip initializing the quadrature > rule if shapes_need_reinit() seems to have the desired effect: the quadrature > rule appears to be reinitialized for each element. > > I wonder if this (or something similar) should be the default behavior? Is > there already another / better way to accomplish this? > > Thanks! > > -- Boyce > <quadrature_diff.txt>------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2_______________________________________________ > Libmesh-devel mailing list > Libmesh-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/libmesh-devel ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel