]> https://gitweb.dealii.org/ - dealii.git/commitdiff
FE_Enriched: add prolongation/restriction matrices 3971/head
authorDenis Davydov <davydden@gmail.com>
Mon, 13 Feb 2017 09:00:23 +0000 (10:00 +0100)
committerDenis Davydov <davydden@gmail.com>
Mon, 13 Feb 2017 09:00:23 +0000 (10:00 +0100)
include/deal.II/fe/fe_enriched.h
source/fe/fe_enriched.cc

index 5de44ece9f3d9f52947d7742f5426aac2606a95a..d983feda8fcfb15657d7a7b6736331ffdf6fe98a 100644 (file)
@@ -316,6 +316,32 @@ public:
   virtual double shape_value(const unsigned int      i,
                              const Point< dim >     &p) const;
 
+  /**
+   * @name Transfer matrices
+   * @{
+   */
+
+  /**
+   * Projection from a fine grid space onto a coarse grid space.
+   *
+   * This function only makes sense when all child elements are also enriched
+   * using the same function(s) as the parent element.
+   */
+  virtual const FullMatrix<double> &
+  get_restriction_matrix (const unsigned int child,
+                          const RefinementCase<dim> &refinement_case=RefinementCase<dim>::isotropic_refinement) const;
+
+  /**
+   * Embedding matrix between grids.
+   *
+   * This function only makes sense when all child elements are also enriched
+   * using the same function(s) as the parent element.
+   */
+  virtual const FullMatrix<double> &
+  get_prolongation_matrix (const unsigned int child,
+                           const RefinementCase<dim> &refinement_case=RefinementCase<dim>::isotropic_refinement) const;
+
+  //@}
 
   /**
    * @name Functions to support hp
index 405a39d3a8b60777e98bce6a2d75058ea240a696..0962bb99cf75eafdf328955f901d85f2b8e1b8e2 100644 (file)
@@ -892,6 +892,24 @@ compare_for_face_domination (const FiniteElement<dim,spacedim> &fe_other) const
     }
 }
 
+template <int dim, int spacedim>
+const FullMatrix<double> &
+FE_Enriched<dim,spacedim>::get_prolongation_matrix (const unsigned int child,
+                                                    const RefinementCase<dim> &refinement_case) const
+{
+  return fe_system.get_prolongation_matrix(child, refinement_case);
+}
+
+
+template <int dim, int spacedim>
+const FullMatrix<double> &
+FE_Enriched<dim,spacedim>::get_restriction_matrix (const unsigned int child,
+                                                   const RefinementCase<dim> &refinement_case) const
+{
+  return fe_system.get_restriction_matrix(child, refinement_case);
+}
+
+
 /* ----------------------- FESystem::InternalData ------------------- */
 
 

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.