+template <>
const double * const FE_DGQ<1>::Matrices::embedding[] =
{
FE_DGQ_1d::dgq0_into_dgq0_refined,
};
+
+template <>
const unsigned int FE_DGQ<1>::Matrices::n_embedding_matrices
= sizeof(FE_DGQ<1>::Matrices::embedding) /
sizeof(FE_DGQ<1>::Matrices::embedding[0]);
+template <>
const double * const FE_DGQ<1>::Matrices::projection_matrices[] =
{
FE_DGQ_1d::dgq0_refined_onto_dgq0,
};
+
+template <>
const unsigned int FE_DGQ<1>::Matrices::n_projection_matrices
= sizeof(FE_DGQ<1>::Matrices::projection_matrices) /
sizeof(FE_DGQ<1>::Matrices::projection_matrices[0]);
};
+template <>
const double * const FE_DGQ<3>::Matrices::embedding[] =
{
FE_DGQ_3d::dgq0_into_dgq0_refined,
};
+
+template <>
const unsigned int FE_DGQ<3>::Matrices::n_embedding_matrices
= sizeof(FE_DGQ<3>::Matrices::embedding) /
sizeof(FE_DGQ<3>::Matrices::embedding[0]);
+template <>
const double * const FE_DGQ<3>::Matrices::projection_matrices[] =
{
FE_DGQ_3d::dgq0_refined_onto_dgq0,
FE_DGQ_3d::dgq4_refined_onto_dgq4
};
+
+
+template <>
const unsigned int FE_DGQ<3>::Matrices::n_projection_matrices
= sizeof(FE_DGQ<3>::Matrices::projection_matrices) /
sizeof(FE_DGQ<3>::Matrices::projection_matrices[0]);
// embedding matrices
+template <>
const double * const
FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell] =
{
{FE_Q_1d::q4_into_q4_refined_0, FE_Q_1d::q4_into_q4_refined_1},
};
+
+
+template <>
const unsigned int
FE_Q<1>::Matrices::n_embedding_matrices
= sizeof(FE_Q<1>::Matrices::embedding) /
// No constraints in 1d
+template <>
const unsigned int
FE_Q<1>::Matrices::n_constraint_matrices = 0;
+
+template <>
const double * const
FE_Q<1>::Matrices::constraint_matrices[] = { 0 };
// embedding matrices
+template <>
const double * const
FE_Q<3>::Matrices::embedding[][GeometryInfo<3>::children_per_cell] =
{
};
+template <>
const unsigned int
FE_Q<3>::Matrices::n_embedding_matrices
= sizeof(FE_Q<3>::Matrices::embedding) /
};
};
+
+
+template <>
const double * const
FE_Q<3>::Matrices::constraint_matrices[] =
{
FE_Q_3d::constraint_q2
};
+
+
+template <>
const unsigned int
FE_Q<3>::Matrices::n_constraint_matrices
= sizeof(FE_Q<3>::Matrices::constraint_matrices) /
// at the outer rim should be
// one. check this
for (unsigned int unit_point=0; unit_point<n_inner; ++unit_point)
- Assert(fabs(std::accumulate(lohvs[unit_point].begin(),
- lohvs[unit_point].end(),0.) - 1)<1e-13,
+ Assert(std::fabs(std::accumulate(lohvs[unit_point].begin(),
+ lohvs[unit_point].end(),0.) - 1)<1e-13,
ExcInternalError());
// TEST output