getfem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Getfem-commits] (no subject)


From: Konstantinos Poulios
Subject: [Getfem-commits] (no subject)
Date: Fri, 15 Sep 2017 05:34:05 -0400 (EDT)

branch: serendipity-elements
commit c40ce74974e44eb85a02d2f1b8df5fb6f8cc8f5c
Author: Konstantinos Poulios <address@hidden>
Date:   Fri Sep 15 10:45:42 2017 +0200

    renaming of geotrans and fem types
---
 doc/sphinx/source/project/femdesc.rst     |   2 +-
 interface/src/gf_mesh.cc                  |   2 +-
 internal_tools/simplexification_refelt.cc |   2 +-
 src/bgeot_convex_ref.cc                   |  46 ++++++-------
 src/bgeot_convex_ref_simplexified.cc      |  10 +--
 src/bgeot_convex_structure.cc             |  42 ++++++------
 src/bgeot_geometric_trans.cc              |  72 ++++++++++----------
 src/bgeot_mesh_structure.cc               |   2 +-
 src/bgeot_poly_composite.cc               |   2 +-
 src/getfem/bgeot_convex_ref.h             |  17 ++---
 src/getfem/bgeot_convex_structure.h       |  15 +++--
 src/getfem/bgeot_geometric_trans.h        |  28 ++++----
 src/getfem/getfem_fem.h                   |  24 +++----
 src/getfem_export.cc                      |  16 ++---
 src/getfem_fem.cc                         | 108 ++++++++++++++++--------------
 src/getfem_import.cc                      |   9 +--
 src/getfem_integration.cc                 |   8 +--
 src/getfem_integration_composite.cc       |   2 +-
 src/getfem_mesh.cc                        |   2 +-
 src/getfem_mesh_im_level_set.cc           |   2 +-
 src/getfem_mesh_level_set.cc              |   2 +-
 src/getfem_regular_meshes.cc              |   4 +-
 22 files changed, 219 insertions(+), 198 deletions(-)

diff --git a/doc/sphinx/source/project/femdesc.rst 
b/doc/sphinx/source/project/femdesc.rst
index 16bbcc2..5d1ad1d 100644
--- a/doc/sphinx/source/project/femdesc.rst
+++ b/doc/sphinx/source/project/femdesc.rst
@@ -46,7 +46,7 @@ elements:
 
    description of the direct product of ``p1`` and ``p2``.
 
-.. c:function:: bgeot::prism_structure(dim_type d)
+.. c:function:: bgeot::prism_P1_structure(dim_type d)
 
    description of a prism of dimension ``d``
 
diff --git a/interface/src/gf_mesh.cc b/interface/src/gf_mesh.cc
index 050baf5..28c2414 100644
--- a/interface/src/gf_mesh.cc
+++ b/interface/src/gf_mesh.cc
@@ -133,7 +133,7 @@ pyramidal_mesh(getfem::mesh *pmesh, getfemint::mexargs_in 
&in) {
   std::vector<int> ipt(dim);
   std::vector<getfem::base_node> pts(1 << (dim+1));
 
-  bgeot::pgeometric_trans pgt = bgeot::pyramid_geotrans(1);
+  bgeot::pgeometric_trans pgt = bgeot::pyramid_QK_geotrans(1);
 
   /* add the convexes */
   for (size_type i=0; i < grid_nconvex; i++) {
diff --git a/internal_tools/simplexification_refelt.cc 
b/internal_tools/simplexification_refelt.cc
index aed79c4..1873fb0 100644
--- a/internal_tools/simplexification_refelt.cc
+++ b/internal_tools/simplexification_refelt.cc
@@ -192,7 +192,7 @@ int main(int argc, char *argv[]) {
       f << "    }\n\n";
     }
     for (size_type n = 3; n < 7; ++n) {
-      f << "    if (cvs == prism_structure(" << n << ")) {\n";
+      f << "    if (cvs == prism_P1_structure(" << n << ")) {\n";
       f << "      *tab = simplexified_prism_" << n << ";\n";
       f << "      return simplexified_prism_" << n << "_nb;\n";
       f << "    }\n\n";
diff --git a/src/bgeot_convex_ref.cc b/src/bgeot_convex_ref.cc
index 1fe8e3b..ba109d5 100644
--- a/src/bgeot_convex_ref.cc
+++ b/src/bgeot_convex_ref.cc
@@ -297,7 +297,7 @@ namespace bgeot {
   /*    Pyramidal element of reference.                                   */
   /* ******************************************************************** */
 
-  class pyramid_of_ref_ : public convex_of_reference {
+  class pyramid_QK_of_ref_ : public convex_of_reference {
   public :
     scalar_type is_in_face(short_type f, const base_node& pt) const {
       // return zero if pt is in the face of the convex
@@ -315,17 +315,17 @@ namespace bgeot {
       return r;
     }
 
-    pyramid_of_ref_(dim_type k) {
+    pyramid_QK_of_ref_(dim_type k) {
       GMM_ASSERT1(k == 1 || k == 2,
                   "Sorry exist only in degree 1 or 2, not " << k);
 
-      cvs = pyramid_structure(k);
+      cvs = pyramid_QK_structure(k);
       convex<base_node>::points().resize(cvs->nb_points());
       normals_.resize(cvs->nb_faces());
       if (k == 1)
         auto_basic = true;
       else
-        basic_convex_ref_ = pyramid_of_reference(1);
+        basic_convex_ref_ = pyramid_QK_of_reference(1);
 
       normals_[0] = { 0., 0., -1.};
       normals_[1] = { 0.,-1.,  1.};
@@ -363,14 +363,14 @@ namespace bgeot {
   };
 
 
-  DAL_SIMPLE_KEY(pyramid_reference_key_, dim_type);
+  DAL_SIMPLE_KEY(pyramid_QK_reference_key_, dim_type);
 
-  pconvex_ref pyramid_of_reference(dim_type k) {
+  pconvex_ref pyramid_QK_of_reference(dim_type k) {
      dal::pstatic_stored_object_key
-      pk = std::make_shared<pyramid_reference_key_>(k);
+      pk = std::make_shared<pyramid_QK_reference_key_>(k);
     dal::pstatic_stored_object o = dal::search_stored_object(pk);
     if (o) return std::dynamic_pointer_cast<const convex_of_reference>(o);
-    pconvex_ref p = std::make_shared<pyramid_of_ref_>(k);
+    pconvex_ref p = std::make_shared<pyramid_QK_of_ref_>(k);
     dal::add_stored_object(pk, p, p->structure(), p->pspt(),
                            dal::PERMANENT_STATIC_OBJECT);
     pconvex_ref p1 = basic_convex_ref(p);
@@ -383,19 +383,19 @@ namespace bgeot {
   /*    Incomplete quadratic pyramidal element of reference.              */
   /* ******************************************************************** */
 
-  class pyramid2_incomplete_of_ref_ : public convex_of_reference {
+  class pyramid_Q2_incomplete_of_ref_ : public convex_of_reference {
   public :
     scalar_type is_in(const base_node& pt) const
     { return basic_convex_ref_->is_in(pt); }
     scalar_type is_in_face(short_type f, const base_node& pt) const
     { return basic_convex_ref_->is_in_face(f, pt); }
 
-    pyramid2_incomplete_of_ref_() {
+    pyramid_Q2_incomplete_of_ref_() {
 
-      cvs = pyramid2_incomplete_structure();
+      cvs = pyramid_Q2_incomplete_structure();
       convex<base_node>::points().resize(cvs->nb_points());
       normals_.resize(cvs->nb_faces());
-      basic_convex_ref_ = pyramid_of_reference(1);
+      basic_convex_ref_ = pyramid_QK_of_reference(1);
 
       normals_ = basic_convex_ref_->normals();
 
@@ -418,16 +418,16 @@ namespace bgeot {
   };
 
 
-  DAL_SIMPLE_KEY(pyramid2_incomplete_reference_key_, dim_type);
+  DAL_SIMPLE_KEY(pyramid_Q2_incomplete_reference_key_, dim_type);
 
-  pconvex_ref pyramid2_incomplete_of_reference() {
+  pconvex_ref pyramid_Q2_incomplete_of_reference() {
     dal::pstatic_stored_object_key
-      pk = std::make_shared<pyramid2_incomplete_reference_key_>(0);
+      pk = std::make_shared<pyramid_Q2_incomplete_reference_key_>(0);
     dal::pstatic_stored_object o = dal::search_stored_object(pk);
     if (o)
       return std::dynamic_pointer_cast<const convex_of_reference>(o);
     else {
-      pconvex_ref p = std::make_shared<pyramid2_incomplete_of_ref_>();
+      pconvex_ref p = std::make_shared<pyramid_Q2_incomplete_of_ref_>();
       dal::add_stored_object(pk, p, p->structure(), p->pspt(),
                              dal::PERMANENT_STATIC_OBJECT);
       pconvex_ref p1 = basic_convex_ref(p);
@@ -441,16 +441,16 @@ namespace bgeot {
   /*    Incomplete quadratic triangular prism element of reference.       */
   /* ******************************************************************** */
 
-  class prism2_incomplete_of_ref_ : public convex_of_reference {
+  class prism_incomplete_P2_of_ref_ : public convex_of_reference {
   public :
     scalar_type is_in(const base_node& pt) const
     { return basic_convex_ref_->is_in(pt); }
     scalar_type is_in_face(short_type f, const base_node& pt) const
     { return basic_convex_ref_->is_in_face(f, pt); }
 
-    prism2_incomplete_of_ref_() {
+    prism_incomplete_P2_of_ref_() {
 
-      cvs = prism2_incomplete_structure();
+      cvs = prism_incomplete_P2_structure();
       convex<base_node>::points().resize(cvs->nb_points());
       normals_.resize(cvs->nb_faces());
       basic_convex_ref_ = prism_of_reference(3);
@@ -478,16 +478,16 @@ namespace bgeot {
   };
 
 
-  DAL_SIMPLE_KEY(prism2_incomplete_reference_key_, dim_type);
+  DAL_SIMPLE_KEY(prism_incomplete_P2_reference_key_, dim_type);
 
-  pconvex_ref prism2_incomplete_of_reference() {
+  pconvex_ref prism_incomplete_P2_of_reference() {
     dal::pstatic_stored_object_key
-      pk = std::make_shared<prism2_incomplete_reference_key_>(0);
+      pk = std::make_shared<prism_incomplete_P2_reference_key_>(0);
     dal::pstatic_stored_object o = dal::search_stored_object(pk);
     if (o)
       return std::dynamic_pointer_cast<const convex_of_reference>(o);
     else {
-      pconvex_ref p = std::make_shared<prism2_incomplete_of_ref_>();
+      pconvex_ref p = std::make_shared<prism_incomplete_P2_of_ref_>();
       dal::add_stored_object(pk, p, p->structure(), p->pspt(),
                              dal::PERMANENT_STATIC_OBJECT);
       pconvex_ref p1 = basic_convex_ref(p);
diff --git a/src/bgeot_convex_ref_simplexified.cc 
b/src/bgeot_convex_ref_simplexified.cc
index 4e1a230..1513bd1 100644
--- a/src/bgeot_convex_ref_simplexified.cc
+++ b/src/bgeot_convex_ref_simplexified.cc
@@ -285,27 +285,27 @@ namespace bgeot {
       return simplexified_parallelepiped_6_nb;
     }
 
-    if (cvs == prism_structure(3)) {
+    if (cvs == prism_P1_structure(3)) {
       *tab = simplexified_prism_3;
       return simplexified_prism_3_nb;
     }
 
-    if (cvs == prism_structure(4)) {
+    if (cvs == prism_P1_structure(4)) {
       *tab = simplexified_prism_4;
       return simplexified_prism_4_nb;
     }
 
-    if (cvs == prism_structure(5)) {
+    if (cvs == prism_P1_structure(5)) {
       *tab = simplexified_prism_5;
       return simplexified_prism_5_nb;
     }
 
-    if (cvs == prism_structure(6)) {
+    if (cvs == prism_P1_structure(6)) {
       *tab = simplexified_prism_6;
       return simplexified_prism_6_nb;
     }
 
-    if (cvs == pyramid_structure(1)) {
+    if (cvs == pyramid_QK_structure(1)) {
       *tab = simplexified_pyramid;
       return simplexified_pyramid_nb;
     }
diff --git a/src/bgeot_convex_structure.cc b/src/bgeot_convex_structure.cc
index a419e44..98b7417 100644
--- a/src/bgeot_convex_structure.cc
+++ b/src/bgeot_convex_structure.cc
@@ -465,22 +465,22 @@ namespace bgeot {
   /*        Pyramidal 3D structure for k=1 or 2.                          */
   /* ******************************************************************** */
 
-  struct pyramid_structure_ : public convex_structure {
-    friend pconvex_structure pyramid_structure(dim_type k);
+  struct pyramid_QK_structure_ : public convex_structure {
+    friend pconvex_structure pyramid_QK_structure(dim_type k);
   };
 
-  DAL_SIMPLE_KEY(pyramid_structure_key_, dim_type);
+  DAL_SIMPLE_KEY(pyramid_QK_structure_key_, dim_type);
 
-  pconvex_structure pyramid_structure(dim_type k) {
+  pconvex_structure pyramid_QK_structure(dim_type k) {
     GMM_ASSERT1(k == 1 || k == 2, "Sorry, pyramidal elements implemented "
                 "only for degree one or two.");
     dal::pstatic_stored_object_key
-      pcsk = std::make_shared<pyramid_structure_key_>(k);
+      pcsk = std::make_shared<pyramid_QK_structure_key_>(k);
     dal::pstatic_stored_object o = dal::search_stored_object(pcsk);
     if (o)
       return std::dynamic_pointer_cast<const convex_structure>(o);
 
-    auto p = std::make_shared<pyramid_structure_>();
+    auto p = std::make_shared<pyramid_QK_structure_>();
     pconvex_structure pcvs(p);
 
     p->Nc = 3;
@@ -522,7 +522,7 @@ namespace bgeot {
     } else {
       p->nbpt = 14;
       p->nbf = 5;
-      p->basic_pcvs = pyramid_structure(1);
+      p->basic_pcvs = pyramid_QK_structure(1);
       //    13
       //   /  |
       //  11--12
@@ -562,20 +562,20 @@ namespace bgeot {
   /*        Incomplete quadratic pyramidal 3D structure.                  */
   /* ******************************************************************** */
 
-  struct pyramid2_incomplete_structure_ : public convex_structure {
-    friend pconvex_structure pyramid2_incomplete_structure();
+  struct pyramid_Q2_incomplete_structure_ : public convex_structure {
+    friend pconvex_structure pyramid_Q2_incomplete_structure();
   };
 
-  DAL_SIMPLE_KEY(pyramid2_incomplete_structure_key_, dim_type);
+  DAL_SIMPLE_KEY(pyramid_Q2_incomplete_structure_key_, dim_type);
 
-  pconvex_structure pyramid2_incomplete_structure() {
+  pconvex_structure pyramid_Q2_incomplete_structure() {
     dal::pstatic_stored_object_key
-      pcsk = std::make_shared<pyramid2_incomplete_structure_key_>(0);
+      pcsk = std::make_shared<pyramid_Q2_incomplete_structure_key_>(0);
     dal::pstatic_stored_object o = dal::search_stored_object(pcsk);
     if (o)
       return std::dynamic_pointer_cast<const convex_structure>(o);
 
-    auto p = std::make_shared<pyramid2_incomplete_structure_>();
+    auto p = std::make_shared<pyramid_Q2_incomplete_structure_>();
     pconvex_structure pcvs(p);
 
     p->Nc = 3;
@@ -583,7 +583,7 @@ namespace bgeot {
 
     p->nbpt = 13;
     p->nbf = 5;
-    p->basic_pcvs = pyramid_structure(1);
+    p->basic_pcvs = pyramid_QK_structure(1);
     //    12
     //   /  |
     //  10--11
@@ -622,20 +622,20 @@ namespace bgeot {
   /*        Incomplete quadratic triangular prism 3D structure.           */
   /* ******************************************************************** */
 
-  struct prism2_incomplete_structure_ : public convex_structure {
-    friend pconvex_structure prism2_incomplete_structure();
+  struct prism_incomplete_P2_structure_ : public convex_structure {
+    friend pconvex_structure prism_incomplete_P2_structure();
   };
 
-  DAL_SIMPLE_KEY(prism2_incomplete_structure_key_, dim_type);
+  DAL_SIMPLE_KEY(prism_incomplete_P2_structure_key_, dim_type);
 
-  pconvex_structure prism2_incomplete_structure() {
+  pconvex_structure prism_incomplete_P2_structure() {
     dal::pstatic_stored_object_key
-      pcsk = std::make_shared<prism2_incomplete_structure_key_>(0);
+      pcsk = std::make_shared<prism_incomplete_P2_structure_key_>(0);
     dal::pstatic_stored_object o = dal::search_stored_object(pcsk);
     if (o)
       return std::dynamic_pointer_cast<const convex_structure>(o);
 
-    auto p = std::make_shared<prism2_incomplete_structure_>();
+    auto p = std::make_shared<prism_incomplete_P2_structure_>();
     pconvex_structure pcvs(p);
 
     p->Nc = 3;
@@ -643,7 +643,7 @@ namespace bgeot {
 
     p->nbpt = 15;
     p->nbf = 5;
-    p->basic_pcvs = prism_structure(3);
+    p->basic_pcvs = prism_P1_structure(3);
     //    14
     //    /|`
     //  12 | 13
diff --git a/src/bgeot_geometric_trans.cc b/src/bgeot_geometric_trans.cc
index 7db4bd4..38c01ec 100644
--- a/src/bgeot_geometric_trans.cc
+++ b/src/bgeot_geometric_trans.cc
@@ -763,8 +763,9 @@ namespace bgeot {
     return geometric_trans_descriptor(name.str());
   }
 
-  static pgeometric_trans prism_gt(gt_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+  static pgeometric_trans
+  prism_pk_gt(gt_param_list &params,
+              std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 2, "Bad number of parameters : "
                 << params.size() << " should be 2.");
     GMM_ASSERT1(params[0].type() == 0 && params[1].type() == 0,
@@ -780,8 +781,9 @@ namespace bgeot {
     return geometric_trans_descriptor(name.str());
   }
 
-  static pgeometric_trans linear_qk(gt_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+  static pgeometric_trans
+  linear_qk(gt_param_list &params,
+            std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 1, "Bad number of parameters : "
                 << params.size() << " should be 1.");
     GMM_ASSERT1(params[0].type() == 0, "Bad type of parameters");
@@ -874,9 +876,9 @@ namespace bgeot {
   /*    Pyramidal geometric transformation of order k=1 or 2.             */
   /* ******************************************************************** */
 
-  struct pyramid_trans_: public fraction_geometric_trans  {
-    pyramid_trans_(short_type k) {
-      cvr = pyramid_of_reference(k);
+  struct pyramid_QK_trans_: public fraction_geometric_trans  {
+    pyramid_QK_trans_(short_type k) {
+      cvr = pyramid_QK_of_reference(k);
       size_type R = cvr->structure()->nb_points();
       is_lin = false;
       complexity_ = k;
@@ -921,18 +923,18 @@ namespace bgeot {
   };
 
   static pgeometric_trans
-  pyramid_gt(gt_param_list& params,
-             std::vector<dal::pstatic_stored_object> &deps) {
+  pyramid_QK_gt(gt_param_list& params,
+                std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() == 1, "Bad number of parameters : "
                 << params.size() << " should be 1.");
     GMM_ASSERT1(params[0].type() == 0, "Bad type of parameters");
     int k = int(::floor(params[0].num() + 0.01));
 
-    deps.push_back(pyramid_of_reference(dim_type(k)));
-    return std::make_shared<pyramid_trans_>(dim_type(k));
+    deps.push_back(pyramid_QK_of_reference(dim_type(k)));
+    return std::make_shared<pyramid_QK_trans_>(dim_type(k));
   }
 
-  pgeometric_trans pyramid_geotrans(short_type k) {
+  pgeometric_trans pyramid_QK_geotrans(short_type k) {
     static short_type k_ = -1;
     static pgeometric_trans pgt = 0;
     if (k != k_) {
@@ -947,9 +949,9 @@ namespace bgeot {
   /*    Incomplete quadratic pyramidal geometric transformation.          */
   /* ******************************************************************** */
 
-  struct pyramid2_incomplete_trans_: public fraction_geometric_trans  {
-    pyramid2_incomplete_trans_() {
-      cvr = pyramid2_incomplete_of_reference();
+  struct pyramid_Q2_incomplete_trans_: public fraction_geometric_trans  {
+    pyramid_Q2_incomplete_trans_() {
+      cvr = pyramid_Q2_incomplete_of_reference();
       size_type R = cvr->structure()->nb_points();
       is_lin = false;
       complexity_ = 2;
@@ -994,19 +996,19 @@ namespace bgeot {
   };
 
   static pgeometric_trans
-  pyramid2_incomplete_gt(gt_param_list& params,
-                         std::vector<dal::pstatic_stored_object> &deps) {
+  pyramid_Q2_incomplete_gt(gt_param_list& params,
+                           std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() == 0, "Bad number of parameters : "
                 << params.size() << " should be 0.");
 
-    deps.push_back(pyramid2_incomplete_of_reference());
-    return std::make_shared<pyramid2_incomplete_trans_>();
+    deps.push_back(pyramid_Q2_incomplete_of_reference());
+    return std::make_shared<pyramid_Q2_incomplete_trans_>();
   }
 
-  pgeometric_trans pyramid2_incomplete_geotrans() {
+  pgeometric_trans pyramid_Q2_incomplete_geotrans() {
     static pgeometric_trans pgt = 0;
     if (!pgt)
-      pgt = geometric_trans_descriptor("GT_PYRAMID2_INCOMPLETE");
+      pgt = geometric_trans_descriptor("GT_PYRAMID_Q2_INCOMPLETE");
     return pgt;
   }
 
@@ -1014,9 +1016,9 @@ namespace bgeot {
   /*    Incomplete quadratic prism geometric transformation.              */
   /* ******************************************************************** */
 
-  struct prism2_incomplete_trans_: public poly_geometric_trans  {
-    prism2_incomplete_trans_() {
-      cvr = prism2_incomplete_of_reference();
+  struct prism_incomplete_P2_trans_: public poly_geometric_trans  {
+    prism_incomplete_P2_trans_() {
+      cvr = prism_incomplete_P2_of_reference();
       size_type R = cvr->structure()->nb_points();
       is_lin = false;
       complexity_ = 2;
@@ -1048,19 +1050,19 @@ namespace bgeot {
   };
 
   static pgeometric_trans
-  prism2_incomplete_gt(gt_param_list& params,
-                       std::vector<dal::pstatic_stored_object> &deps) {
+  prism_incomplete_P2_gt(gt_param_list& params,
+                         std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() == 0, "Bad number of parameters : "
                 << params.size() << " should be 0.");
 
-    deps.push_back(prism2_incomplete_of_reference());
-    return std::make_shared<prism2_incomplete_trans_>();
+    deps.push_back(prism_incomplete_P2_of_reference());
+    return std::make_shared<prism_incomplete_P2_trans_>();
   }
 
-  pgeometric_trans prism2_incomplete_geotrans() {
+  pgeometric_trans prism_incomplete_P2_geotrans() {
     static pgeometric_trans pgt = 0;
     if (!pgt)
-      pgt = geometric_trans_descriptor("GT_PRISM2_INCOMPLETE");
+      pgt = geometric_trans_descriptor("GT_PRISM_INCOMPLETE_P2");
     return pgt;
   }
 
@@ -1137,14 +1139,16 @@ namespace bgeot {
       dal::naming_system<geometric_trans>("GT") {
       add_suffix("PK", PK_gt);
       add_suffix("QK", QK_gt);
-      add_suffix("PRISM", prism_gt);
+      add_suffix("PRISM_PK", prism_pk_gt);
+      add_suffix("PRISM", prism_pk_gt);
       add_suffix("PRODUCT", product_gt);
       add_suffix("LINEAR_PRODUCT", linear_product_gt);
       add_suffix("LINEAR_QK", linear_qk);
       add_suffix("Q2_INCOMPLETE", Q2_incomplete_gt);
-      add_suffix("PYRAMID", pyramid_gt);
-      add_suffix("PYRAMID2_INCOMPLETE", pyramid2_incomplete_gt);
-      add_suffix("PRISM2_INCOMPLETE", prism2_incomplete_gt);
+      add_suffix("PYRAMID_QK", pyramid_QK_gt);
+      add_suffix("PYRAMID", pyramid_QK_gt);
+      add_suffix("PYRAMID_Q2_INCOMPLETE", pyramid_Q2_incomplete_gt);
+      add_suffix("PRISM_INCOMPLETE_P2", prism_incomplete_P2_gt);
     }
   };
 
diff --git a/src/bgeot_mesh_structure.cc b/src/bgeot_mesh_structure.cc
index c1feaa0..7224332 100644
--- a/src/bgeot_mesh_structure.cc
+++ b/src/bgeot_mesh_structure.cc
@@ -358,7 +358,7 @@ namespace bgeot {
             el.add(edge_list_elt(points_of_convex[k],
                                  points_of_convex[k | (1 << j)], ncv));
     }
-    else if (nbp == 2 * n && cvs == prism_structure(n)) {
+    else if (nbp == 2 * n && cvs == prism_P1_structure(n)) {
       for (dim_type k = 0; k < n - 1; ++k)
         for (dim_type l = dim_type(k+1); l < n; ++l) {
           el.add(edge_list_elt(points_of_convex[k],
diff --git a/src/bgeot_poly_composite.cc b/src/bgeot_poly_composite.cc
index a5d8418..dc9463c 100644
--- a/src/bgeot_poly_composite.cc
+++ b/src/bgeot_poly_composite.cc
@@ -363,7 +363,7 @@ namespace bgeot {
           basic_structure(cvs) == parallelepiped_structure(n)) {
           structured_mesh_for_parallelepiped_(cvs,opt_gt,opt_gt_pts,k,pm);
       } else if (nbp == size_type(2 * n) && 
-          basic_structure(cvs) == prism_structure(n)) {
+          basic_structure(cvs) == prism_P1_structure(n)) {
           GMM_ASSERT1(false, "Sorry, structured_mesh not implemented for 
prisms.");
       } else {
         GMM_ASSERT1(false, "This element is not taken into account. Contact 
us");
diff --git a/src/getfem/bgeot_convex_ref.h b/src/getfem/bgeot_convex_ref.h
index 3489ab9..261f1bf 100644
--- a/src/getfem/bgeot_convex_ref.h
+++ b/src/getfem/bgeot_convex_ref.h
@@ -140,18 +140,19 @@ namespace bgeot {
   pconvex_ref simplex_of_reference(dim_type nc, short_type k = 1);
   /** parallelepiped of reference of dimension nc (and degree 1) */
   pconvex_ref parallelepiped_of_reference(dim_type nc, dim_type k = 1);
-  /** prism of reference of dimension nc (and degree 1) */
-  pconvex_ref prism_of_reference(dim_type nc);
   /** incomplete Q2 quadrilateral/hexahedral of reference of dimension
-      d = 2 or 3
-  */
+      d = 2 or 3 */
   pconvex_ref Q2_incomplete_of_reference(dim_type d);
+  /** prism of reference of dimension nc (and degree 1) */
+  pconvex_ref prism_of_reference(dim_type nc);
+  /** incomplete quadratic prism element of reference (15-node) */
+  pconvex_ref prism_incomplete_P2_of_reference();
   /** pyramidal element of reference of degree k (k = 1 or 2 only) */
-  pconvex_ref pyramid_of_reference(dim_type k);
+  pconvex_ref pyramid_QK_of_reference(dim_type k);
+  IS_DEPRECATED pconvex_ref inline
+  pyramid_of_reference(dim_type k) { return pyramid_QK_of_reference(k); }
   /** incomplete quadratic pyramidal element of reference (13-node) */
-  pconvex_ref pyramid2_incomplete_of_reference();
-  /** incomplete quadratic prism element of reference (15-node) */
-  pconvex_ref prism2_incomplete_of_reference();
+  pconvex_ref pyramid_Q2_incomplete_of_reference();
   /** tensorial product of two convex ref.
       in order to ensure unicity, it is required the a->dim() >= b->dim() */
   pconvex_ref convex_ref_product(pconvex_ref a, pconvex_ref b);
diff --git a/src/getfem/bgeot_convex_structure.h 
b/src/getfem/bgeot_convex_structure.h
index c2b0543..7632d18 100644
--- a/src/getfem/bgeot_convex_structure.h
+++ b/src/getfem/bgeot_convex_structure.h
@@ -189,16 +189,21 @@ namespace bgeot {
   /** Give a pointer on the structures of a prism of dimension d.
    *   i.e. the direct product of a simplex of dimension d-1 and a segment.
    */
-  inline pconvex_structure prism_structure(dim_type nc) {
+  inline pconvex_structure prism_P1_structure(dim_type nc) {
     return convex_product_structure(simplex_structure(dim_type(nc-1)),
                                     simplex_structure(1));
   }
+  /// Give a pointer on the 3D quadratic incomplete prism structure.
+  pconvex_structure prism_incomplete_P2_structure();
   /// Give a pointer on the 3D pyramid structure for a degree k = 1 or 2.
-  pconvex_structure pyramid_structure(short_type k);
+  pconvex_structure pyramid_QK_structure(short_type k);
   /// Give a pointer on the 3D quadratic incomplete pyramid structure.
-  pconvex_structure pyramid2_incomplete_structure();
-  /// Give a pointer on the 3D quadratic incomplete prism structure.
-  pconvex_structure prism2_incomplete_structure();
+  pconvex_structure pyramid_Q2_incomplete_structure();
+
+  IS_DEPRECATED inline pconvex_structure
+  prism_structure(dim_type nc) { return prism_P1_structure(nc); }
+  IS_DEPRECATED inline pconvex_structure
+  pyramid_structure(short_type k) { return pyramid_QK_structure(k); }
   
 
   /** Simplex structure with the Lagrange grid of degree k.
diff --git a/src/getfem/bgeot_geometric_trans.h 
b/src/getfem/bgeot_geometric_trans.h
index c024a49..0e45985 100644
--- a/src/getfem/bgeot_geometric_trans.h
+++ b/src/getfem/bgeot_geometric_trans.h
@@ -221,9 +221,11 @@ namespace bgeot {
   pgeometric_trans APIDECL linear_product_geotrans(pgeometric_trans pg1,
                                            pgeometric_trans pg2);
   pgeometric_trans APIDECL Q2_incomplete_geotrans(dim_type nc);
-  pgeometric_trans APIDECL pyramid_geotrans(short_type k);
-  pgeometric_trans APIDECL pyramid2_incomplete_geotrans();
-  pgeometric_trans APIDECL prism2_incomplete_geotrans();
+  pgeometric_trans APIDECL prism_incomplete_P2_geotrans();
+  pgeometric_trans APIDECL pyramid_QK_geotrans(short_type k);
+  IS_DEPRECATED inline pgeometric_trans APIDECL
+  pyramid_geotrans(short_type k) { return pyramid_QK_geotrans(k); }
+  pgeometric_trans APIDECL pyramid_Q2_incomplete_geotrans();
 
   /**
      Get the geometric transformation from its string name.
@@ -236,16 +238,16 @@ namespace bgeot {
      List of possible names:
      GT_PK(N,K)   : Transformation on simplexes, dim N, degree K
 
-     GT_QK(N,K)   : Transformation on parallelepipeds, dim N, degree K
-     GT_PRISM(N,K)          : Transformation on prisms, dim N, degree K
-     GT_PYRAMID(K)          : Transformation on pyramids, dim 3, degree K=0,1,2
-     GT_Q2_INCOMPLETE(N)    : Q2 incomplete transformation in dim N=2 or 3.
-     GT_PYRAMID2_INCOMPLETE : incomplete quadratic pyramid transformation in
-                              dim 3
-     GT_PRISM2_INCOMPLETE   : incomplete quadratic prism transformation in
-                              dim 3
-     GT_PRODUCT(a,b)        : tensorial product of two transformations
-     GT_LINEAR_PRODUCT(a,b) : Linear tensorial product of two transformations
+     GT_QK(N,K)         : Transformation on parallelepipeds, dim N, degree K
+     GT_PRISM(N,K)      : Transformation on prisms, dim N, degree K
+     GT_PYRAMID_QK(K)   : Transformation on pyramids, dim 3, degree K=0,1,2
+     GT_Q2_INCOMPLETE(N)      : Q2 incomplete transformation in dim N=2 or 3.
+     GT_PYRAMID_Q2_INCOMPLETE : incomplete quadratic pyramid transformation
+                                in dim 3
+     GT_PRISM_INCOMPLETE_P2   : incomplete quadratic prism transformation in
+                                dim 3
+     GT_PRODUCT(a,b)          : tensorial product of two transformations
+     GT_LINEAR_PRODUCT(a,b)   : Linear tensorial product of two transformations
      GT_LINEAR_QK(N) : shortcut for GT_LINEAR_PRODUCT(GT_LINEAR_QK(N-1),
                                                       GT_PK(1,1))
    */
diff --git a/src/getfem/getfem_fem.h b/src/getfem/getfem_fem.h
index 6af191f..9fa0042 100644
--- a/src/getfem/getfem_fem.h
+++ b/src/getfem/getfem_fem.h
@@ -50,13 +50,18 @@
    element QK on a parallelepiped.
 
    - "FEM_Q2_INCOMPLETE(N)" : incomplete Q2 elements with 8 and 20 dof
-                              (serendipity Quad 8 and Hexa 20 elements)
+   (serendipity Quad 8 and Hexa 20 elements)
 
-   - "FEM_PK_PRISM(N,K)" : classical Lagrange element PK on a prism.
+   - "FEM_PRISM_PK(N,K)" : classical Lagrange element PK on a prism.
 
-   - "FEM_PK_PRISM_DISCONTINUOUS(N,K,alpha)" : classical discontinuous
+   - "FEM_PRISM_PK_DISCONTINUOUS(N,K,alpha)" : classical discontinuous
    Lagrange element PK on a prism.
 
+   - "FEM_PRISM_INCOMPLETE_P2" : Incomplete Lagrange element on a
+   quadratic 3D prism (serendipity, 15-node wedge element). Can be connected
+   toa standard P2 Lagrange on its triangular faces and a Q2_INCOMPLETE
+   Lagrange element on its quadrangular faces.
+
    - "FEM_PK_WITH_CUBIC_BUBBLE(N,K)" : classical Lagrange element PK
    on a simplex with an additional volumic bubble function.
 
@@ -92,7 +97,7 @@
 
    - "FEM_QK_HIERARCHICAL(N,K)" : QK element with a hierarchical basis.
 
-   - "FEM_PK_PRISM_HIERARCHICAL(N,K)" : PK element on a prism with a
+   - "FEM_PRISM_PK_HIERARCHICAL(N,K)" : PK element on a prism with a
    hierarchical basis.
 
    - "FEM_STRUCTURED_COMPOSITE(FEM, K)" : Composite fem on a grid with
@@ -105,24 +110,19 @@
    element with S subdivisions and a hierarchical basis on both degree
    and subdivision.
 
-   - "FEM_PYRAMID_LAGRANGE(K)" : Lagrange element on a 3D pyramid of degree
+   - "FEM_PYRAMID_QK(K)" : Lagrange element on a 3D pyramid of degree
    K=0, 1 or 2. Can be connected to a standard P1/P2 Lagrange element on its
    triangular faces and a standard Q1/Q2 Lagrange element on its quadrangular
    face.
 
-   - "FEM_PYRAMID_DISCONTINUOUS_LAGRANGE(K)" : Discontinuous Lagrange element
+   - "FEM_PYRAMID_QK_DISCONTINUOUS(K)" : Discontinuous Lagrange element
    on a 3D pyramid of degree K = 0, 1 or 2.
 
-   - "FEM_PYRAMID2_INCOMPLETE_LAGRANGE" : Incomplete Lagrange element on a
+   - "FEM_PYRAMID_Q2_INCOMPLETE" : Incomplete Lagrange element on a
    quadratic 3D pyramid (serendipity, 13-node element). Can be connected to
    a standard P2 Lagrange element on its triangular faces and a Q2_INCOMPLETE
    Lagrange element on its quadrangular face.
 
-   - "FEM_PRISM2_INCOMPLETE_LAGRANGE" : Incomplete Lagrange element on a
-   quadratic 3D prism (serendipity, 15-node wedge element). Can be connected
-   toa standard P2 Lagrange on its triangular faces and a Q2_INCOMPLETE
-   Lagrange element on its quadrangular faces.
-
 */
 
 #ifndef GETFEM_FEM_H__
diff --git a/src/getfem_export.cc b/src/getfem_export.cc
index b039b2d..7b0f919 100644
--- a/src/getfem_export.cc
+++ b/src/getfem_export.cc
@@ -211,10 +211,10 @@ namespace getfem
         pf =  fem_descriptor("FEM_Q2_INCOMPLETE(2)");
       else if (pgt == bgeot::geometric_trans_descriptor("GT_Q2_INCOMPLETE(3)"))
         pf =  fem_descriptor("FEM_Q2_INCOMPLETE(3)");
-      else if (pgt == 
bgeot::geometric_trans_descriptor("GT_PYRAMID2_INCOMPLETE"))
-        pf =  fem_descriptor("FEM_PYRAMID2_INCOMPLETE_LAGRANGE");
-      else if (pgt == 
bgeot::geometric_trans_descriptor("GT_PRISM2_INCOMPLETE"))
-        pf =  fem_descriptor("FEM_PRISM2_INCOMPLETE_LAGRANGE");
+      else if (pgt == 
bgeot::geometric_trans_descriptor("GT_PYRAMID_Q2_INCOMPLETE"))
+        pf =  fem_descriptor("FEM_PYRAMID_Q2_INCOMPLETE");
+      else if (pgt == 
bgeot::geometric_trans_descriptor("GT_PRISM_INCOMPLETE_P2"))
+        pf =  fem_descriptor("FEM_PRISM_INCOMPLETE_P2");
       else
         pf = getfem::classical_fem(pgt, pgt->complexity() > 1 ? 2 : 1);
       pmf->set_finite_element(cv, pf);
@@ -236,10 +236,10 @@ namespace getfem
 
       if (pf == fem_descriptor("FEM_Q2_INCOMPLETE(2)") ||
           pf == fem_descriptor("FEM_Q2_INCOMPLETE(3)") ||
-          pf == fem_descriptor("FEM_PYRAMID2_INCOMPLETE_LAGRANGE") ||
-          pf == 
fem_descriptor("FEM_PYRAMID2_INCOMPLETE_DISCONTINUOUS_LAGRANGE") ||
-          pf == fem_descriptor("FEM_PRISM2_INCOMPLETE_LAGRANGE") ||
-          pf == fem_descriptor("FEM_PRISM2_INCOMPLETE_DISCONTINUOUS_LAGRANGE"))
+          pf == fem_descriptor("FEM_PYRAMID_Q2_INCOMPLETE") ||
+          pf == fem_descriptor("FEM_PYRAMID_Q2_INCOMPLETE_DISCONTINUOUS") ||
+          pf == fem_descriptor("FEM_PRISM_INCOMPLETE_P2") ||
+          pf == fem_descriptor("FEM_PRISM_INCOMPLETE_P2_DISCONTINUOUS"))
         pmf->set_finite_element(cv, pf);
       else {
         bool discontinuous = false;
diff --git a/src/getfem_fem.cc b/src/getfem_fem.cc
index 29e1665..2203380 100644
--- a/src/getfem_fem.cc
+++ b/src/getfem_fem.cc
@@ -895,8 +895,8 @@ namespace getfem {
     }
   }
 
-  static pfem gen_hierarchical_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &dependencies) {
+  static pfem gen_hierarchical_fem
+  (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() == 2, "Bad number of parameters : "
                 << params.size() << " should be 2.");
     GMM_ASSERT1(params[0].type() == 1 && params[1].type() == 1,
@@ -910,8 +910,8 @@ namespace getfem {
                 "Bad parameters");
     pfem p  = std::make_shared<thierach_femi_comp>(ppolycompfem(pf1.get()),
                                                    ppolycompfem(pf2.get()));
-    dependencies.push_back(p->ref_convex(0));
-    dependencies.push_back(p->node_tab(0));
+    deps.push_back(p->ref_convex(0));
+    deps.push_back(p->node_tab(0));
     return p;
   }
 
@@ -920,7 +920,7 @@ namespace getfem {
   /* ******************************************************************** */
 
   static pfem PK_hierarch_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+                              std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 2, "Bad number of parameters : "
                 << params.size() << " should be 2.");
     GMM_ASSERT1(params[0].type() == 0 && params[1].type() == 0,
@@ -942,7 +942,7 @@ namespace getfem {
   }
 
   static pfem QK_hierarch_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+                              std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 2, "Bad number of parameters : "
                 << params.size() << " should be 2.");
     GMM_ASSERT1(params[0].type() == 0 && params[1].type() == 0,
@@ -961,7 +961,7 @@ namespace getfem {
     return fem_descriptor(name.str());
   }
 
-  static pfem PK_prism_hierarch_fem(fem_param_list &params,
+  static pfem prism_PK_hierarch_fem(fem_param_list &params,
         std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 2, "Bad number of parameters : "
                 << params.size() << " should be 2.");
@@ -1014,12 +1014,14 @@ namespace getfem {
            << k << alpha << ")," << fempk << "(1," << k << alpha << "))";
     return fem_descriptor(name.str());
   }
+
   static pfem QK_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+                     std::vector<dal::pstatic_stored_object> &) {
     return QK_fem_(params, false);
   }
+
   static pfem QK_discontinuous_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+                                   std::vector<dal::pstatic_stored_object> &) {
     return QK_fem_(params, true);
   }
 
@@ -1028,8 +1030,8 @@ namespace getfem {
   /* prims fems.                                                          */
   /* ******************************************************************** */
 
-  static pfem PK_prism_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+  static pfem prism_PK_fem(fem_param_list &params,
+                           std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 2, "Bad number of parameters : "
                 << params.size() << " should be 2.");
     GMM_ASSERT1(params[0].type() == 0 && params[1].type() == 0,
@@ -1048,8 +1050,9 @@ namespace getfem {
     return fem_descriptor(name.str());
   }
 
-  static pfem PK_prism_discontinuous_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &) {
+  static pfem
+  prism_PK_discontinuous_fem(fem_param_list &params,
+                             std::vector<dal::pstatic_stored_object> &) {
     GMM_ASSERT1(params.size() == 2 || params.size() == 3,
                 "Bad number of parameters : "
                 << params.size() << " should be 2.");
@@ -1131,8 +1134,8 @@ namespace getfem {
   // |/        |/
   // 0----1----2
 
-   static pfem Q2_incomplete_fem(fem_param_list &params,
-        std::vector<dal::pstatic_stored_object> &dependencies) {
+   static pfem Q2_incomplete_fem
+   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() <= 1, "Bad number of parameters");
     dim_type n = 2;
     if (params.size() > 0) {
@@ -1223,8 +1226,8 @@ namespace getfem {
       p->add_node(lagrange_dof(3), base_small_vector(0.5, 1.0, 1.0));
       p->add_node(lagrange_dof(3), base_small_vector(1.0, 1.0, 1.0));
     }
-    dependencies.push_back(p->ref_convex(0));
-    dependencies.push_back(p->node_tab(0));
+    deps.push_back(p->ref_convex(0));
+    deps.push_back(p->node_tab(0));
 
     return pfem(p);
   }
@@ -1258,9 +1261,9 @@ namespace getfem {
   // |       |
   // 0---1---2
 
-  static pfem build_pyramid_pk_fem(short_type k, bool disc) {
+  static pfem build_pyramid_QK_fem(short_type k, bool disc) {
     auto p = std::make_shared<fem<base_rational_fraction>>();
-    p->mref_convex() = bgeot::pyramid_of_reference(1);
+    p->mref_convex() = bgeot::pyramid_QK_of_reference(1);
     p->dim() = 3;
     p->is_standard() = p->is_equivalent() = true;
     p->is_polynomial() = false;
@@ -1340,7 +1343,7 @@ namespace getfem {
   }
 
 
-  static pfem pyramid_pk_fem
+  static pfem pyramid_QK_fem
   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() <= 1, "Bad number of parameters");
     short_type k = 2;
@@ -1348,13 +1351,13 @@ namespace getfem {
       GMM_ASSERT1(params[0].type() == 0, "Bad type of parameters");
       k = dim_type(::floor(params[0].num() + 0.01));
     }
-    pfem p = build_pyramid_pk_fem(k, false);
+    pfem p = build_pyramid_QK_fem(k, false);
     deps.push_back(p->ref_convex(0));
     deps.push_back(p->node_tab(0));
     return p;
   }
 
-  static pfem pyramid_disc_pk_fem
+  static pfem pyramid_QK_disc_fem
   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() <= 1, "Bad number of parameters");
     short_type k = 2;
@@ -1362,7 +1365,7 @@ namespace getfem {
       GMM_ASSERT1(params[0].type() == 0, "Bad type of parameters");
       k = dim_type(::floor(params[0].num() + 0.01));
     }
-    pfem p = build_pyramid_pk_fem(k, true);
+    pfem p = build_pyramid_QK_fem(k, true);
     deps.push_back(p->ref_convex(0));
     deps.push_back(p->node_tab(0));
     return p;
@@ -1387,9 +1390,9 @@ namespace getfem {
   // |       |
   // 0---1---2
 
-  static pfem build_pyramid2_incomplete_fem(bool disc) {
+  static pfem build_pyramid_Q2_incomplete_fem(bool disc) {
     auto p = std::make_shared<fem<base_rational_fraction>>();
-    p->mref_convex() = bgeot::pyramid_of_reference(1);
+    p->mref_convex() = bgeot::pyramid_QK_of_reference(1);
     p->dim() = 3;
     p->is_standard() = p->is_equivalent() = true;
     p->is_polynomial() = false;
@@ -1453,19 +1456,19 @@ namespace getfem {
   }
 
 
-  static pfem pyramid2_incomplete_fem
+  static pfem pyramid_Q2_incomplete_fem
   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() == 0, "Bad number of parameters");
-    pfem p = build_pyramid2_incomplete_fem(false);
+    pfem p = build_pyramid_Q2_incomplete_fem(false);
     deps.push_back(p->ref_convex(0));
     deps.push_back(p->node_tab(0));
     return p;
   }
 
-  static pfem pyramid2_incomplete_disc_fem
+  static pfem pyramid_Q2_incomplete_disc_fem
   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() <= 1, "Bad number of parameters");
-    pfem p = build_pyramid2_incomplete_fem(true);
+    pfem p = build_pyramid_Q2_incomplete_fem(true);
     deps.push_back(p->ref_convex(0));
     deps.push_back(p->node_tab(0));
     return p;
@@ -1489,7 +1492,7 @@ namespace getfem {
   // |/     `|
   // 0---1---2
 
-  static pfem build_prism2_incomplete_fem(bool disc) {
+  static pfem build_prism_incomplete_P2_fem(bool disc) {
     auto p = std::make_shared<fem<base_rational_fraction>>();
     p->mref_convex() = bgeot::prism_of_reference(3);
     p->dim() = 3;
@@ -1543,19 +1546,19 @@ namespace getfem {
   }
 
 
-  static pfem prism2_incomplete_fem
+  static pfem prism_incomplete_P2_fem
   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() == 0, "Bad number of parameters");
-    pfem p = build_prism2_incomplete_fem(false);
+    pfem p = build_prism_incomplete_P2_fem(false);
     deps.push_back(p->ref_convex(0));
     deps.push_back(p->node_tab(0));
     return p;
   }
 
-  static pfem prism2_incomplete_disc_fem
+  static pfem prism_incomplete_P2_disc_fem
   (fem_param_list &params, std::vector<dal::pstatic_stored_object> &deps) {
     GMM_ASSERT1(params.size() <= 1, "Bad number of parameters");
-    pfem p = build_prism2_incomplete_fem(true);
+    pfem p = build_prism_incomplete_P2_fem(true);
     deps.push_back(p->ref_convex(0));
     deps.push_back(p->node_tab(0));
     return p;
@@ -3762,21 +3765,21 @@ namespace getfem {
     /* Identifying Q1-parallelepiped.                                     */
     if (!found && nbp == (size_type(1) << n))
       if (pgt->basic_structure() == bgeot::parallelepiped_structure(n)) {
-        name << "FEM_QK" << suffix << "(" << n << ',' << k << arg << ')';
+        name << "FEM_QK" << suffix << "(" << n << "," << k << arg << ")";
         found = true;
       }
 
     /* Identifying Q1-prisms.                                             */
     if (!found && nbp == 2 * n)
       if (pgt->basic_structure() == bgeot::prism_structure(n)) {
-        name << "FEM_PK_PRISM" << suffix << "(" << n << ',' << k << arg << ')';
+        name << "FEM_PRISM_PK" << suffix << "(" << n << "," << k << arg << ")";
         found = true;
       }
 
     /* Identifying pyramids.                                              */
     if (!found && nbp == 5)
       if (pgt->basic_structure() == bgeot::pyramid_structure(1)) {
-        name << "FEM_PYRAMID" << suffix << "_LAGRANGE(" << k << arg << ')';
+        name << "FEM_PYRAMID_QK" << suffix << "(" << k << arg << ")";
         found = true;;
       }
 
@@ -3829,9 +3832,11 @@ namespace getfem {
       add_suffix("PK", PK_fem);
       add_suffix("QK", QK_fem);
       add_suffix("QK_DISCONTINUOUS", QK_discontinuous_fem);
-      add_suffix("PK_PRISM", PK_prism_fem);
+      add_suffix("PRISM_PK", prism_PK_fem);
+      add_suffix("PK_PRISM", prism_PK_fem); // for backwards compatibility
       add_suffix("PK_DISCONTINUOUS", PK_discontinuous_fem);
-      add_suffix("PK_PRISM_DISCONTINUOUS", PK_prism_discontinuous_fem);
+      add_suffix("PRISM_PK_DISCONTINUOUS", prism_PK_discontinuous_fem);
+      add_suffix("PK_PRISM_DISCONTINUOUS", prism_PK_discontinuous_fem); // for 
backwards compatibility
       add_suffix("PK_WITH_CUBIC_BUBBLE", PK_with_cubic_bubble);
       add_suffix("PRODUCT", product_fem);
       add_suffix("P1_NONCONFORMING", P1_nonconforming_fem);
@@ -3841,7 +3846,8 @@ namespace getfem {
       add_suffix("GEN_HIERARCHICAL", gen_hierarchical_fem);
       add_suffix("PK_HIERARCHICAL", PK_hierarch_fem);
       add_suffix("QK_HIERARCHICAL", QK_hierarch_fem);
-      add_suffix("PK_PRISM_HIERARCHICAL", PK_prism_hierarch_fem);
+      add_suffix("PRISM_PK_HIERARCHICAL", prism_PK_hierarch_fem);
+      add_suffix("PK_PRISM_HIERARCHICAL", prism_PK_hierarch_fem); // for 
backwards compatibility
       add_suffix("STRUCTURED_COMPOSITE", structured_composite_fem_method);
       add_suffix("PK_HIERARCHICAL_COMPOSITE", PK_composite_hierarch_fem);
       add_suffix("PK_FULL_HIERARCHICAL_COMPOSITE",
@@ -3855,14 +3861,16 @@ namespace getfem {
       add_suffix("RT0", P1_RT0);
       add_suffix("RT0Q", P1_RT0Q);
       add_suffix("NEDELEC", P1_nedelec);
-      add_suffix("PYRAMID_LAGRANGE", pyramid_pk_fem);
-      add_suffix("PYRAMID_DISCONTINUOUS_LAGRANGE", pyramid_disc_pk_fem);
-      add_suffix("PYRAMID2_INCOMPLETE_LAGRANGE", pyramid2_incomplete_fem);
-      add_suffix("PYRAMID2_INCOMPLETE_DISCONTINUOUS_LAGRANGE",
-                 pyramid2_incomplete_disc_fem);
-      add_suffix("PRISM2_INCOMPLETE_LAGRANGE", prism2_incomplete_fem);
-      add_suffix("PRISM2_INCOMPLETE_DISCONTINUOUS_LAGRANGE",
-                 prism2_incomplete_disc_fem);
+      add_suffix("PYRAMID_QK", pyramid_QK_fem);
+      add_suffix("PYRAMID_QK_DISCONTINUOUS", pyramid_QK_disc_fem);
+      add_suffix("PYRAMID_LAGRANGE", pyramid_QK_fem); // for backwards 
compatibility
+      add_suffix("PYRAMID_DISCONTINUOUS_LAGRANGE", pyramid_QK_disc_fem); // 
for backwards compatibility
+      add_suffix("PYRAMID_Q2_INCOMPLETE", pyramid_Q2_incomplete_fem);
+      add_suffix("PYRAMID_Q2_INCOMPLETE_DISCONTINUOUS",
+                 pyramid_Q2_incomplete_disc_fem);
+      add_suffix("PRISM_INCOMPLETE_P2", prism_incomplete_P2_fem);
+      add_suffix("PRISM_INCOMPLETE_P2_DISCONTINUOUS",
+                 prism_incomplete_P2_disc_fem);
     }
   };
 
@@ -3923,13 +3931,13 @@ namespace getfem {
     return pf;
   }
 
-  pfem PK_prism_fem(size_type n, short_type k) {
+  pfem prism_PK_fem(size_type n, short_type k) {
     DEFINE_STATIC_THREAD_LOCAL_INITIALIZED(pfem, pf, 0);
     DEFINE_STATIC_THREAD_LOCAL_INITIALIZED(size_type, d, size_type(-2));
     DEFINE_STATIC_THREAD_LOCAL_INITIALIZED(short_type, r, short_type(-2));
     if (d != n || r != k) {
       std::stringstream name;
-      name << "FEM_PK_PRISM(" << n << "," << k << ")";
+      name << "FEM_PRISM_PK(" << n << "," << k << ")";
       pf = fem_descriptor(name.str());
       d = n; r = k;
     }
diff --git a/src/getfem_import.cc b/src/getfem_import.cc
index 5e638bc..73cd323 100644
--- a/src/getfem_import.cc
+++ b/src/getfem_import.cc
@@ -56,7 +56,7 @@ namespace getfem {
         pgt = bgeot::prism_geotrans(3,1);
       } break;
       case 7: { /* PYRAMID */
-        pgt = bgeot::pyramid_geotrans(1);
+        pgt = bgeot::pyramid_QK_geotrans(1);
       } break;
       case 8: { /* 2ND ORDER LINE */
         pgt = bgeot::simplex_geotrans(1,2);
@@ -1099,7 +1099,7 @@ namespace getfem {
             getfem_cv_nodes[10] = cdb_node_2_getfem_node[BB];
             getfem_cv_nodes[11] = cdb_node_2_getfem_node[AA];
             getfem_cv_nodes[12] = cdb_node_2_getfem_node[MM];
-            
regions[imat].add(m.add_convex(bgeot::pyramid2_incomplete_geotrans(),
+            
regions[imat].add(m.add_convex(bgeot::pyramid_Q2_incomplete_geotrans(),
                                            getfem_cv_nodes.begin()));
             if (itype < elt_cnt.size())
               elt_cnt[itype] += 1;
@@ -1121,8 +1121,9 @@ namespace getfem {
             getfem_cv_nodes[12] = cdb_node_2_getfem_node[XX];
             getfem_cv_nodes[13] = cdb_node_2_getfem_node[VV];
             getfem_cv_nodes[14] = cdb_node_2_getfem_node[OO];
-            regions[imat].add(m.add_convex(bgeot::prism2_incomplete_geotrans(),
-                                           getfem_cv_nodes.begin()));
+            regions[imat].add(m.add_convex
+                              (bgeot::prism_incomplete_P2_geotrans(),
+                               getfem_cv_nodes.begin()));
             if (itype < elt_cnt.size())
               elt_cnt[itype] += 1;
           } else {
diff --git a/src/getfem_integration.cc b/src/getfem_integration.cc
index a17a0ee..a9bb026 100644
--- a/src/getfem_integration.cc
+++ b/src/getfem_integration.cc
@@ -844,13 +844,13 @@ namespace getfem {
                             size_type ip1, size_type ip2=size_type(-1)) :
       approx_integration
       ((base_im->structure() == bgeot::parallelepiped_structure(3)) ?
-       bgeot::pyramid_of_reference(1)
+       bgeot::pyramid_QK_of_reference(1)
        : bgeot::simplex_of_reference(base_im->dim()))  {
       size_type N = base_im->dim();
 
       enum { SQUARE, PRISM, TETRA_CYL, PRISM2, PYRAMID } what;
       if (N == 2) what = SQUARE;
-      else if (base_im->structure() == bgeot::prism_structure(3))
+      else if (base_im->structure() == bgeot::prism_P1_structure(3))
         what = (ip2 == size_type(-1) || ip1 == ip2) ? PRISM2 : PRISM;
       else if (base_im->structure() == bgeot::simplex_structure(3))
         what = TETRA_CYL;
@@ -867,7 +867,7 @@ namespace getfem {
       bgeot::pgeometric_trans pgt2 = bgeot::simplex_geotrans(N, 1);
       std::vector<base_node> nodes2(N+1);
       if (what == PYRAMID) {
-        pgt2 = bgeot::pyramid_geotrans(1);
+        pgt2 = bgeot::pyramid_QK_geotrans(1);
         nodes2.resize(5);
       }
       std::vector<size_type> other_nodes; // for the construction of node2
@@ -1212,7 +1212,7 @@ namespace getfem {
     /* Identifying Q1-prisms.                                             */
 
     if (!found && nbp == 2 * n)
-      if (cvs == bgeot::prism_structure(dim_type(n)))
+      if (cvs == bgeot::prism_P1_structure(dim_type(n)))
         { name << "IM_EXACT_PRISM("; found = true; }
 
     // To be completed
diff --git a/src/getfem_integration_composite.cc 
b/src/getfem_integration_composite.cc
index 54d6271..5713a23 100644
--- a/src/getfem_integration_composite.cc
+++ b/src/getfem_integration_composite.cc
@@ -213,7 +213,7 @@ namespace getfem {
     pintegration_method
       p = std::make_shared<integration_method>
       (composite_approx_int_method(jfs.mp, mi,
-                                   bgeot::pyramid_of_reference(1)));
+                                   bgeot::pyramid_QK_of_reference(1)));
     dependencies.push_back(p->approx_method()->ref_convex());
     dependencies.push_back(p->approx_method()->pintegration_points());
     return p;
diff --git a/src/getfem_mesh.cc b/src/getfem_mesh.cc
index ebced27..c1861b1 100644
--- a/src/getfem_mesh.cc
+++ b/src/getfem_mesh.cc
@@ -302,7 +302,7 @@ namespace getfem {
   size_type mesh::add_pyramid(size_type a, size_type b,
                               size_type c, size_type d, size_type e) {
     size_type ipt[5] = {a, b, c, d, e};
-    return add_convex(bgeot::pyramid_geotrans(1), &(ipt[0]));
+    return add_convex(bgeot::pyramid_QK_geotrans(1), &(ipt[0]));
   }
 
   size_type mesh::add_tetrahedron_by_points
diff --git a/src/getfem_mesh_im_level_set.cc b/src/getfem_mesh_im_level_set.cc
index a030c0a..cfbc39f 100644
--- a/src/getfem_mesh_im_level_set.cc
+++ b/src/getfem_mesh_im_level_set.cc
@@ -252,7 +252,7 @@ namespace getfem {
       ((n != 2 ||
        base_singular_pim->structure()== bgeot::parallelepiped_structure(2))
        && (n != 3
-          || base_singular_pim->structure() == bgeot::prism_structure(3))
+          || base_singular_pim->structure() == bgeot::prism_P1_structure(3))
        && (n >= 2) && (n <= 3),
        "Base integration method for quasi polar integration not convenient");
 
diff --git a/src/getfem_mesh_level_set.cc b/src/getfem_mesh_level_set.cc
index 0f2917f..50ea2c3 100644
--- a/src/getfem_mesh_level_set.cc
+++ b/src/getfem_mesh_level_set.cc
@@ -286,7 +286,7 @@ struct Chrono {
     
     /* Identifying prisms.                                             */
     if (nbp == size_type(2 * n) &&
-       pgt->basic_structure() == bgeot::prism_structure(n)) {
+       pgt->basic_structure() == bgeot::prism_P1_structure(n)) {
       return new_mesher_prism_ref(n);
     }
     
diff --git a/src/getfem_regular_meshes.cc b/src/getfem_regular_meshes.cc
index bd4c5c4..d94b8ad 100644
--- a/src/getfem_regular_meshes.cc
+++ b/src/getfem_regular_meshes.cc
@@ -251,10 +251,10 @@ namespace getfem
     } else if (pgt->basic_structure() == bgeot::parallelepiped_structure(N)) {
       getfem::parallelepiped_regular_mesh
         (msh, N, org, vtab.begin(), nsubdiv.begin());
-    } else if (pgt->basic_structure() == bgeot::prism_structure(N)) {
+    } else if (pgt->basic_structure() == bgeot::prism_P1_structure(N)) {
       getfem::parallelepiped_regular_prism_mesh
         (msh, N, org, vtab.begin(), nsubdiv.begin());
-    } else if (pgt->basic_structure() == bgeot::pyramid_structure(1)) {
+    } else if (pgt->basic_structure() == bgeot::pyramid_QK_structure(1)) {
       getfem::parallelepiped_regular_pyramid_mesh
         (msh, org, vtab.begin(), nsubdiv.begin());
     } else {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]