[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r5448 - in /trunk/getfem/src: getfem/bgeot_geometric_tr
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r5448 - in /trunk/getfem/src: getfem/bgeot_geometric_trans.h getfem_generic_assembly.cc getfem_models.cc gmm/gmm_std.h |
Date: |
Thu, 27 Oct 2016 15:45:05 -0000 |
Author: renard
Date: Thu Oct 27 17:45:04 2016
New Revision: 5448
URL: http://svn.gna.org/viewcvs/getfem?rev=5448&view=rev
Log:
small clean up and minor fix
Modified:
trunk/getfem/src/getfem/bgeot_geometric_trans.h
trunk/getfem/src/getfem_generic_assembly.cc
trunk/getfem/src/getfem_models.cc
trunk/getfem/src/gmm/gmm_std.h
Modified: trunk/getfem/src/getfem/bgeot_geometric_trans.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/bgeot_geometric_trans.h?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/getfem/bgeot_geometric_trans.h (original)
+++ trunk/getfem/src/getfem/bgeot_geometric_trans.h Thu Oct 27 17:45:04 2016
@@ -402,7 +402,7 @@
pgeometric_trans pgt_;
pgeotrans_precomp pgp_;
pstored_point_tab pspt_; /** if pgp != 0, it is the same as pgp's one */
- size_type ii_; /** index of current point in the pgp */
+ size_type ii_; /** index of current point in the pgp */
mutable scalar_type J_, J__; /** Jacobian */
mutable base_matrix PC, B_factors;
mutable base_vector aux1, aux2;
Modified: trunk/getfem/src/getfem_generic_assembly.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_generic_assembly.cc?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/getfem_generic_assembly.cc (original)
+++ trunk/getfem/src/getfem_generic_assembly.cc Thu Oct 27 17:45:04 2016
@@ -18,8 +18,6 @@
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
===========================================================================*/
-
-#include <array>
#include "getfem/getfem_generic_assembly.h"
#include "gmm/gmm_blas.h"
@@ -2715,15 +2713,18 @@
const base_vector &U;
const fem_interpolation_context &ctx;
base_vector &coeff;
+ const size_type &ipt;
virtual int exec() {
GA_DEBUG_INFO("Instruction: Slice local dofs");
- slice_vector_on_basic_dof_of_element(mf, U, ctx.convex_num(), coeff);
+ if (ipt == 0) {
+ slice_vector_on_basic_dof_of_element(mf, U, ctx.convex_num(), coeff);
+ }
return 0;
}
ga_instruction_slice_local_dofs(const mesh_fem &mf_, const base_vector &U_,
const fem_interpolation_context &ctx_,
- base_vector &coeff_)
- : mf(mf_), U(U_), ctx(ctx_), coeff(coeff_) {}
+ base_vector &coeff_, const size_type &ipt_)
+ : mf(mf_), U(U_), ctx(ctx_), coeff(coeff_), ipt(ipt_) {}
};
struct ga_instruction_update_pfp : public ga_instruction {
@@ -3021,8 +3022,9 @@
return 0;
}
- ga_instruction_xfem_minus_val_base(base_tensor &tt,
fem_interpolation_context &ct,
- const mesh_fem &mf_, pfem_precomp &pfp_)
+ ga_instruction_xfem_minus_val_base
+ (base_tensor &tt, fem_interpolation_context &ct,
+ const mesh_fem &mf_, pfem_precomp &pfp_)
: t(tt), ctx(ct), mf(mf_), pfp(pfp_) {}
};
@@ -3063,8 +3065,9 @@
return 0;
}
- ga_instruction_xfem_plus_grad_base(base_tensor &tt,
fem_interpolation_context &ct,
- const mesh_fem &mf_, pfem_precomp &pfp_)
+ ga_instruction_xfem_plus_grad_base
+ (base_tensor &tt, fem_interpolation_context &ct,
+ const mesh_fem &mf_, pfem_precomp &pfp_)
: ga_instruction_val_base(tt, ct, mf_, pfp_)
{}
};
@@ -3083,8 +3086,9 @@
return 0;
}
- ga_instruction_xfem_minus_grad_base(base_tensor &tt,
fem_interpolation_context &ct,
- const mesh_fem &mf_, pfem_precomp
&pfp_)
+ ga_instruction_xfem_minus_grad_base
+ (base_tensor &tt, fem_interpolation_context &ct,
+ const mesh_fem &mf_, pfem_precomp &pfp_)
: ga_instruction_val_base(tt, ct, mf_, pfp_)
{}
};
@@ -3121,8 +3125,9 @@
return 0;
}
- ga_instruction_xfem_plus_hess_base(base_tensor &tt,
fem_interpolation_context &ct,
- const mesh_fem &mf_, pfem_precomp &pfp_)
+ ga_instruction_xfem_plus_hess_base
+ (base_tensor &tt, fem_interpolation_context &ct,
+ const mesh_fem &mf_, pfem_precomp &pfp_)
: ga_instruction_val_base(tt, ct, mf_, pfp_)
{}
};
@@ -3141,8 +3146,9 @@
return 0;
}
- ga_instruction_xfem_minus_hess_base(base_tensor &tt,
fem_interpolation_context &ct,
- const mesh_fem &mf_, pfem_precomp
&pfp_)
+ ga_instruction_xfem_minus_hess_base
+ (base_tensor &tt, fem_interpolation_context &ct,
+ const mesh_fem &mf_, pfem_precomp &pfp_)
: ga_instruction_val_base(tt, ct, mf_, pfp_)
{}
};
@@ -5343,12 +5349,12 @@
inin.Normal.resize(0);
inin.pt_y = inin.ctx.xreal();
} else {
- inin.ctx = fem_interpolation_context();
+ inin.ctx.invalid_convex_num();
inin.pt_y = P_ref;
inin.has_ctx = false;
}
} else {
- inin.ctx = fem_interpolation_context();
+ inin.ctx.invalid_convex_num();
inin.Normal.resize(0);
inin.pt_y.resize(0);
inin.has_ctx = false;
@@ -5382,14 +5388,14 @@
if (ipt == 0) {
if (!(ctx.have_pgp()) || !pai || pai->is_built_on_the_fly()
|| cancel_optimization) {
- inin.ctx = fem_interpolation_context();
+ inin.ctx.invalid_convex_num();
} else {
// Test if the situation has already been encountered
size_type cv = ctx.convex_num();
short_type f = ctx.face_num();
auto adj_face = m.adjacent_face(cv, f);
if (adj_face.cv == size_type(-1)) {
- inin.ctx = fem_interpolation_context();
+ inin.ctx.invalid_convex_num();
} else {
gauss_pt_corresp gpc;
gpc.pgt1 = m.trans_of_convex(cv);
@@ -5477,12 +5483,12 @@
inin.Normal.resize(0);
inin.pt_y = inin.ctx.xreal();
} else {
- inin.ctx = fem_interpolation_context();
+ inin.ctx.invalid_convex_num();
inin.pt_y = P_ref;
inin.has_ctx = false;
}
} else {
- inin.ctx = fem_interpolation_context();
+ inin.ctx.invalid_convex_num();
inin.Normal.resize(0);
inin.pt_y.resize(0);
inin.has_ctx = false;
@@ -10591,7 +10597,7 @@
// cout << "local dof of " << pnode->name << endl;
pgai = std::make_shared<ga_instruction_slice_local_dofs>
(*mf, *(gis.extended_vars[pnode->name]), gis.ctx,
- rmi.local_dofs[pnode->name]);
+ rmi.local_dofs[pnode->name], gis.ipt);
rmi.instructions.push_back(std::move(pgai));
}
Modified: trunk/getfem/src/getfem_models.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_models.cc?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/getfem_models.cc (original)
+++ trunk/getfem/src/getfem_models.cc Thu Oct 27 17:45:04 2016
@@ -2452,8 +2452,9 @@
if (detected) {
int ifo = -1;
for (auto &pmim : brick.mims)
- ifo = std::max(ifo,
mf->linked_mesh().region(region).region_is_faces_of(m, brick.region,
- pmim->linked_mesh()));
+ ifo = std::max(ifo, mf->linked_mesh().region(region)
+ .region_is_faces_of(m, brick.region,
+ pmim->linked_mesh()));
GMM_ASSERT1(ifo >= 0, "The given region is only partially covered by "
"region of brick " << brick.pbr->brick_name()
<< ". Please subdivise the region");
Modified: trunk/getfem/src/gmm/gmm_std.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/gmm/gmm_std.h?rev=5448&r1=5447&r2=5448&view=diff
==============================================================================
--- trunk/getfem/src/gmm/gmm_std.h (original)
+++ trunk/getfem/src/gmm/gmm_std.h Thu Oct 27 17:45:04 2016
@@ -127,6 +127,7 @@
#include <sstream>
#include <numeric>
#include <memory>
+#include <array>
#include <locale.h>
namespace std {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r5448 - in /trunk/getfem/src: getfem/bgeot_geometric_trans.h getfem_generic_assembly.cc getfem_models.cc gmm/gmm_std.h,
Yves . Renard <=