On 10/5/11 6:29 PM, Boyce Griffith wrote:
> I was wondering if FE::reinit() in fe_boundary.C for sides and edges
> should/could force reinitialization when qrule->shapes_need_reinit() is
> true, as is done in FE::reinit() in fe.C. I'm attaching a simple patch
> to this email that makes this change.

I wanted to follow-up on this --- it seems like reinit/edge_reinit in 
fe.C and fe_boundary.C behave differently if qrule->shapes_need_reinit() 
returns true.  Specifically, in fe.C, reinit() will set 
shapes_on_quadrature to false if qrule->shapes_need_reinit() is true, 
whereas in fe_boundary.C, this does not currently happen.  Consequently, 
even if qrule->shapes_need_reinit() is true, the current implementation 
of fe_boundary.C does not appear to reinitialize the shape functions/etc.

I wonder if it makes sense to change line 165 of fe_boundary.C from:

       if ((this->get_type() != elem->type())    ||
           (side->type() != last_side)           ||
           (this->get_p_level() != side_p_level) ||
           this->shapes_need_reinit()            ||
           !shapes_on_quadrature)

to:

       if ((this->get_type() != elem->type())    ||
           (side->type() != last_side)           ||
           (this->get_p_level() != side_p_level) ||
           this->shapes_need_reinit()            ||
           qrule->shapes_need_reinit()           ||
           !shapes_on_quadrature)

If this is correct, a similar change would also be needed at line 258 of 
fe_boundary.C:

       if ((this->get_type() != elem->type())                   ||
           (edge->type() != static_cast<int>(last_edge))        || // 
Comparison between enum and unsigned, cast the unsigned to int
           this->shapes_need_reinit()                           ||
           qrule->shapes_need_reinit()                          ||
           !shapes_on_quadrature)

Alternatively --- does it make sense to change the implementation of 
FE::shapes_need_reinit() to use qrule->shapes_need_reinit() whenever 
qrule is non-NULL?

Thanks!

-- Boyce

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to