]> https://gitweb.dealii.org/ - dealii.git/commitdiff
allow to fill only part of a vector
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Mon, 28 Sep 2009 17:45:38 +0000 (17:45 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Mon, 28 Sep 2009 17:45:38 +0000 (17:45 +0000)
git-svn-id: https://svn.dealii.org/trunk@19580 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe_values.h
deal.II/deal.II/source/fe/fe_values.cc
deal.II/deal.II/source/fe/fe_values.inst.in

index 60a0db72fcdf74ebdfcf9e9a976e6a8188c81d5d..9f36e97c6cfd081aaa0fb06e14784f7dd1471851 100644 (file)
@@ -1995,7 +1995,7 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
     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,
+                             VectorSlice<std::vector<std::vector<number> > >& values,
                              const bool quadrature_points_fastest) const;
 
                                     /**
@@ -2130,7 +2130,7 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
     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,
+                                VectorSlice<std::vector<std::vector<Tensor<1,spacedim> > > >& gradients,
                                 bool quadrature_points_fastest = false) const;
 
                                     /**
@@ -2254,7 +2254,7 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
     void get_function_hessians (
       const InputVector& fe_function,
       const VectorSlice<const std::vector<unsigned int> >& indices,
-      std::vector<std::vector<Tensor<2,spacedim> > >& hessians,
+      VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > >& hessians,
       bool quadrature_points_fastest = false) const;
 
                                     /**
index 087f823d2a5679aff9db3f786f19aabb6cda7109..b830c647ba7f18b9c4093d0e3010741ca0ce7333 100644 (file)
@@ -2350,7 +2350,7 @@ template <class InputVector, typename number>
 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,
+  VectorSlice<std::vector<std::vector<number> > >& values,
   bool quadrature_points_fastest) const
 {
   const unsigned int n_components = fe->n_components();
@@ -2666,7 +2666,7 @@ template <class InputVector>
 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> > >& gradients,
+  VectorSlice<std::vector<std::vector<Tensor<1,spacedim> > > >& gradients,
   bool quadrature_points_fastest) const
 {
   const unsigned int n_components = fe->n_components();
@@ -2957,7 +2957,7 @@ template <class InputVector>
 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> > >& hessians,
+  VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > >& hessians,
   bool quadrature_points_fastest) const
 {
   Assert (this->update_flags & update_second_derivatives, ExcAccessToUninitializedField());
index de06ad83ff2be83ec8aeb6d835b947c40d3cd058..264c2e56b2ab285414d0c6a7fc79c757b50c9f8a 100644 (file)
@@ -150,11 +150,11 @@ for (VEC : SERIAL_VECTORS)
     template
       void FEValuesBase<deal_II_dimension>::get_function_values<VEC>
       (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
-       std::vector<std::vector<double> > &, 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> >&,
-       std::vector<std::vector<float> > &, bool) const;
+       VectorSlice<std::vector<std::vector<float> > > &, bool) const;
 
     template
       void FEValuesBase<deal_II_dimension>::get_function_gradients<VEC>
@@ -170,7 +170,7 @@ for (VEC : SERIAL_VECTORS)
     template
       void FEValuesBase<deal_II_dimension>::get_function_gradients<VEC>
       (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
-       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>
@@ -186,7 +186,7 @@ for (VEC : SERIAL_VECTORS)
     template
       void FEValuesBase<deal_II_dimension>::get_function_hessians<VEC>
       (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
-       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>
@@ -261,11 +261,11 @@ for (VEC : SERIAL_VECTORS)
     template
       void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_values<VEC>
       (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
-       std::vector<std::vector<double> > &, 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> >&,
-       std::vector<std::vector<float> > &, bool) const;
+       VectorSlice<std::vector<std::vector<float> > >&, bool) const;
 
     template
       void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_gradients<VEC>
@@ -281,7 +281,7 @@ for (VEC : SERIAL_VECTORS)
     template
       void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_gradients<VEC>
       (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
-       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>
@@ -297,7 +297,7 @@ for (VEC : SERIAL_VECTORS)
     template
       void FEValuesBase<deal_II_dimension,deal_II_dimension+1>::get_function_hessians<VEC>
       (const VEC&, const VectorSlice<const std::vector<unsigned int> >&,
-       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>

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.