* the checks on the arguments
* may not detect errors.
*/
- template <class InputVector, typename number>
- void get_function_values (const InputVector& fe_function,
- const VectorSlice<const std::vector<unsigned int> >& indices,
- std::vector<std::vector<number> >& values,
- const bool quadrature_points_fastest) const;
-
- /**
- * Like the previous function,
- * but allows to only fill a
- * slice of a vector instead of
- * the whole one.
- */
- template <class InputVector, typename number>
+ template <class InputVector>
void get_function_values (const InputVector& fe_function,
const VectorSlice<const std::vector<unsigned int> >& indices,
- VectorSlice<std::vector<std::vector<number> > >& values,
+ VectorSlice<std::vector<std::vector<double> > > values,
const bool quadrature_points_fastest) const;
-
+
/**
* Compute the gradients of the finite
* element function characterized
template <class InputVector>
void get_function_gradients (const InputVector& fe_function,
const VectorSlice<const std::vector<unsigned int> >& indices,
- std::vector<std::vector<Tensor<1,spacedim> > >& gradients,
- bool quadrature_points_fastest = false) const;
-
- /**
- * Same as the previous function,
- * but filling only a slice of
- * the result vector.
- */
- template <class InputVector>
- void get_function_gradients (const InputVector& fe_function,
- const VectorSlice<const std::vector<unsigned int> >& indices,
- VectorSlice<std::vector<std::vector<Tensor<1,spacedim> > > >& gradients,
+ VectorSlice<std::vector<std::vector<Tensor<1,spacedim> > > > gradients,
bool quadrature_points_fastest = false) const;
/**
void get_function_hessians (
const InputVector& fe_function,
const VectorSlice<const std::vector<unsigned int> >& indices,
- std::vector<std::vector<Tensor<2,spacedim> > >& hessians,
- bool quadrature_points_fastest = false) const;
- /**
- * Same as the previous function,
- * but filling only a slice of
- * the result vector.
- */
- template <class InputVector>
- void get_function_hessians (
- const InputVector& fe_function,
- const VectorSlice<const std::vector<unsigned int> >& indices,
- VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > >& hessians,
+ VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > > hessians,
bool quadrature_points_fastest = false) const;
/**
}
-template <int dim, int spacedim>
-template <class InputVector, typename number>
-inline void
-FEValuesBase<dim,spacedim>::get_function_values (
- const InputVector& fe_function,
- const VectorSlice<const std::vector<unsigned int> >& indices,
- std::vector<std::vector<number> >& values,
- const bool quadrature_points_fastest) const
-{
- VectorSlice<std::vector<std::vector<number> > > slice(values);
- get_function_values(fe_function, indices, slice, quadrature_points_fastest);
-}
-
-
-
-template <int dim, int spacedim>
-template <class InputVector>
-inline void
-FEValuesBase<dim,spacedim>::get_function_gradients (
- const InputVector& fe_function,
- const VectorSlice<const std::vector<unsigned int> >& indices,
- std::vector<std::vector<Tensor<1,spacedim> > >& values,
- const bool quadrature_points_fastest) const
-{
- VectorSlice<std::vector<std::vector<Tensor<1,dim> > > > slice(values);
- get_function_gradients(fe_function, indices, slice, quadrature_points_fastest);
-}
-
-
-
-template <int dim, int spacedim>
-template <class InputVector>
-inline void
-FEValuesBase<dim,spacedim>::get_function_hessians (
- const InputVector& fe_function,
- const VectorSlice<const std::vector<unsigned int> >& indices,
- std::vector<std::vector<Tensor<2,spacedim> > >& values,
- const bool quadrature_points_fastest) const
-{
- VectorSlice<std::vector<std::vector<Tensor<2,dim> > > > slice(values);
- get_function_hessians(fe_function, indices, slice, quadrature_points_fastest);
-}
-
-
-
template <int dim, int spacedim>
template <class InputVector>
inline
template <int dim, int spacedim>
-template <class InputVector, typename number>
+template <class InputVector>
void FEValuesBase<dim,spacedim>::get_function_values (
const InputVector& fe_function,
const VectorSlice<const std::vector<unsigned int> >& indices,
- VectorSlice<std::vector<std::vector<number> > >& values,
+ VectorSlice<std::vector<std::vector<double> > > values,
bool quadrature_points_fastest) const
{
const unsigned int n_components = fe->n_components();
void FEValuesBase<dim,spacedim>::get_function_gradients (
const InputVector& fe_function,
const VectorSlice<const std::vector<unsigned int> >& indices,
- VectorSlice<std::vector<std::vector<Tensor<1,spacedim> > > >& gradients,
+ VectorSlice<std::vector<std::vector<Tensor<1,spacedim> > > > gradients,
bool quadrature_points_fastest) const
{
const unsigned int n_components = fe->n_components();
void FEValuesBase<dim, spacedim>::get_function_hessians (
const InputVector& fe_function,
const VectorSlice<const std::vector<unsigned int> >& indices,
- VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > >& hessians,
+ VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > > hessians,
bool quadrature_points_fastest) const
{
Assert (this->update_flags & update_second_derivatives, ExcAccessToUninitializedField());
template
void FEValuesBase<deal_II_dimension>::get_function_values<VEC>
(const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<double> > >&, bool) const;
- template
- void FEValuesBase<deal_II_dimension>::get_function_values<VEC>
- (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<float> > > &, bool) const;
+ VectorSlice<std::vector<std::vector<double> > >, bool) const;
+// template
+// void FEValuesBase<deal_II_dimension>::get_function_values<VEC>
+// (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
+// VectorSlice<std::vector<std::vector<float> > >, bool) const;
template
void FEValuesBase<deal_II_dimension>::get_function_gradients<VEC>
template
void FEValuesBase<deal_II_dimension>::get_function_gradients<VEC>
(const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<Tensor<1,deal_II_dimension> > > >&, bool) const;
+ VectorSlice<std::vector<std::vector<Tensor<1,deal_II_dimension> > > >, bool) const;
template
void FEValuesBase<deal_II_dimension>::get_function_hessians<VEC>
template
void FEValuesBase<deal_II_dimension>::get_function_hessians<VEC>
(const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<Tensor<2,deal_II_dimension> > > >&, bool) const;
+ VectorSlice<std::vector<std::vector<Tensor<2,deal_II_dimension> > > >, bool) const;
template
void FEValuesBase<deal_II_dimension>::get_function_laplacians<VEC>
template
void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_values<VEC>
(const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<double> > >&, bool) const;
- template
- void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_values<VEC>
- (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<float> > >&, bool) const;
+ VectorSlice<std::vector<std::vector<double> > >, bool) const;
+// template
+// void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_values<VEC>
+// (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
+// VectorSlice<std::vector<std::vector<float> > >, bool) const;
template
void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_gradients<VEC>
template
void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_gradients<VEC>
(const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<Tensor<1,deal_II_dimension+1> > > >&, bool) const;
+ VectorSlice<std::vector<std::vector<Tensor<1,deal_II_dimension+1> > > >, bool) const;
template
void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_hessians<VEC>
template
void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_hessians<VEC>
(const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
- VectorSlice<std::vector<std::vector<Tensor<2,deal_II_dimension+1> > > >&, bool) const;
+ VectorSlice<std::vector<std::vector<Tensor<2,deal_II_dimension+1> > > >, bool) const;
template
void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_laplacians<VEC>
}
-
+#if deal_II_dimension > 1
template class IntegrationWorker<deal_II_dimension>;
+#endif
DEAL_II_NAMESPACE_OPEN
+#if deal_II_dimension > 1
+
namespace MeshWorker
{
template class LocalResults<double>;
const Quadrature<FESubfaceValues<deal_II_dimension>::integral_dimension>&, const UpdateFlags);
}
+#endif
DEAL_II_NAMESPACE_CLOSE
DEAL_II_NAMESPACE_OPEN
+#if deal_II_dimension > 1
+
namespace MeshWorker
{
template class VectorDataBase<deal_II_dimension>;
#include "mesh_worker_vector_selector.inst"
}
+#endif
+
DEAL_II_NAMESPACE_CLOSE