]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Include declarations of explicit specializations.
authorRalf Hartmann <Ralf.Hartmann@dlr.de>
Tue, 22 May 2001 14:56:13 +0000 (14:56 +0000)
committerRalf Hartmann <Ralf.Hartmann@dlr.de>
Tue, 22 May 2001 14:56:13 +0000 (14:56 +0000)
git-svn-id: https://svn.dealii.org/trunk@4696 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe_q.h
deal.II/deal.II/include/fe/fe_system.h
deal.II/deal.II/include/fe/mapping.h
deal.II/deal.II/include/fe/mapping_cartesian.h
deal.II/deal.II/include/fe/mapping_q.h
deal.II/deal.II/include/numerics/data_out_rotation.h
deal.II/deal.II/include/numerics/derivative_approximation.h
deal.II/deal.II/include/numerics/error_estimator.h
deal.II/deal.II/include/numerics/matrices.h
deal.II/deal.II/include/numerics/vectors.h

index a82b23f5dafe46893c47a7db9decce79478a264a..261cf899125f6927c0a727113968ffc92a693fe4 100644 (file)
@@ -615,7 +615,14 @@ class FE_Q : public FiniteElement<dim>
 };
 
 
+/* -------------- 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
index 88a68da9f31274b08c5a4b6884077414d1b65eb9..d343b9b57ffc7e5e9d613b88ec192d49587ebf5c 100644 (file)
@@ -618,6 +618,11 @@ class FESystem : public FiniteElement<dim>
 };
 
 
+/* -------------- declaration of explicit specializations ------------- */
+
+
+template <> void FESystem<1>::initialize_unit_face_support_points ();
+
 
 /* ------------------------- inline functions ------------------------- */
 
index 3b51a331b38b618dbd405cda46a286badbcecc96..6ea57e6a721d7375c76ce017456ede5d1a1f9b94 100644 (file)
@@ -361,6 +361,15 @@ class Mapping : public Subscriptor
 };
 
 
+/* -------------- 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>
index 0ed6799179cfca6d3b4598f8ade7365aca1e4d18..a724685948db4e38dc2b1b51094dfe6bcf9694e4 100644 (file)
@@ -265,4 +265,31 @@ class MappingCartesian : public Mapping<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
index fb9ab0420ea3e4f5c661a7419a2d993ea06f3a5c..5f3f5ce849726be9ed9e668a1d6bb7c2d95f4609 100644 (file)
@@ -506,4 +506,29 @@ class MappingQ : public MappingQ1<dim>
 };
 
 
+/* -------------- 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
index e0b11358b98b37270d6ef3f46e381d4ed69d225c..a81605f1cdb0e420c3591153c80b1000aa4455cc 100644 (file)
@@ -194,4 +194,9 @@ class DataOutRotation : public DataOut_DoFData<dim,dim+1>
 };
 
 
+/* -------------- declaration of explicit specializations ------------- */
+
+template <> void DataOutRotation<3>::build_some_patches (Data);
+
+
 #endif
index b8debc441219b29700d20b59bbbd83274f28db25..3408bf761b4493afe2ab6cf60a74b0756dc5e120 100644 (file)
@@ -477,6 +477,16 @@ class DerivativeApproximation
 };
 
 
+/* -------------- 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
 
 
index 73e2375eab16659b3d1bc19db68edda2045c7517..b47832769fda4447649ff40fcd93a03cebb5b3ac 100644 (file)
@@ -608,6 +608,49 @@ class KellyErrorEstimator
 };
 
 
+/* -------------- 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
 
 
index 30b1d074c92eb38781a7e8f54ff0277be776ed5f..d723e3011de652f8af05e70fc19f764c4c3047d0 100644 (file)
@@ -493,6 +493,31 @@ class MatrixCreator
 };
 
 
+/* -------------- 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
index 341fb804a6f5212c811532f211acd956e17384cd..f443236991eb509d8fb1d424724a8254c4ef5da5 100644 (file)
@@ -11,6 +11,7 @@
 
 
 #include <base/exceptions.h>
+#include <dofs/function_map.h>
 #include <map>
 #include <vector>
 
@@ -746,4 +747,40 @@ class VectorTools
 };
 
 
+/* -------------- 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

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.