branch: master commit 517ffd4daed62e304c02bee37cd68772b1bdb8fa Author: Konstantinos Poulios <logar...@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; } } }