[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: |
Wed, 29 Jan 2020 10:49:53 -0500 (EST) |
branch: devel-logari81-internal-variables
commit 78b191f942d27d95da95d6dec284c0f051531cb1
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 3e0657d..62ec9ee 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 11c2a72..fe64993 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());
}
}
@@ -8019,13 +8021,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 25e67c1..c8a5f1a 100644
--- a/src/getfem_models.cc
+++ b/src/getfem_models.cc
@@ -2391,7 +2391,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],
@@ -2411,7 +2411,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)),
@@ -2459,7 +2459,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],
@@ -2479,7 +2479,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)),
@@ -2520,7 +2520,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));
@@ -2545,7 +2545,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));
@@ -6976,7 +6976,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);
@@ -7014,7 +7014,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);