[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: |
Mon, 20 Nov 2023 18:08:45 -0500 (EST) |
branch: master
commit 517ffd4daed62e304c02bee37cd68772b1bdb8fa
Author: Konstantinos Poulios <logari81@gmail.com>
AuthorDate: Tue Nov 21 00:04:26 2023 +0100
Naming, whitespace and simplifications
---
interface/src/gf_mesh_fem.cc | 12 ++---
src/getfem_global_function.cc | 18 +++----
src/getfem_mesh_fem_product.cc | 120 ++++++++++++++++++++---------------------
src/getfem_mesh_fem_sum.cc | 3 +-
4 files changed, 77 insertions(+), 76 deletions(-)
diff --git a/interface/src/gf_mesh_fem.cc b/interface/src/gf_mesh_fem.cc
index 3851f036..cf675d81 100644
--- a/interface/src/gf_mesh_fem.cc
+++ b/interface/src/gf_mesh_fem.cc
@@ -176,21 +176,21 @@ void gf_mesh_fem(getfemint::mexargs_in& m_in,
sub_command
("sum", 1, -1, 0, 1,
std::vector<const getfem::mesh_fem*> mftab;
- std::shared_ptr<getfem::mesh_fem_sum> msum;
+ std::shared_ptr<getfem::mesh_fem_sum> mfsum;
while (in.remaining()) {
getfem::mesh_fem *gfimf = to_meshfem_object(in.pop());
if (mmf.get() == 0) {
mm = &gfimf->linked_mesh();
- msum = std::make_shared<getfem::mesh_fem_sum>(*mm);
- mmf = msum;
+ mfsum = std::make_shared<getfem::mesh_fem_sum>(*mm);
+ mmf = mfsum;
store_meshfem_object(mmf);
}
workspace().set_dependence(mmf.get(), gfimf);
mftab.push_back(gfimf);
}
- msum->set_mesh_fems(mftab);
- msum->adapt();
- mmf = msum;
+ mfsum->set_mesh_fems(mftab);
+ mfsum->adapt();
+ mmf = mfsum;
);
/*@INIT MF = ('product', @tmf mf1, @tmf mf2)
diff --git a/src/getfem_global_function.cc b/src/getfem_global_function.cc
index 0ed103f4..bcd2e55e 100644
--- a/src/getfem_global_function.cc
+++ b/src/getfem_global_function.cc
@@ -32,7 +32,7 @@ namespace getfem {
(const fem_interpolation_context &c) const {
base_node pt = c.xreal();
GMM_ASSERT1(pt.size() == dim_, "Point of wrong size (" << pt.size() << ") "
- << "passed to a global function of dim = "<< dim_ <<".");
+ << "passed to a global function of dim = "<< dim_ <<".");
return this->val(pt);
}
@@ -40,7 +40,7 @@ namespace getfem {
(const fem_interpolation_context &c, base_small_vector &g) const {
base_node pt = c.xreal();
GMM_ASSERT1(pt.size() == dim_, "Point of wrong size (" << pt.size() << ") "
- << "passed to a global function of dim = "<< dim_ <<".");
+ << "passed to a global function of dim = "<< dim_ <<".");
this->grad(pt, g);
}
@@ -48,7 +48,7 @@ namespace getfem {
(const fem_interpolation_context &c, base_matrix &h) const {
base_node pt = c.xreal();
GMM_ASSERT1(pt.size() == dim_, "Point of wrong size (" << pt.size() << ") "
- << "passed to a global function of dim = "<< dim_ <<".");
+ << "passed to a global function of dim = "<< dim_ <<".");
this->hess(pt, h);
}
@@ -717,12 +717,12 @@ namespace getfem {
if (cv_ != cv) {
cv=cv_;
if (lsets.size() == 0) {
- mls_x = ls.mls_of_convex(cv, 1);
- mls_y = ls.mls_of_convex(cv, 0);
+ mls_x = ls.mls_of_convex(cv, 1);
+ mls_y = ls.mls_of_convex(cv, 0);
} else {
- base_node pt(n);
+ base_node pt(n);
scalar_type d = scalar_type(-2);
- for (const auto &ls_ : lsets) {
+ for (const level_set &ls_ : lsets) {
pmesher_signed_distance mls_xx, mls_yy;
mls_xx = ls_.mls_of_convex(cv, 1);
mls_yy = ls_.mls_of_convex(cv, 0);
@@ -806,8 +806,8 @@ namespace getfem {
GMM_ASSERT1(lsets.size() > 0, "The list of level sets should"
" contain at least one level set.");
cv = size_type(-1);
- for (size_type i = 0; i < lsets.size(); ++i)
- this->add_dependency(lsets[i]);
+ for (const level_set &ls_ : lsets)
+ this->add_dependency(ls_);
}
global_function_on_levelsets_2D_(const level_set &ls_,
diff --git a/src/getfem_mesh_fem_product.cc b/src/getfem_mesh_fem_product.cc
index 33608757..69117915 100644
--- a/src/getfem_mesh_fem_product.cc
+++ b/src/getfem_mesh_fem_product.cc
@@ -23,12 +23,12 @@
#include "getfem/getfem_mesh_fem_product.h"
namespace getfem {
-
+
void fem_product::init() {
-
+
GMM_ASSERT1(pfems[0]->target_dim() == 1, "To be done");
GMM_ASSERT1(pfems[1]->target_dim() == 1,
- "The second finite element should be scalar");
+ "The second finite element should be scalar");
cvr = pfems[0]->ref_convex(cv);
dim_ = cvr->structure()->dim();
@@ -40,27 +40,27 @@ namespace getfem {
nm << "FEM_PRODUCT(" << pfems[0]->debug_name() << ","
<< pfems[1]->debug_name() << "," << cv << ")";
debug_name_ = nm.str();
-
+
init_cvs_node();
for (dal::bv_visitor i(enriched_dof1); !i.finished(); ++i) {
for (size_type j = 0; j < pfems[1]->nb_dof(cv); ++j)
- add_node(xfem_dof(pfems[0]->dof_types()[i], xfem_index+j),
- pfems[0]->node_of_dof(cv,i));
+ add_node(xfem_dof(pfems[0]->dof_types()[i], xfem_index+j),
+ pfems[0]->node_of_dof(cv,i));
}
}
- void fem_product::base_value(const base_node &,
- base_tensor &) const
+ void fem_product::base_value(const base_node &,
+ base_tensor &) const
{ GMM_ASSERT1(false, "No base values, real only element."); }
- void fem_product::grad_base_value(const base_node &,
- base_tensor &) const
+ void fem_product::grad_base_value(const base_node &,
+ base_tensor &) const
{ GMM_ASSERT1(false, "No base values, real only element."); }
- void fem_product::hess_base_value(const base_node &,
- base_tensor &) const
+ void fem_product::hess_base_value(const base_node &,
+ base_tensor &) const
{ GMM_ASSERT1(false, "No base values, real only element."); }
void fem_product::real_base_value(const fem_interpolation_context &c,
- base_tensor &t, bool) const {
+ base_tensor &t, bool) const {
bgeot::multi_index mi(2);
mi[1] = target_dim(); mi[0] = short_type(nb_dof(0));
t.adjust_sizes(mi);
@@ -70,36 +70,36 @@ namespace getfem {
std::vector<base_tensor> val_e(2);
for (size_type k = 0; k < 2; ++k) {
if (c0.have_pfp()) {
- c0.set_pfp(fem_precomp(pfems[k], c0.pfp()->get_ppoint_tab(),
- c0.pfp()));
+ c0.set_pfp(fem_precomp(pfems[k], c0.pfp()->get_ppoint_tab(),
+ c0.pfp()));
} else { c0.set_pf(pfems[k]); }
c0.base_value(val_e[k]);
}
-
+
assert(target_dim() == 1);
for (dal::bv_visitor i(enriched_dof1); !i.finished(); ++i) {
itf = val_e[1].begin();
scalar_type e = val_e[0][i];
for (size_type j = 0; j < pfems[1]->nb_dof(cv); ++j)
- *it++ = *itf++ * e;
+ *it++ = *itf++ * e;
}
assert(it == t.end());
}
void fem_product::real_grad_base_value(const fem_interpolation_context &c,
- base_tensor &t, bool) const {
+ base_tensor &t, bool) const {
bgeot::multi_index mi(3);
mi[2] = short_type(c.N()); mi[1] = target_dim();
mi[0] = short_type(nb_dof(0));
t.adjust_sizes(mi);
base_tensor::iterator it = t.begin();
-
+
fem_interpolation_context c0 = c;
std::vector<base_tensor> grad_e(2), val_e(2);
for (size_type k = 0; k < 2; ++k) {
if (c0.have_pfp()) {
- c0.set_pfp(fem_precomp(pfems[k], c0.pfp()->get_ppoint_tab(),
- c0.pfp()));
+ c0.set_pfp(fem_precomp(pfems[k], c0.pfp()->get_ppoint_tab(),
+ c0.pfp()));
} else { c0.set_pf(pfems[k]); }
c0.grad_base_value(grad_e[k]);
c0.base_value(val_e[k]);
@@ -108,27 +108,27 @@ namespace getfem {
assert(target_dim() == 1);
for (dim_type k = 0; k < c.N() ; ++k) {
for (dal::bv_visitor i(enriched_dof1); !i.finished(); ++i) {
- size_type posg0 = k * pfems[0]->nb_dof(cv);
- size_type posg1 = k * pfems[1]->nb_dof(cv);
- for (size_type j = 0; j < pfems[1]->nb_dof(cv); ++j)
- *it++ = grad_e[0][i + posg0] * val_e[1][j]
- + grad_e[1][j + posg1] * val_e[0][i];
+ size_type posg0 = k * pfems[0]->nb_dof(cv);
+ size_type posg1 = k * pfems[1]->nb_dof(cv);
+ for (size_type j = 0; j < pfems[1]->nb_dof(cv); ++j)
+ *it++ = grad_e[0][i + posg0] * val_e[1][j]
+ + grad_e[1][j + posg1] * val_e[0][i];
}
}
assert(it == t.end());
}
-
+
void fem_product::real_hess_base_value(const fem_interpolation_context &c,
base_tensor &t, bool) const {
t.adjust_sizes(nb_dof(0), target_dim(), gmm::sqr(c.N()));
base_tensor::iterator it = t.begin();
-
+
fem_interpolation_context c0 = c;
std::vector<base_tensor> hess_e(2), grad_e(2), val_e(2);
for (size_type k = 0; k < 2; ++k) {
if (c0.have_pfp()) {
- c0.set_pfp(fem_precomp(pfems[k], c0.pfp()->get_ppoint_tab(),
- c0.pfp()));
+ c0.set_pfp(fem_precomp(pfems[k], c0.pfp()->get_ppoint_tab(),
+ c0.pfp()));
} else { c0.set_pf(pfems[k]); }
c0.hess_base_value(hess_e[k]);
c0.grad_base_value(grad_e[k]);
@@ -138,20 +138,20 @@ namespace getfem {
assert(target_dim() == 1);
for (dim_type k0 = 0; k0 < c.N(); ++k0) {
for (dim_type k1 = 0; k1 < c.N() ; ++k1) {
- for (dal::bv_visitor i(enriched_dof1); !i.finished(); ++i) {
- size_type posh0 = (k0*c.N()+k1) * pfems[0]->nb_dof(cv);
- size_type posh1 = (k0*c.N()+k1) * pfems[1]->nb_dof(cv);
- size_type posg00 = k0 * pfems[0]->nb_dof(cv);
- size_type posg01 = k1 * pfems[0]->nb_dof(cv);
- size_type posg10 = k0 * pfems[1]->nb_dof(cv);
- size_type posg11 = k1 * pfems[1]->nb_dof(cv);
- for (size_type j = 0; j < pfems[1]->nb_dof(cv); ++j) {
- *it++ = hess_e[0][i + posh0] * val_e[1][j] +
- hess_e[1][j + posh1] * val_e[0][i] +
- grad_e[0][i + posg00] * grad_e[1][j + posg11] +
- grad_e[0][i + posg01] * grad_e[1][j + posg10];
- }
- }
+ for (dal::bv_visitor i(enriched_dof1); !i.finished(); ++i) {
+ size_type posh0 = (k0*c.N()+k1) * pfems[0]->nb_dof(cv);
+ size_type posh1 = (k0*c.N()+k1) * pfems[1]->nb_dof(cv);
+ size_type posg00 = k0 * pfems[0]->nb_dof(cv);
+ size_type posg01 = k1 * pfems[0]->nb_dof(cv);
+ size_type posg10 = k0 * pfems[1]->nb_dof(cv);
+ size_type posg11 = k1 * pfems[1]->nb_dof(cv);
+ for (size_type j = 0; j < pfems[1]->nb_dof(cv); ++j) {
+ *it++ = hess_e[0][i + posh0] * val_e[1][j] +
+ hess_e[1][j + posh1] * val_e[0][i] +
+ grad_e[0][i + posg00] * grad_e[1][j + posg11] +
+ grad_e[0][i + posg01] * grad_e[1][j + posg10];
+ }
+ }
}
}
assert(it == t.end());
@@ -162,36 +162,36 @@ namespace getfem {
del_stored_object(build_methods[i]);
build_methods.clear();
}
- void mesh_fem_product::clear(void) {
+ void mesh_fem_product::clear() {
mesh_fem::clear();
clear_build_methods();
is_adapted = false;
}
-
+
DAL_SIMPLE_KEY(special_mflproduct_key, pfem);
-
- void mesh_fem_product::adapt(void) {
+
+ void mesh_fem_product::adapt() {
context_check();
clear();
GMM_ASSERT1(!mf1.is_reduced() && !mf2.is_reduced(),
- "Sorry, mesh_fem_product not defined for reduced mesh_fems");
+ "Sorry, mesh_fem_product not defined for reduced mesh_fems");
for (dal::bv_visitor cv(linked_mesh().convex_index()); !cv.finished();
- ++cv) {
+ ++cv) {
dal::bit_vector local_enriched_dof;
for (size_type i = 0; i < mf1.nb_basic_dof_of_element(cv); ++i)
- if (enriched_dof.is_in(mf1.ind_basic_dof_of_element(cv)[i]))
- local_enriched_dof.add(i);
+ if (enriched_dof.is_in(mf1.ind_basic_dof_of_element(cv)[i]))
+ local_enriched_dof.add(i);
if (local_enriched_dof.card() > 0) {
- pfem pf = std::make_shared<fem_product>
- (mf1.fem_of_element(cv), mf2.fem_of_element(cv), cv,
- xfem_index, local_enriched_dof);
- dal::pstatic_stored_object_key
- pk = std::make_shared<special_mflproduct_key>(pf);
- dal::add_stored_object(pk, pf, pf->ref_convex(0), pf->node_tab(0));
- build_methods.push_back(pf);
- set_finite_element(cv, pf);
+ pfem pf = std::make_shared<fem_product>
+ (mf1.fem_of_element(cv), mf2.fem_of_element(cv), cv,
+ xfem_index, local_enriched_dof);
+ dal::pstatic_stored_object_key
+ pk = std::make_shared<special_mflproduct_key>(pf);
+ dal::add_stored_object(pk, pf, pf->ref_convex(0), pf->node_tab(0));
+ build_methods.push_back(pf);
+ set_finite_element(cv, pf);
}
}
is_adapted = true; touch();
diff --git a/src/getfem_mesh_fem_sum.cc b/src/getfem_mesh_fem_sum.cc
index 7c53b832..49a4a063 100644
--- a/src/getfem_mesh_fem_sum.cc
+++ b/src/getfem_mesh_fem_sum.cc
@@ -273,7 +273,8 @@ namespace getfem {
pfem pf = pmf->fem_of_element(i);
if (pf->nb_dof(i)) {
pfems.push_back(pf);
- if (pf->is_on_real_element()) is_cv_dep = true;
+ if (pf->is_on_real_element())
+ is_cv_dep = true;
}
}
}