/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
//@}
* dominates Q(k') if $k\le k'$.
*
* This enum is used in the
- * FiniteElement::compare_fe_for_domination()
+ * FiniteElement::compare_for_face_domination()
* function that is used in the context
* of hp finite element methods when
* determining what to do at faces where
* domination: the dominated side is
* constrained to the dominating one.
*
+ * A similar situation happens in 3d, where
+ * we have to consider different elements
+ * meeting at only an edge, not an entire
+ * face. Such comparisons are then
+ * implemented in the
+ * FiniteElement::compare_for_line_domination()
+ * function.
+ *
* Note that there are situations where
* neither side dominates. The hp paper
* lists two case, with the simpler one
/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
/**
* @}
/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
/**
* @}
/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
/**
* @}
/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
/**
* @}
/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
//@}
/**
/**
* Return whether this element dominates
- * the one given as argument, whether it
- * is the other way around, whether
- * neither dominates, or if either could
- * dominate.
+ * the one given as argument when they
+ * meet at a common face,
+ * whether it is the other way around,
+ * whether neither dominates, or if
+ * either could dominate.
*
* For a definition of domination, see
* FiniteElementBase::Domination and in
*/
virtual
FiniteElementDomination::Domination
- compare_for_domination (const FiniteElement<dim> &fe_other) const;
+ compare_for_face_domination (const FiniteElement<dim> &fe_other) const;
//@}
/**
template <int dim>
FiniteElementDomination::Domination
FiniteElement<dim>::
-compare_for_domination (const FiniteElement<dim> &) const
+compare_for_face_domination (const FiniteElement<dim> &) const
{
Assert (false, ExcNotImplemented());
return FiniteElementDomination::neither_element_dominates;
template <int dim>
FiniteElementDomination::Domination
-FE_DGP<dim>::compare_for_domination (const FiniteElement<dim> &fe_other) const
+FE_DGP<dim>::compare_for_face_domination (const FiniteElement<dim> &fe_other) const
{
// check whether both are discontinuous
// elements and both could dominate, see
template <int dim>
FiniteElementDomination::Domination
FE_DGPMonomial<dim>::
-compare_for_domination (const FiniteElement<dim> &fe_other) const
+compare_for_face_domination (const FiniteElement<dim> &fe_other) const
{
// check whether both are discontinuous
// elements and both could dominate, see
template <int dim>
FiniteElementDomination::Domination
FE_DGPNonparametric<dim>::
-compare_for_domination (const FiniteElement<dim> &fe_other) const
+compare_for_face_domination (const FiniteElement<dim> &fe_other) const
{
// check whether both are discontinuous
// elements and both could dominate, see
template <int dim>
FiniteElementDomination::Domination
-FE_DGQ<dim>::compare_for_domination (const FiniteElement<dim> &fe_other) const
+FE_DGQ<dim>::compare_for_face_domination (const FiniteElement<dim> &fe_other) const
{
// check whether both are discontinuous
// elements and both could dominate, see
template <int dim>
FiniteElementDomination::Domination
FE_Q<dim>::
-compare_for_domination (const FiniteElement<dim> &fe_other) const
+compare_for_face_domination (const FiniteElement<dim> &fe_other) const
{
if (const FE_Q<dim> *fe_q_other
= dynamic_cast<const FE_Q<dim>*>(&fe_other))
template <int dim>
FiniteElementDomination::Domination
FESystem<dim>::
-compare_for_domination (const FiniteElement<dim> &fe_other) const
+compare_for_face_domination (const FiniteElement<dim> &fe_other) const
{
// at present all we can do is to compare
// with other FESystems that have the same
// check who dominates and combine
// with previous result
domination = domination & (this->base_element(b)
- .compare_for_domination (fe_sys_other->base_element(b)));
+ .compare_for_face_domination (fe_sys_other->base_element(b)));
}
// if we've gotten here, then we've