getfem-commits
[Top][All Lists]
Advanced

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

[Getfem-commits] r5448 - in /trunk/getfem/src: getfem/bgeot_geometric_tr


From: Yves . Renard
Subject: [Getfem-commits] r5448 - in /trunk/getfem/src: getfem/bgeot_geometric_trans.h getfem_generic_assembly.cc getfem_models.cc gmm/gmm_std.h
Date: Thu, 27 Oct 2016 15:45:05 -0000

Author: renard
Date: Thu Oct 27 17:45:04 2016
New Revision: 5448

URL: http://svn.gna.org/viewcvs/getfem?rev=5448&view=rev
Log:
small clean up and minor fix

Modified:
    trunk/getfem/src/getfem/bgeot_geometric_trans.h
    trunk/getfem/src/getfem_generic_assembly.cc
    trunk/getfem/src/getfem_models.cc
    trunk/getfem/src/gmm/gmm_std.h

Modified: trunk/getfem/src/getfem/bgeot_geometric_trans.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/bgeot_geometric_trans.h?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/getfem/bgeot_geometric_trans.h     (original)
+++ trunk/getfem/src/getfem/bgeot_geometric_trans.h     Thu Oct 27 17:45:04 2016
@@ -402,7 +402,7 @@
     pgeometric_trans pgt_;
     pgeotrans_precomp pgp_;
     pstored_point_tab pspt_; /** if pgp != 0, it is the same as pgp's one */
-    size_type ii_;           /** index of current point in the pgp        */
+    size_type ii_;           /** index of current point in the pgp */
     mutable scalar_type J_, J__; /** Jacobian */
     mutable base_matrix PC, B_factors;
     mutable base_vector aux1, aux2;

Modified: trunk/getfem/src/getfem_generic_assembly.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_generic_assembly.cc?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/getfem_generic_assembly.cc (original)
+++ trunk/getfem/src/getfem_generic_assembly.cc Thu Oct 27 17:45:04 2016
@@ -18,8 +18,6 @@
  Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
 
 ===========================================================================*/
-
-#include <array>
 
 #include "getfem/getfem_generic_assembly.h"
 #include "gmm/gmm_blas.h"
@@ -2715,15 +2713,18 @@
     const base_vector &U;
     const fem_interpolation_context &ctx;
     base_vector &coeff;
+    const size_type &ipt;
     virtual int exec() {
       GA_DEBUG_INFO("Instruction: Slice local dofs");
-      slice_vector_on_basic_dof_of_element(mf, U, ctx.convex_num(), coeff);
+      if (ipt == 0) {
+       slice_vector_on_basic_dof_of_element(mf, U, ctx.convex_num(), coeff);
+      }
       return 0;
     }
     ga_instruction_slice_local_dofs(const mesh_fem &mf_, const base_vector &U_,
                                     const fem_interpolation_context &ctx_,
-                                    base_vector &coeff_)
-      : mf(mf_), U(U_), ctx(ctx_), coeff(coeff_) {}
+                                    base_vector &coeff_, const size_type &ipt_)
+      : mf(mf_), U(U_), ctx(ctx_), coeff(coeff_), ipt(ipt_)  {}
   };
 
   struct ga_instruction_update_pfp : public ga_instruction {
@@ -3021,8 +3022,9 @@
       return 0;
     }
 
-    ga_instruction_xfem_minus_val_base(base_tensor &tt, 
fem_interpolation_context &ct,
-                                       const mesh_fem &mf_, pfem_precomp &pfp_)
+    ga_instruction_xfem_minus_val_base
+    (base_tensor &tt, fem_interpolation_context &ct,
+     const mesh_fem &mf_, pfem_precomp &pfp_)
       : t(tt), ctx(ct), mf(mf_), pfp(pfp_) {}
   };
 
@@ -3063,8 +3065,9 @@
       return 0;
     }
 
-    ga_instruction_xfem_plus_grad_base(base_tensor &tt, 
fem_interpolation_context &ct,
-                                       const mesh_fem &mf_, pfem_precomp &pfp_)
+    ga_instruction_xfem_plus_grad_base
+    (base_tensor &tt, fem_interpolation_context &ct,
+     const mesh_fem &mf_, pfem_precomp &pfp_)
     : ga_instruction_val_base(tt, ct, mf_, pfp_)
     {}
   };
@@ -3083,8 +3086,9 @@
       return 0;
     }
 
-    ga_instruction_xfem_minus_grad_base(base_tensor &tt, 
fem_interpolation_context &ct,
-                                        const mesh_fem &mf_, pfem_precomp 
&pfp_)
+    ga_instruction_xfem_minus_grad_base
+    (base_tensor &tt, fem_interpolation_context &ct,
+     const mesh_fem &mf_, pfem_precomp &pfp_)
     : ga_instruction_val_base(tt, ct, mf_, pfp_)
     {}
   };
@@ -3121,8 +3125,9 @@
       return 0;
     }
 
-    ga_instruction_xfem_plus_hess_base(base_tensor &tt, 
fem_interpolation_context &ct,
-                                       const mesh_fem &mf_, pfem_precomp &pfp_)
+    ga_instruction_xfem_plus_hess_base
+    (base_tensor &tt, fem_interpolation_context &ct,
+     const mesh_fem &mf_, pfem_precomp &pfp_)
     : ga_instruction_val_base(tt, ct, mf_, pfp_)
     {}
   };
@@ -3141,8 +3146,9 @@
       return 0;
     }
 
-    ga_instruction_xfem_minus_hess_base(base_tensor &tt, 
fem_interpolation_context &ct,
-                                        const mesh_fem &mf_, pfem_precomp 
&pfp_)
+    ga_instruction_xfem_minus_hess_base
+    (base_tensor &tt, fem_interpolation_context &ct,
+     const mesh_fem &mf_, pfem_precomp &pfp_)
     : ga_instruction_val_base(tt, ct, mf_, pfp_)
     {}
   };
@@ -5343,12 +5349,12 @@
             inin.Normal.resize(0);
           inin.pt_y = inin.ctx.xreal();
         } else {
-          inin.ctx = fem_interpolation_context();
+          inin.ctx.invalid_convex_num();
           inin.pt_y = P_ref;
           inin.has_ctx = false;
         }
       } else {
-        inin.ctx = fem_interpolation_context();
+        inin.ctx.invalid_convex_num();
         inin.Normal.resize(0);
         inin.pt_y.resize(0);
         inin.has_ctx = false;
@@ -5382,14 +5388,14 @@
       if (ipt == 0) {
         if (!(ctx.have_pgp()) || !pai || pai->is_built_on_the_fly()
             || cancel_optimization) {
-          inin.ctx = fem_interpolation_context();
+          inin.ctx.invalid_convex_num();
         } else {
           // Test if the situation has already been encountered
           size_type cv = ctx.convex_num();
           short_type f = ctx.face_num();
           auto adj_face = m.adjacent_face(cv, f);
           if (adj_face.cv == size_type(-1)) {
-            inin.ctx = fem_interpolation_context();
+            inin.ctx.invalid_convex_num();
           } else {
             gauss_pt_corresp gpc;
             gpc.pgt1 = m.trans_of_convex(cv);
@@ -5477,12 +5483,12 @@
               inin.Normal.resize(0);
             inin.pt_y = inin.ctx.xreal();
           } else {
-            inin.ctx = fem_interpolation_context();
+            inin.ctx.invalid_convex_num();
             inin.pt_y = P_ref;
             inin.has_ctx = false;
           }
         } else {
-          inin.ctx = fem_interpolation_context();
+          inin.ctx.invalid_convex_num();
           inin.Normal.resize(0);
           inin.pt_y.resize(0);
           inin.has_ctx = false;
@@ -10591,7 +10597,7 @@
             // cout << "local dof of " << pnode->name << endl;
             pgai = std::make_shared<ga_instruction_slice_local_dofs>
               (*mf, *(gis.extended_vars[pnode->name]), gis.ctx,
-               rmi.local_dofs[pnode->name]);
+               rmi.local_dofs[pnode->name], gis.ipt);
             rmi.instructions.push_back(std::move(pgai));
           }
 

Modified: trunk/getfem/src/getfem_models.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_models.cc?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc   (original)
+++ trunk/getfem/src/getfem_models.cc   Thu Oct 27 17:45:04 2016
@@ -2452,8 +2452,9 @@
       if (detected) {
        int ifo = -1;
        for (auto &pmim :  brick.mims)
-         ifo = std::max(ifo, 
mf->linked_mesh().region(region).region_is_faces_of(m, brick.region,
-                                                       pmim->linked_mesh()));
+         ifo = std::max(ifo, mf->linked_mesh().region(region)
+                        .region_is_faces_of(m, brick.region,
+                                            pmim->linked_mesh()));
         GMM_ASSERT1(ifo >= 0, "The given region is only partially covered by "
                     "region of brick " << brick.pbr->brick_name()
                     << ". Please subdivise the region");

Modified: trunk/getfem/src/gmm/gmm_std.h
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/gmm/gmm_std.h?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/gmm/gmm_std.h      (original)
+++ trunk/getfem/src/gmm/gmm_std.h      Thu Oct 27 17:45:04 2016
@@ -127,6 +127,7 @@
 #include <sstream>
 #include <numeric>
 #include <memory>
+#include <array>
 #include <locale.h>
 
 namespace std {




reply via email to

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