]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Make sure it is possible to create default-constructed objects of type Triangulation...
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 9 Apr 2013 19:09:20 +0000 (19:09 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 9 Apr 2013 19:09:20 +0000 (19:09 +0000)
git-svn-id: https://svn.dealii.org/trunk@29226 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/news/changes.h
deal.II/include/deal.II/meshworker/integration_info.h

index b89c937287ca2a38c8a777c1b90adad2e3f6be52..7f1b4ccf1691a56a54d215483eb28278e9c8ab7a 100644 (file)
@@ -88,7 +88,13 @@ this function.
 <h3>Specific improvements</h3>
 
 <ol>
-<li> Fixed: VectorTools::subtract_mean_value can now be called without a
+<li> Fixed: It was not possible to create a default-constructed object of
+type Triangulation<1>::face_iterator. This is now fixed.
+<br>
+(Wolfgang Bangerth, Scott Miller, 2013/04/09)
+</li>
+
+<li> New: VectorTools::subtract_mean_value can now be called without a
 boolean mask. The vector type is templatified and instantiated for all
 non distributed vectors.
 <br>
@@ -108,7 +114,7 @@ implementation also had the problem that it did not move vertices if the
 <i>cell</i> they were on was at the boundary, even if the <i>vertex</i>
 itself was not. All of these problems are now fixed.
 <br>
-(Wolfgang Bangerth, 2013/4/5)
+(Wolfgang Bangerth, 2013/04/05)
 </li>
 
 <li> New: There is a class VectorFunctionFromTensorFunction that converts
index 13218abd5a481a4bd7c9c20e3470a44635c8e66c..aa220d1f6ba1b1d8a363c1697edd536b6ad68666 100644 (file)
@@ -755,90 +755,6 @@ namespace MeshWorker
   }
 
 
-  template <>
-  inline
-  IntegrationInfo<1,1>::IntegrationInfo(const IntegrationInfo<1,1> &other)
-    :
-    multigrid(other.multigrid),
-    values(other.values),
-    gradients(other.gradients),
-    hessians(other.hessians),
-    global_data(other.global_data),
-    n_components(other.n_components)
-  {
-    const int dim = 1;
-    const int sdim = 1;
-
-    fevalv.resize(other.fevalv.size());
-    for (unsigned int i=0; i<other.fevalv.size(); ++i)
-      {
-        const FEValuesBase<dim,sdim> &p = *other.fevalv[i];
-        const FEValues<dim,sdim> *pc = dynamic_cast<const FEValues<dim,sdim>*>(&p);
-        const FEFaceValues<dim,sdim> *pf = dynamic_cast<const FEFaceValues<dim,sdim>*>(&p);
-        const FESubfaceValues<dim,sdim> *ps = dynamic_cast<const FESubfaceValues<dim,sdim>*>(&p);
-
-        if (pc != 0)
-          fevalv[i] = std_cxx1x::shared_ptr<FEValuesBase<dim,sdim> > (
-                        new FEValues<dim,sdim> (pc->get_mapping(), pc->get_fe(),
-                                                pc->get_quadrature(), pc->get_update_flags()));
-        else if (pf != 0)
-          {
-            Assert (false, ExcImpossibleInDim(1));
-            fevalv[i].reset ();
-          }
-        else if (ps != 0)
-          {
-            Assert (false, ExcImpossibleInDim(1));
-            fevalv[i].reset();
-          }
-        else
-          Assert(false, ExcInternalError());
-      }
-  }
-
-
-  template <>
-  inline
-  IntegrationInfo<1,2>::IntegrationInfo(const IntegrationInfo<1,2> &other)
-    :
-    multigrid(other.multigrid),
-    values(other.values),
-    gradients(other.gradients),
-    hessians(other.hessians),
-    global_data(other.global_data),
-    n_components(other.n_components)
-  {
-    const int dim = 1;
-    const int sdim = 2;
-
-    fevalv.resize(other.fevalv.size());
-    for (unsigned int i=0; i<other.fevalv.size(); ++i)
-      {
-        const FEValuesBase<dim,sdim> &p = *other.fevalv[i];
-        const FEValues<dim,sdim> *pc = dynamic_cast<const FEValues<dim,sdim>*>(&p);
-        const FEFaceValues<dim,sdim> *pf = dynamic_cast<const FEFaceValues<dim,sdim>*>(&p);
-        const FESubfaceValues<dim,sdim> *ps = dynamic_cast<const FESubfaceValues<dim,sdim>*>(&p);
-
-        if (pc != 0)
-          fevalv[i] = std_cxx1x::shared_ptr<FEValuesBase<dim,sdim> > (
-                        new FEValues<dim,sdim> (pc->get_mapping(), pc->get_fe(),
-                                                pc->get_quadrature(), pc->get_update_flags()));
-        else if (pf != 0)
-          {
-            Assert (false, ExcImpossibleInDim(1));
-            fevalv[i].reset();
-          }
-        else if (ps != 0)
-          {
-            Assert (false, ExcImpossibleInDim(1));
-            fevalv[i].reset();
-          }
-        else
-          Assert(false, ExcInternalError());
-      }
-  }
-
-
 
   template<int dim, int sdim>
   template <class FEVALUES>
@@ -921,106 +837,10 @@ namespace MeshWorker
   }
 
 
-  template <>
-  template <typename number>
-  inline void
-  IntegrationInfo<1,1>::reinit(const DoFInfo<1,1,number> &info)
-  {
-    const int dim = 1;
-    const int spacedim = 1;
-
-    for (unsigned int i=0; i<fevalv.size(); ++i)
-      {
-        FEValuesBase<dim, spacedim> &febase = *fevalv[i];
-        if (info.sub_number != deal_II_numbers::invalid_unsigned_int)
-          {
-            // This is a subface
-            Assert (false, ExcImpossibleInDim(1));
-          }
-        else if (info.face_number != deal_II_numbers::invalid_unsigned_int)
-          {
-            // This is a face
-            Assert (false, ExcImpossibleInDim(1));
-          }
-        else
-          {
-            // This is a cell
-            FEValues<dim,spacedim> &fe = dynamic_cast<FEValues<dim,spacedim>&> (febase);
-            fe.reinit(info.cell);
-          }
-      }
-
-    const bool split_fevalues = info.block_info != 0;
-    if (!global_data->empty())
-      fill_local_data(info, split_fevalues);
-  }
-
-
-  template <>
-  template <typename number>
-  inline void
-  IntegrationInfo<1,2>::reinit(const DoFInfo<1,2,number> &info)
-  {
-    const int dim = 1;
-    const int spacedim = 2;
-
-    for (unsigned int i=0; i<fevalv.size(); ++i)
-      {
-        FEValuesBase<dim, spacedim> &febase = *fevalv[i];
-        if (info.sub_number != deal_II_numbers::invalid_unsigned_int)
-          {
-            // This is a subface
-            Assert (false, ExcImpossibleInDim(1));
-          }
-        else if (info.face_number != deal_II_numbers::invalid_unsigned_int)
-          {
-            // This is a face
-            Assert (false, ExcImpossibleInDim(1));
-          }
-        else
-          {
-            // This is a cell
-            FEValues<dim,spacedim> &fe = dynamic_cast<FEValues<dim,spacedim>&> (febase);
-            fe.reinit(info.cell);
-          }
-      }
-
-    const bool split_fevalues = info.block_info != 0;
-    if (!global_data->empty())
-      fill_local_data(info, split_fevalues);
-  }
 
 
 //----------------------------------------------------------------------//
 
-  template <>
-  inline
-  void
-  IntegrationInfoBox<1,1>::initialize_gauss_quadrature(
-    const unsigned int cp,
-    const unsigned int,
-    const unsigned int,
-    bool force)
-  {
-    if (force || cell_quadrature.size() == 0)
-      cell_quadrature = QGauss<1>(cp);
-  }
-
-
-  template <>
-  inline
-  void
-  IntegrationInfoBox<1,2>::initialize_gauss_quadrature(
-    const unsigned int cp,
-    const unsigned int,
-    const unsigned int,
-    bool force)
-  {
-    if (force || cell_quadrature.size() == 0)
-      cell_quadrature = QGauss<1>(cp);
-  }
-
-
   template <int dim, int sdim>
   inline
   void
@@ -1075,47 +895,6 @@ namespace MeshWorker
   }
 
 
-  template <>
-  inline
-  void
-  IntegrationInfoBox<1,1>::initialize(
-    const FiniteElement<1,1> &el,
-    const Mapping<1,1> &mapping,
-    const BlockInfo *block_info)
-  {
-    initialize_update_flags();
-    initialize_gauss_quadrature(
-      (cell_flags & update_values) ? (el.tensor_degree()+1) : el.tensor_degree(), 1, 1, false);
-
-    const int dim = 1;
-    const int sdim = 1;
-
-    cell.initialize<FEValues<dim,sdim> >(el, mapping, cell_quadrature,
-                                         cell_flags, block_info);
-  }
-
-
-
-  template <>
-  inline
-  void
-  IntegrationInfoBox<1,2>::initialize(
-    const FiniteElement<1,2> &el,
-    const Mapping<1,2> &mapping,
-    const BlockInfo *block_info)
-  {
-    initialize_update_flags();
-    initialize_gauss_quadrature(
-      (cell_flags & update_values) ? (el.tensor_degree()+1) : el.tensor_degree(), 1, 1, false);
-
-    const int dim = 1;
-    const int sdim = 2;
-
-    cell.initialize<FEValues<dim,sdim> >(el, mapping, cell_quadrature,
-                                         cell_flags, block_info);
-  }
-
-
   template <int dim, int sdim>
   inline
   void

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.