getfem-commits
[Top][All Lists]
Advanced

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

[Getfem-commits] r5229 - /trunk/getfem/src/getfem_models.cc


From: Yves . Renard
Subject: [Getfem-commits] r5229 - /trunk/getfem/src/getfem_models.cc
Date: Thu, 28 Jan 2016 12:06:11 -0000

Author: renard
Date: Thu Jan 28 13:06:10 2016
New Revision: 5229

URL: http://svn.gna.org/viewcvs/getfem?rev=5229&view=rev
Log:
fix a bug in disable of affine dependent variables

Modified:
    trunk/getfem/src/getfem_models.cc

Modified: trunk/getfem/src/getfem_models.cc
URL: 
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_models.cc?rev=5229&r1=5228&r2=5229&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc   (original)
+++ trunk/getfem/src/getfem_models.cc   Thu Jan 28 13:06:10 2016
@@ -825,6 +825,9 @@
           && (name.compare(itv->second.filter_var) == 0)) {
         itv->second.is_disabled = true;
       }
+      if (itv->second.is_variable && itv->second.is_affine_dependent
+         && name.compare(itv->second.org_name) == 0)
+       itv->second.is_disabled = true;
     }
     if (!act_size_to_be_done) resize_global_system();
   }
@@ -840,6 +843,9 @@
           && (name.compare(itv->second.filter_var) == 0)) {
         itv->second.is_disabled = false;
       }
+      if (itv->second.is_variable && itv->second.is_affine_dependent
+         && name.compare(itv->second.org_name) == 0)
+       itv->second.is_disabled = false;
     }
     if (!act_size_to_be_done) resize_global_system();
   }
@@ -2365,19 +2371,19 @@
         VAR_SET::iterator it1, it2;
         if (!isg) {
           it1 = variables.find(term.var1);
-          GMM_ASSERT1(it1->second.is_variable, "Assembly of data not allowed");
+         GMM_ASSERT1(it1->second.is_variable, "Assembly of data not allowed");
           I1 = it1->second.I;
         }
         if (term.is_matrix_term && !isg) {
           it2 = variables.find(term.var2);
-          I2 = it2->second.I;
+         I2 = it2->second.I;
           if (!(it2->second.is_variable)) {
-            std::string vorgname = sup_previous_and_dot_to_varname(term.var2);
+           std::string vorgname = sup_previous_and_dot_to_varname(term.var2);
             VAR_SET::iterator it3 = variables.find(vorgname);
             GMM_ASSERT1(it3->second.is_variable,
                         "Assembly of data not allowed");
             I2 = it3->second.I;
-            isprevious = true;
+           isprevious = true;
           }
           alpha *= it1->second.alpha * it2->second.alpha;
           alpha1 *= it1->second.alpha;
@@ -2525,7 +2531,7 @@
           if (term.is_matrix_term && (version & BUILD_MATRIX) && !isprevious
               && (isg || (!(it1->second.is_disabled)
                           && !(it2->second.is_disabled)))) {
-            gmm::add(gmm::scaled(brick.rmatlist[j], alpha),
+           gmm::add(gmm::scaled(brick.rmatlist[j], alpha),
                      gmm::sub_matrix(rTM, I1, I2));
             if (term.is_symmetric && I1.first() != I2.first()) {
               gmm::add(gmm::scaled(gmm::transposed(brick.rmatlist[j]), alpha),




reply via email to

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