]> https://gitweb.dealii.org/ - dealii.git/commitdiff
restore old functionality, after a reference did not automatically get converted...
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Thu, 1 Oct 2009 23:04:07 +0000 (23:04 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Thu, 1 Oct 2009 23:04:07 +0000 (23:04 +0000)
git-svn-id: https://svn.dealii.org/trunk@19653 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe_values.h

index 9f36e97c6cfd081aaa0fb06e14784f7dd1471851..f371c42fc7669b80c5de2df0486de82668e8ee47 100644 (file)
@@ -1993,6 +1993,18 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
                                      * 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>
     void get_function_values (const InputVector& fe_function,
                              const VectorSlice<const std::vector<unsigned int> >& indices,
                              VectorSlice<std::vector<std::vector<number> > >& values,
@@ -2128,6 +2140,17 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
                                      * corresponding arguments.
                                      */
     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,
@@ -2251,6 +2274,17 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
                                      * corresponding arguments.
                                      */
     template <class InputVector>
+    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,
@@ -4583,6 +4617,50 @@ FEValuesBase<dim,spacedim>::inverse_jacobian (const unsigned int i) 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>

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.