};
+/* -------------- declaration of explicit specializations ------------- */
+template <> void FE_Q<1>::initialize_unit_face_support_points ();
+template <> void FE_Q<1>::build_face_renumbering (const unsigned int,
+ std::vector<unsigned int>&);
+
+
+/* ---------------------------- inline functions --------------------- */
template<int dim>
inline
};
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template <> void FESystem<1>::initialize_unit_face_support_points ();
+
/* ------------------------- inline functions ------------------------- */
};
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template<> const unsigned int Mapping<1>::normal_directions[2];
+template<> const unsigned int Mapping<2>::normal_directions[4];
+template<> const unsigned int Mapping<3>::normal_directions[6];
+
+
+/* ------------------------- inline functions ------------------------- */
template <int dim>
};
+
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template <> void MappingCartesian<1>::fill_fe_face_values (
+ const DoFHandler<1>::cell_iterator &,
+ const unsigned,
+ const Quadrature<0>&,
+ Mapping<1>::InternalDataBase&,
+ std::vector<Point<1> >&,
+ std::vector<double>&,
+ std::vector<Tensor<1,1> >&,
+ std::vector<Point<1> >&) const;
+
+template <> void MappingCartesian<1>::fill_fe_subface_values (
+ const DoFHandler<1>::cell_iterator &,
+ const unsigned,
+ const unsigned,
+ const Quadrature<0>&,
+ Mapping<1>::InternalDataBase&,
+ std::vector<Point<1> >&,
+ std::vector<double>&,
+ std::vector<Tensor<1,1> >&,
+ std::vector<Point<1> >&) const;
+
+
+
#endif
};
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template<> MappingQ<1>::MappingQ (const unsigned int);
+template<> MappingQ<1>::~MappingQ ();
+template<> void MappingQ<1>::compute_shapes_virtual (
+ const std::vector<Point<1> > &unit_points,
+ MappingQ1<1>::InternalData &data) const;
+template <> void MappingQ<1>::set_laplace_on_quad_vector(
+ std::vector<std::vector<double> > &) const;
+template <> void MappingQ<3>::set_laplace_on_hex_vector(
+ std::vector<std::vector<double> > &lohvs) const;
+template <> void MappingQ<1>::compute_laplace_vector(
+ std::vector<std::vector<double> > &) const;
+template <> void MappingQ<1>::add_line_support_points (
+ const Triangulation<1>::cell_iterator &,
+ std::vector<Point<1> > &) const;
+template<> void MappingQ<3>::add_quad_support_points(
+ const Triangulation<3>::cell_iterator &cell,
+ std::vector<Point<3> > &a) const;
+template <> void MappingQ<3>::fill_quad_support_points_simple (
+ const Triangulation<3>::cell_iterator &cell,
+ std::vector<Point<3> > &a) const;
+
+
#endif
};
+/* -------------- declaration of explicit specializations ------------- */
+
+template <> void DataOutRotation<3>::build_some_patches (Data);
+
+
#endif
};
+/* -------------- declaration of explicit specializations ------------- */
+
+template <> double DerivativeApproximation::SecondDerivative<1>::derivative_norm (
+ const Derivative &d);
+template <> double DerivativeApproximation::SecondDerivative<2>::derivative_norm (
+ const Derivative &d);
+template <> double DerivativeApproximation::SecondDerivative<3>::derivative_norm (
+ const Derivative &d);
+
+
#endif
};
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template <> KellyErrorEstimator<1>::Data::Data(
+ const Mapping<1> &,
+ const DoFHandler<1> &,
+ const Quadrature<0> &,
+ const FunctionMap<1>::type &,
+ const std::vector<const Vector<double>*> &,
+ const std::vector<bool> &,
+ const Function<1> *,
+ const unsigned int ,
+ FaceIntegrals &);
+
+template <> void KellyErrorEstimator<1>::estimate_some (
+ Data &, const unsigned int);
+
+template <> void KellyErrorEstimator<1>::estimate (
+ const Mapping<1> &mapping,
+ const DoFHandler<1> &dof_handler,
+ const Quadrature<0> &,
+ const FunctionMap<1>::type &neumann_bc,
+ const std::vector<const Vector<double>*> &solutions,
+ std::vector<Vector<float>*> &errors,
+ const std::vector<bool> &component_mask_,
+ const Function<1> *coefficient,
+ const unsigned int);
+
+template <> void KellyErrorEstimator<1>::integrate_over_regular_face (
+ Data &,
+ const active_cell_iterator &,
+ const unsigned int ,
+ FEFaceValues<1> &,
+ FEFaceValues<1> &);
+
+template <> void KellyErrorEstimator<1>::integrate_over_irregular_face (
+ Data &,
+ const active_cell_iterator &,
+ const unsigned int ,
+ FEFaceValues<1> &,
+ FESubfaceValues<1> &);
+
+
#endif
};
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template <> void MatrixCreator<1>::create_boundary_mass_matrix (
+ const Mapping<1> &,
+ const DoFHandler<1> &,
+ const Quadrature<0> &,
+ SparseMatrix<double> &,
+ const FunctionMap<1>::type&,
+ Vector<double> &,
+ std::vector<unsigned int> &,
+ const Function<1> * const);
+
+template <> void MatrixCreator<1>::create_boundary_mass_matrix_1 (
+ const Mapping<1> &,
+ const DoFHandler<1> &,
+ const Quadrature<0> &,
+ SparseMatrix<double> &,
+ const FunctionMap<1>::type&,
+ Vector<double> &,
+ std::vector<unsigned int> &,
+ const Function<1> * const ,
+ const IteratorRange &,
+ Threads::ThreadMutex &);
+
/**
* Provide a collection of functions operating on matrices. These include
#include <base/exceptions.h>
+#include <dofs/function_map.h>
#include <map>
#include <vector>
};
+/* -------------- declaration of explicit specializations ------------- */
+
+template <> void VectorTools::project (
+ const Mapping<1> &,
+ const DoFHandler<1> &,
+ const ConstraintMatrix &,
+ const Quadrature<1> &,
+ const Function<1> &,
+ Vector<double> &,
+ const bool ,
+ const Quadrature<0> &,
+ const bool );
+
+template <> void VectorTools::interpolate_boundary_values (
+ const Mapping<1> &,
+ const DoFHandler<1> &dof,
+ const unsigned char boundary_component,
+ const Function<1> &boundary_function,
+ std::map<unsigned int,double> &boundary_values,
+ const std::vector<bool> &component_mask_);
+
+template <> void VectorTools::interpolate_boundary_values (
+ const Mapping<1> &mapping,
+ const DoFHandler<1> &dof,
+ const FunctionMap<1>::type &function_map,
+ std::map<unsigned int,double> &boundary_values,
+ const std::vector<bool> &component_mask);
+
+template <> void VectorTools::project_boundary_values (
+ const Mapping<1> &mapping,
+ const DoFHandler<1> &dof,
+ const FunctionMap<1>::type &boundary_functions,
+ const Quadrature<0> &,
+ std::map<unsigned int,double> &boundary_values);
+
+
#endif