getfem-commits
[Top][All Lists]
Advanced

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

[Getfem-commits] r4564 - /trunk/getfem/src/getfem_integration.cc


From: logari81
Subject: [Getfem-commits] r4564 - /trunk/getfem/src/getfem_integration.cc
Date: Thu, 27 Mar 2014 22:55:02 -0000

Author: logari81
Date: Thu Mar 27 23:55:02 2014
New Revision: 4564

URL: http://svn.gna.org/viewcvs/getfem?rev=4564&view=rev
Log:
let GetFEM++ provide a default integration method for Q2 incomplete elements

Modified:
    trunk/getfem/src/getfem_integration.cc

Modified: trunk/getfem/src/getfem_integration.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_integration.cc?rev=4564&r1=4563&r2=4564&view=diff
==============================================================================
--- trunk/getfem/src/getfem_integration.cc      (original)
+++ trunk/getfem/src/getfem_integration.cc      Thu Mar 27 23:55:02 2014
@@ -1170,20 +1170,21 @@
       case 3: name << "IM_TETRAHEDRON"; break;
       case 4: name << "IM_SIMPLEX4D"; break;
       default: GMM_ASSERT1(false, "no approximate integration method "
-                          "for simplexes of dimension " << n);
+                           "for simplexes of dimension " << n);
       }
       for (size_type k = degree; k < size_type(degree+10); ++k) {
-       pintegration_method im = 0;
-       std::stringstream name2; name2 << name.str() << "(" << k << ")";
-       im = int_method_descriptor(name2.str(), false);
-       if (im) return im;
+        pintegration_method im = 0;
+        std::stringstream name2; name2 << name.str() << "(" << k << ")";
+        im = int_method_descriptor(name2.str(), false);
+        if (im) return im;
       }
       GMM_ASSERT1(false, "could not find an " << name.str()
-                 << " of degree >= " << int(degree));
-    } else if (cvs->is_product(&a,&b)) {
+                  << " of degree >= " << int(degree));
+    } else if (cvs->is_product(&a,&b) ||
+               (cvs->basic_structure() && 
cvs->basic_structure()->is_product(&a,&b))) {
       name << "IM_PRODUCT(" 
-          << name_of_int_method(classical_approx_im_(a,degree)) << ","
-          << name_of_int_method(classical_approx_im_(b,degree)) << ")";
+           << name_of_int_method(classical_approx_im_(a,degree)) << ","
+           << name_of_int_method(classical_approx_im_(b,degree)) << ")";
     } else GMM_ASSERT1(false, "unknown convex structure!");
     return int_method_descriptor(name.str());
   }




reply via email to

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