[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] (no subject)
From: |
Konstantinos Poulios |
Subject: |
[Getfem-commits] (no subject) |
Date: |
Fri, 3 Apr 2020 19:56:06 -0400 (EDT) |
branch: master
commit afffc209a896ea5d7606aa86b227b7700c546631
Author: Konstantinos Poulios <address@hidden>
AuthorDate: Wed Jan 29 16:47:37 2020 +0100
Minor changes
---
src/getfem/getfem_models.h | 16 +++++++++-------
src/getfem_generic_assembly_compile_and_exec.cc | 12 +++++++-----
src/getfem_models.cc | 16 ++++++++--------
3 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/src/getfem/getfem_models.h b/src/getfem/getfem_models.h
index c25ddec..c28749f 100644
--- a/src/getfem/getfem_models.h
+++ b/src/getfem/getfem_models.h
@@ -271,12 +271,14 @@ namespace getfem {
typedef std::vector<term_description> termlist;
- enum build_version { BUILD_RHS = 1,
- BUILD_MATRIX = 2,
- BUILD_ALL = 3,
- BUILD_ON_DATA_CHANGE = 4,
- BUILD_WITH_COMPLETE_RHS = 8,
- BUILD_COMPLETE_RHS = 9, };
+ enum build_version {
+ BUILD_RHS = 1,
+ BUILD_MATRIX = 2,
+ BUILD_ALL = 3,
+ BUILD_ON_DATA_CHANGE = 4,
+ BUILD_WITH_LIN = 8, // forced calculation of linear terms
+ BUILD_RHS_WITH_LIN = 9, // = BUILD_RHS | BUILD_WITH_LIN_RHS
+ };
protected:
@@ -356,7 +358,7 @@ namespace getfem {
std::string secondary_domain;
gen_expr(const std::string &expr_, const mesh_im &mim_,
size_type region_, const std::string &secdom)
- : expr(expr_), mim(mim_), region(region_), secondary_domain(secdom) {}
+ : expr(expr_), mim(mim_), region(region_), secondary_domain(secdom) {}
};
// Structure for assignment in assembly
diff --git a/src/getfem_generic_assembly_compile_and_exec.cc
b/src/getfem_generic_assembly_compile_and_exec.cc
index 48820ff..ee141f4 100644
--- a/src/getfem_generic_assembly_compile_and_exec.cc
+++ b/src/getfem_generic_assembly_compile_and_exec.cc
@@ -5445,9 +5445,11 @@ namespace getfem {
}
// cout << "sub_tree_are_equal = " << int(sub_tree_are_equal(pnode,
pnode1, workspace, 1)) << endl;
std::stringstream ss;
- ss << "Detected wrong equivalent nodes: \n";
- ga_print_node(pnode, ss); ss << "\n and \n"; ga_print_node(pnode1, ss);
- ss << "\nNo problem, but hash values could be adapted." << endl;
+ ss << "Detected wrong equivalent nodes:" << endl;
+ ga_print_node(pnode, ss);
+ ss << endl << " and " << endl;
+ ga_print_node(pnode1, ss);
+ ss << endl << "No problem, but hash values could be adapted." << endl;
GMM_TRACE2(ss.str());
}
}
@@ -8023,13 +8025,13 @@ namespace getfem {
(Kq1j2pr, KQJpr, gis.ctx, gis.ctx,
I1, imd1, alpha1, I2, imd2, alpha2, gis.ipt); //
constructor without gis.coeff
rmi.instructions.push_back(std::move(pgai));
- }
+ } // for j2
const bool initialize = true;
pgai = std::make_shared<ga_instruction_vector_assembly_imd>
(*(CC.RQpr[q1]), workspace.assembled_vector(), // <-
overwriting internal variables residual with internal solution
gis.ctx, I1, *imd1, gis.coeff, gis.ipt, initialize);
rmi.instructions.push_back(std::move(pgai));
- }
+ } // for q1
}
// Add superdiagonal condensation instructions
diff --git a/src/getfem_models.cc b/src/getfem_models.cc
index d0330eb..ee9ce16 100644
--- a/src/getfem_models.cc
+++ b/src/getfem_models.cc
@@ -2419,7 +2419,7 @@ namespace getfem {
}
}
if (term.is_matrix_term && brick.pbr->is_linear()
- && (!is_linear() || (version & BUILD_WITH_COMPLETE_RHS))) {
+ && (!is_linear() || (version & BUILD_WITH_LIN))) {
if (!(var1->is_disabled))
gmm::mult_add(brick.cmatlist[j],
gmm::scaled(var2->complex_value[0],
@@ -2439,7 +2439,7 @@ namespace getfem {
gmm::sub_vector(crhs, I2));
}
if (brick.pbr->is_linear()
- && (!is_linear() || (version & BUILD_WITH_COMPLETE_RHS))) {
+ && (!is_linear() || (version & BUILD_WITH_LIN))) {
gmm::mult_add(gmm::conjugated(brick.cmatlist[j]),
gmm::scaled(var1->complex_value[0],
complex_type(-alpha2)),
@@ -2487,7 +2487,7 @@ namespace getfem {
}
}
if (term.is_matrix_term && brick.pbr->is_linear()
- && (!is_linear() || (version & BUILD_WITH_COMPLETE_RHS))) {
+ && (!is_linear() || (version & BUILD_WITH_LIN))) {
if (!(var1->is_disabled))
gmm::mult_add(brick.rmatlist[j],
gmm::scaled(var2->complex_value[0],
@@ -2507,7 +2507,7 @@ namespace getfem {
gmm::sub_vector(crhs, I2));
}
if (brick.pbr->is_linear()
- && (!is_linear() || (version & BUILD_WITH_COMPLETE_RHS))) {
+ && (!is_linear() || (version & BUILD_WITH_LIN))) {
gmm::mult_add(gmm::transposed(brick.rmatlist[j]),
gmm::scaled(var1->complex_value[0],
complex_type(-alpha2)),
@@ -2548,7 +2548,7 @@ namespace getfem {
gmm::sub_vector(rrhs, I1));
// Contributions from linear terms
if (term.is_matrix_term && brick.pbr->is_linear()
- && (!is_linear() || (version & BUILD_WITH_COMPLETE_RHS)))
+ && (!is_linear() || (version & BUILD_WITH_LIN)))
gmm::mult_add(brick.rmatlist[j],
gmm::scaled(var2->real_value[0], -alpha1),
gmm::sub_vector(rrhs, I1));
@@ -2573,7 +2573,7 @@ namespace getfem {
gmm::sub_vector(rrhs, I2));
// Contributions from linear terms
if (brick.pbr->is_linear()
- && (!is_linear() || (version & BUILD_WITH_COMPLETE_RHS)))
+ && (!is_linear() || (version & BUILD_WITH_LIN)))
gmm::mult_add(gmm::transposed(brick.rmatlist[j]),
gmm::scaled(var1->real_value[0], -alpha2),
gmm::sub_vector(rrhs, I2));
@@ -7004,7 +7004,7 @@ namespace getfem {
}
// Computation of the residual (including the linear parts).
- md.assembly(model::BUILD_COMPLETE_RHS);
+ md.assembly(model::BUILD_RHS_WITH_LIN);
size_type nbdof = gmm::vect_size(md.complex_variable(U));
model_complex_plain_vector W(nbdof), RHS(nbdof);
@@ -7042,7 +7042,7 @@ namespace getfem {
}
// Computation of the residual (including the linear parts).
- md.assembly(model::BUILD_COMPLETE_RHS);
+ md.assembly(model::BUILD_RHS_WITH_LIN);
size_type nbdof = gmm::vect_size(md.real_variable(U));
model_real_plain_vector W(nbdof), RHS(nbdof);