REINIT_ERROR (REINIT_ERROR(0, REINIT_ERROR(CLOUGH, reinit)
Definition at line 47 of file fe_boundary.C.
References FEBase::_p_level, Elem::build_side(), FEBase::compute_face_map(), FEBase::elem_type, FEBase::get_p_level(), QBase::get_points(), FEBase::get_type(), QBase::get_weights(), QBase::init(), InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), InfFE< Dim, T_radial, T_map >::inverse_map(), FEBase::JxW, std::max(), Elem::neighbor(), Elem::p_level(), FEBase::qrule, InfFE< Dim, T_radial, T_map >::reinit(), InfFE< Dim, T_radial, T_map >::shapes_need_reinit(), Elem::type(), and FEBase::xyz.
{
libmesh_assert (elem != NULL);
libmesh_assert (qrule != NULL);
// We now do this for 1D elements!
// libmesh_assert (Dim != 1);
// Build the side of interest
const AutoPtr<Elem> side(elem->build_side(s));
// Find the max p_level to select
// the right quadrature rule for side integration
unsigned int side_p_level = elem->p_level();
if (elem->neighbor(s) != NULL)
side_p_level = std::max(side_p_level, elem->neighbor(s)->p_level());
// initialize quadrature rule
qrule->init(side->type(), side_p_level);
// FIXME - could this break if the same FE object was used
// for both volume and face integrals? - RHS
// We might not need to reinitialize the shape functions
if ((this->get_type() != elem->type()) ||
(s != last_side) ||
(this->get_p_level() != side_p_level) ||
this->shapes_need_reinit())
{
// Set the element type
elem_type = elem->type();
// Set the last_side
last_side = s;
// Set the last p level
_p_level = side_p_level;
// Initialize the face shape functions
this->init_face_shape_functions (qrule->get_points(), side.get());
}
// Compute the Jacobian*Weight on the face for integration
this->compute_face_map (qrule->get_weights(), side.get());
// make a copy of the Jacobian for integration
const std::vector<Real> JxW_int(JxW);
// Find where the integration points are located on the
// full element.
std::vector<Point> qp; this->inverse_map (elem, xyz, qp, tolerance);
// compute the shape function and derivative values
// at the points qp
this->reinit (elem, &qp);
// copy back old data
JxW = JxW_int;
}
Generated automatically by Doxygen for libMesh from the source code.