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