(i/N1d)%N1d * h,
i/(N1d*N1d) * h);
}
-
-
-
- // given N, generate i=0...N-1
- // equidistant points in the
- // interior of the interval [0,1]
-#if defined(DEAL_II_ANON_NAMESPACE_BUG) && defined(DEAL_II_ANON_NAMESPACE_LINKAGE_BUG)
- static
-#endif
- inline
- Point<1>
- generate_face_unit_point (const unsigned int i,
- const unsigned int N)
- {
- Assert (i<N, ExcInternalError());
- const double h = 1./(N+1);
- return Point<1>((1+i)*h);
- }
-
-
- // return whether shape function j,
- // as given in the numbering
- // specific to the computation of
- // the constraint matrix, is active
- // on the given subface
-#if defined(DEAL_II_ANON_NAMESPACE_BUG) && defined(DEAL_II_ANON_NAMESPACE_LINKAGE_BUG)
- static
-#endif
- inline
- bool
- constraint_function_is_active_on_child (const unsigned int j,
- const unsigned int subface,
- const FiniteElementData<2> &fe_data)
- {
- // note that in our weird
- // numbering, the zeroth function
- // is the one associated with the
- // center node, then come the
- // ones on subface 0, then those
- // on subface 1. the initial one
- // is active on both subfaces,
- // all other ones only on one of
- // the subfaces
- return !(((j>=1) && (j<1+fe_data.dofs_per_line) && (subface == 1)) ||
- ((j>=1+fe_data.dofs_per_line) && (subface == 0)));
- }
-
- // given index j in the weird
- // constraint numbering, compute
- // its index in the polynomials
- // space of a given subface
-#if defined(DEAL_II_ANON_NAMESPACE_BUG) && defined(DEAL_II_ANON_NAMESPACE_LINKAGE_BUG)
- static
-#endif
- inline
- unsigned int
- constraint_get_local_j (const unsigned int j,
- const unsigned int subface,
- const FiniteElementData<2> &fe_data)
- {
- // the zeroth shape function is a
- // little special, since it has
- // index N on subface 0 and index
- // 0 on subface 1
-
- return (subface == 0 ?
- (j == 0 ? 1+fe_data.dofs_per_line : j) :
- (j == 0 ? 0 : j-fe_data.dofs_per_line));
- }
-
-
-#if defined(DEAL_II_ANON_NAMESPACE_BUG) && defined(DEAL_II_ANON_NAMESPACE_LINKAGE_BUG)
- static
-#endif
- inline
- unsigned int
- constraint_get_local_j (const unsigned int /*j*/,
- const unsigned int /*subface*/,
- const FiniteElementData<3> &/*fe_data*/)
- {
- Assert (false, ExcNotImplemented());
-// const unsigned int N1d = 2+fe_data.dofs_per_line;
- return deal_II_numbers::invalid_unsigned_int;
- }
-
-
-
- // in the constraint numbering:
- // return true if the support point
- // of shape function j and
- // evaluation point i coincide. to
- // make things simpler, also pass
- // the subface on which j is
- // located
-#if defined(DEAL_II_ANON_NAMESPACE_BUG) && defined(DEAL_II_ANON_NAMESPACE_LINKAGE_BUG)
- static
-#endif
- inline
- bool
- constraint_is_support_point (const unsigned int i,
- const unsigned int j,
- const unsigned int subface,
- const FiniteElementData<2> &fe_data)
- {
- return ((subface == 0) && (((j==0) && (i==fe_data.dofs_per_line))
- ||
- ((j!=0) && (i==j-1))))
- ||
- ((subface == 1) && (((j==0) && (i==fe_data.dofs_per_line))
- ||
- ((j!=0) && (i==j))));
- }
-
-
-#if defined(DEAL_II_ANON_NAMESPACE_BUG) && defined(DEAL_II_ANON_NAMESPACE_LINKAGE_BUG)
- static
-#endif
- inline
- bool
- constraint_is_support_point (const unsigned int /*i*/,
- const unsigned int /*j*/,
- const unsigned int /*subface*/,
- const FiniteElementData<3> &/*fe_data*/)
- {
- Assert (false, ExcNotImplemented());
- return false;
- }
+
}
}