void FEInterface::dofs_on_edge(const Elem* const elem, const unsigned int dim, const FEType& fe_t, unsigned int e, std::vector<unsigned int>& di) { const Order o = fe_t.order; void_fe_with_vec_switch(dofs_on_edge(elem, o, e, di)); libmesh_error(); }
void FEInterface::dofs_on_side(const Elem * const elem, const unsigned int dim, const FEType & fe_t, unsigned int s, std::vector<unsigned int> & di) { const Order o = fe_t.order; void_fe_with_vec_switch(dofs_on_side(elem, o, s, di)); libmesh_error_msg("We'll never get here!"); }
void FEInterface::nodal_soln(const unsigned int dim, const FEType& fe_t, const Elem* elem, const std::vector<Number>& elem_soln, std::vector<Number>& nodal_soln) { #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS if ( is_InfFE_elem(elem->type()) ) { ifem_nodal_soln(dim, fe_t, elem, elem_soln, nodal_soln); return; } #endif const Order order = fe_t.order; void_fe_with_vec_switch(nodal_soln(elem, order, elem_soln, nodal_soln)); }
void FEInterface::inverse_map (const unsigned int dim, const FEType& fe_t, const Elem* elem, const std::vector<Point>& physical_points, std::vector<Point>& reference_points, const Real tolerance, const bool secure) { const std::size_t n_pts = physical_points.size(); // Resize the vector reference_points.resize(n_pts); if (n_pts == 0) { libMesh::err << "WARNING: empty vector physical_points!" << std::endl; libmesh_here(); return; } #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS if ( is_InfFE_elem(elem->type()) ) { ifem_inverse_map(dim, fe_t, elem, physical_points, reference_points, tolerance, secure); return; // libMesh::err << "ERROR: Not implemented!" // << std::endl; // libmesh_error(); } #endif void_fe_with_vec_switch(inverse_map(elem, physical_points, reference_points, tolerance, secure)); libmesh_error(); return; }