Author: renard
Date: Mon Jun 2 11:14:53 2014
New Revision: 4672
URL: http://svn.gna.org/viewcvs/getfem?rev=4672&view=rev
Log:
a bug fix on linear generic assembly brick
Modified:
trunk/getfem/doc/sphinx/source/userdoc/model_generic_assembly.rst
trunk/getfem/src/getfem_models.cc
Modified: trunk/getfem/doc/sphinx/source/userdoc/model_generic_assembly.rst
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/doc/sphinx/source/userdoc/model_generic_assembly.rst?rev=4672&r1=4671&r2=4672&view=diff
==============================================================================
--- trunk/getfem/doc/sphinx/source/userdoc/model_generic_assembly.rst
(original)
+++ trunk/getfem/doc/sphinx/source/userdoc/model_generic_assembly.rst Mon Jun
2 11:14:53 2014
@@ -41,7 +41,7 @@
where ``F`` is a pre-defined constant of the model representing the right hand
side. Of course, doing so, Newton's algorithms will be called. So, the more
appropriate manner is to use the linear bricks as follows::
getfem::add_linear_generic_assembly_brick(md, mim, "Grad_u.Grad_Test_u", -1,
true, true);
- getfem::add_dource_term_generic_assembly_brick(md, mim, "F*Test_u");
+ getfem::add_source_term_generic_assembly_brick(md, mim, "F*Test_u");
Modified: trunk/getfem/src/getfem_models.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_models.cc?rev=4672&r1=4671&r2=4672&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc (original)
+++ trunk/getfem/src/getfem_models.cc Mon Jun 2 11:14:53 2014
@@ -1549,11 +1549,11 @@
from_variables(V);
gmm::mult_add(brick.rmatlist[j],
gmm::scaled(V, -coeff0), rrhs);
- }
- gmm::mult_add(brick.rmatlist[j],
- gmm::scaled(variables[term.var2].real_value[0],
- -coeff0),
- gmm::sub_vector(rrhs, I1));
+ } else
+ gmm::mult_add(brick.rmatlist[j],
+ gmm::scaled(variables[term.var2].real_value[0],
+ -coeff0),
+ gmm::sub_vector(rrhs, I1));
}
if (term.is_symmetric && I1.first() != I2.first()) {
if (brick.pdispatch) {
@@ -1620,8 +1620,6 @@
workspace.add_expression(it->expr, it->mim, mpi_reg[pms]);
}
- // cout << "act. assembly" << endl;
-
if (version & BUILD_RHS) {
if (is_complex()) {
GMM_ASSERT1(false, "to be done");
@@ -1641,7 +1639,6 @@
workspace.assembly(2);
}
}
- // cout << "act. assembly done" << endl;
}
// Post simplification for dof constraints
@@ -2038,9 +2035,10 @@
"mesh_im");
bool recompute_matrix = !((version & model::BUILD_ON_DATA_CHANGE) != 0);
- for (size_type i = 0; i < dl.size(); ++i)
+ for (size_type i = 0; i < dl.size(); ++i) {
recompute_matrix = recompute_matrix ||
md.is_var_newer_than_brick(dl[i], ib);
+ }
if (recompute_matrix) {
ga_workspace workspace(md);
@@ -2098,7 +2096,7 @@
ga_workspace workspace(md);
size_type order = workspace.add_expression(expr, mim, region);
model::varnamelist vl, dl;
- workspace.used_variables(vl, dl, order);
+ workspace.used_variables(vl, dl, 2);
if (order == 0) { is_coercive = is_sym = true; }
pbrick pbr = new gen_linear_assembly_brick(expr, is_sym, is_coercive,
(order == 0), brickname);
_______________________________________________
Getfem-commits mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-commits