getfem-commits
[Top][All Lists]
Advanced

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

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


From: Yves . Renard
Subject: [Getfem-commits] r4970 - /trunk/getfem/src/getfem_models.cc
Date: Thu, 23 Apr 2015 19:07:03 -0000

Author: renard
Date: Thu Apr 23 21:07:03 2015
New Revision: 4970

URL: http://svn.gna.org/viewcvs/getfem?rev=4970&view=rev
Log:
small additional fix

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=4970&r1=4969&r2=4970&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc   (original)
+++ trunk/getfem/src/getfem_models.cc   Thu Apr 23 21:07:03 2015
@@ -2643,10 +2643,14 @@
   model::real_variable(const std::string &name, size_type niter) const {
     GMM_ASSERT1(!complex_version, "This model is a complex one");
     context_check();
-    VAR_SET::const_iterator it = variables.find(name);
+    VAR_SET::iterator it = variables.find(name);
     GMM_ASSERT1(it!=variables.end(), "Undefined variable " << name);
-    if (act_size_to_be_done && it->second.is_fem_dofs) //it->second.filter != 
VDESCRFILTER_NO
-      actualize_sizes();
+    if (act_size_to_be_done && it->second.is_fem_dofs) {
+      if (it->second.filter != VDESCRFILTER_NO)
+        actualize_sizes();
+      else
+        it->second.set_size(it->second.mf->nb_dof()*it->second.qdim);
+    }
     if (niter == size_type(-1)) niter = it->second.default_iter;
     GMM_ASSERT1(it->second.n_iter + it->second.n_temp_iter > niter,
                 "Invalid iteration number "
@@ -2664,7 +2668,7 @@
       if (it->second.filter != VDESCRFILTER_NO)
         actualize_sizes();
       else
-        it->second.set_size(it->second.mf->nb_dof());
+        it->second.set_size(it->second.mf->nb_dof()*it->second.qdim);
     }
     if (niter == size_type(-1)) niter = it->second.default_iter;
     GMM_ASSERT1(it->second.n_iter + it->second.n_temp_iter  > niter,
@@ -2699,8 +2703,12 @@
     context_check();
     VAR_SET::iterator it = variables.find(name);
     GMM_ASSERT1(it!=variables.end(), "Undefined variable " << name);
-    if (act_size_to_be_done && it->second.is_fem_dofs) //it->second.filter != 
VDESCRFILTER_NO
-      actualize_sizes();
+    if (act_size_to_be_done && it->second.is_fem_dofs) {
+      if (it->second.filter != VDESCRFILTER_NO)
+        actualize_sizes();
+      else
+        it->second.set_size(it->second.mf->nb_dof()*it->second.qdim);
+    }
     it->second.v_num_data = act_counter();
     if (niter == size_type(-1)) niter = it->second.default_iter;
     GMM_ASSERT1(it->second.n_iter + it->second.n_temp_iter > niter,
@@ -2717,8 +2725,12 @@
     GMM_ASSERT1(it != variables.end(), "Undefined variable " << name);
     GMM_ASSERT1(it->second.is_affine_dependent,
                 "Only for affine dependent variables");
-    if (act_size_to_be_done && it->second.is_fem_dofs) //it->second.filter != 
VDESCRFILTER_NO
-      actualize_sizes();
+    if (act_size_to_be_done && it->second.is_fem_dofs) {
+      if (it->second.filter != VDESCRFILTER_NO)
+        actualize_sizes();
+      else
+        it->second.set_size(it->second.mf->nb_dof()*it->second.qdim);
+    }
     it->second.v_num_data = act_counter();
     return it->second.affine_real_value;
   }
@@ -2729,8 +2741,12 @@
     context_check();
     VAR_SET::iterator it = variables.find(name);
     GMM_ASSERT1(it!=variables.end(), "Undefined variable " << name);
-    if (act_size_to_be_done && it->second.is_fem_dofs) //it->second.filter != 
VDESCRFILTER_NO
-      actualize_sizes();
+    if (act_size_to_be_done && it->second.is_fem_dofs) {
+      if (it->second.filter != VDESCRFILTER_NO)
+        actualize_sizes();
+      else
+        it->second.set_size(it->second.mf->nb_dof()*it->second.qdim);
+    }
     it->second.v_num_data = act_counter();
     return it->second.affine_complex_value;
   }




reply via email to

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