[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r5153 - in /trunk/getfem: contrib/level_set_contact/ sr
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r5153 - in /trunk/getfem: contrib/level_set_contact/ src/ src/getfem/ |
Date: |
Fri, 27 Nov 2015 15:39:41 -0000 |
Author: renard
Date: Fri Nov 27 16:39:40 2015
New Revision: 5153
URL: http://svn.gna.org/viewcvs/getfem?rev=5153&view=rev
Log:
minor modifications
Modified:
trunk/getfem/contrib/level_set_contact/contact_2D.param
trunk/getfem/src/getfem/getfem_interpolated_fem.h
trunk/getfem/src/getfem/getfem_mat_elem.h
trunk/getfem/src/getfem/getfem_mat_elem_type.h
trunk/getfem/src/getfem_assembling_tensors.cc
trunk/getfem/src/getfem_fem.cc
trunk/getfem/src/getfem_level_set_contact.cc
Modified: trunk/getfem/contrib/level_set_contact/contact_2D.param
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/contrib/level_set_contact/contact_2D.param?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/contrib/level_set_contact/contact_2D.param (original)
+++ trunk/getfem/contrib/level_set_contact/contact_2D.param Fri Nov 27
16:39:40 2015
@@ -32,7 +32,7 @@
LAMBDA_MASTER = 110.0;
MU_MASTER = 70.0;
%
-%
+%
% Slave contact body
DIVxS = 20;
DIVyS =
Modified: trunk/getfem/src/getfem/getfem_interpolated_fem.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_interpolated_fem.h?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_interpolated_fem.h (original)
+++ trunk/getfem/src/getfem/getfem_interpolated_fem.h Fri Nov 27 16:39:40 2015
@@ -180,7 +180,8 @@
bool store_val = true);
/** release an interpolated fem */
- inline void del_interpolated_fem(pfem pf) { dal::del_stored_object(pf); }
+ inline void del_interpolated_fem(const pfem &pf)
+ { dal::del_stored_object(pf); }
} /* end of namespace getfem. */
Modified: trunk/getfem/src/getfem/getfem_mat_elem.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_mat_elem.h?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_mat_elem.h (original)
+++ trunk/getfem/src/getfem/getfem_mat_elem.h Fri Nov 27 16:39:40 2015
@@ -132,9 +132,27 @@
pmat_elem_computation mat_elem(pmat_elem_type pm,
pintegration_method pi,
bgeot::pgeometric_trans pg,
- bool prefer_comp_on_real_element = false);
+ bool prefer_comp_on_real_element=false);
+ class mat_elem_pool {
+ std::set<pmat_elem_computation> mat_elems;
+ public :
+ pmat_elem_computation operator()(pmat_elem_type pm,
+ pintegration_method pi,
+ bgeot::pgeometric_trans pg,
+ bool prefer_comp_on_real_element=false) {
+ pmat_elem_computation p=mat_elem(pm, pi, pg,
prefer_comp_on_real_element);
+ mat_elems.insert(p);
+ return p;
+ }
+ void clear(void) {
+ for (auto it = mat_elems.begin(); it != mat_elems.end(); ++it)
+ del_stored_object(*it, true);
+ mat_elems.clear();
+ }
+ ~mat_elem_pool() { clear(); }
+ };
} /* end of namespace getfem. */
Modified: trunk/getfem/src/getfem/getfem_mat_elem_type.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem/getfem_mat_elem_type.h?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/src/getfem/getfem_mat_elem_type.h (original)
+++ trunk/getfem/src/getfem/getfem_mat_elem_type.h Fri Nov 27 16:39:40 2015
@@ -110,6 +110,7 @@
bgeot::multi_index sizes(size_type) const;
bgeot::multi_index &get_mi(void) { return mi; }
const bgeot::multi_index &get_mi(void) const { return mi; }
+ bool is_buil_on_the_fly(void);
};
/** @name functions on elementary matrix descriptions
Modified: trunk/getfem/src/getfem_assembling_tensors.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_assembling_tensors.cc?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/src/getfem_assembling_tensors.cc (original)
+++ trunk/getfem/src/getfem_assembling_tensors.cc Fri Nov 27 16:39:40 2015
@@ -510,6 +510,7 @@
class ATN_computed_tensor : public ATN_tensor {
mf_comp_vect mfcomp;
+ mat_elem_pool mep;
pmat_elem_computation pmec;
pmat_elem_type pme;
pintegration_method pim;
@@ -874,7 +875,7 @@
}
if (shape_updated_ || fem_changed || pgt != pgt2 || pim != pim2) {
pgt = pgt2; pim = pim2;
- pmec = mat_elem(pme, pim, pgt, has_inline_reduction);
+ pmec = mep(pme, pim, pgt, has_inline_reduction);
}
}
Modified: trunk/getfem/src/getfem_fem.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_fem.cc?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/src/getfem_fem.cc (original)
+++ trunk/getfem/src/getfem_fem.cc Fri Nov 27 16:39:40 2015
@@ -3478,10 +3478,8 @@
}
void fem_precomp_pool::clear(void) {
- for (std::set<pfem_precomp>::iterator it = precomps.begin();
- it != precomps.end(); ++it) {
+ for (auto it = precomps.begin(); it != precomps.end(); ++it)
del_stored_object(*it, true);
- }
precomps.clear();
}
Modified: trunk/getfem/src/getfem_level_set_contact.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_level_set_contact.cc?rev=5153&r1=5152&r2=5153&view=diff
==============================================================================
--- trunk/getfem/src/getfem_level_set_contact.cc (original)
+++ trunk/getfem/src/getfem_level_set_contact.cc Fri Nov 27 16:39:40 2015
@@ -340,16 +340,12 @@
const std::string& _mult_name,
size_type _GIVEN_CONTACT_REGION) :
-master_cb(underformed_mcb),
+ master_cb(underformed_mcb),
slave_cb(underformed_scb),
mult_name(_mult_name),
GIVEN_CONTACT_REGION(_GIVEN_CONTACT_REGION),
ACTIVE_CONTACT_REGION(getfem::mesh_region::free_region_id(master_cb.get_mesh())),
- pmim_contact(0),
- ifem_srf(0),
- pinterpolated_fem(0),
- pinterpolated_fem_U(0),
members_are_computed(false),
init_cont_detect_done(false)
@@ -524,9 +520,13 @@
//pinterpolated_fem for level set
pinterpolated_fem = std::make_shared<mesh_fem>(master_cb.get_mesh());
- if (ifem_srf.get()!=0) getfem::del_interpolated_fem(ifem_srf);
- ifem_srf=getfem::new_interpolated_fem(
- slave_cb.get_ls_mesh_fem(),*pmim_contact);
+
+ pinterpolated_fem_U = std::shared_ptr<mesh_fem>();
+
+ if (ifem_srf.get()) getfem::del_interpolated_fem(ifem_srf);
+
+ ifem_srf = getfem::new_interpolated_fem(slave_cb.get_ls_mesh_fem(),
+ *pmim_contact, 0,
dal::bit_vector(), false);
pinterpolated_fem->set_finite_element(
master_cb.get_mesh().region(ACTIVE_CONTACT_REGION).index(),ifem_srf);
pinterpolated_fem->set_qdim(1);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r5153 - in /trunk/getfem: contrib/level_set_contact/ src/ src/getfem/,
Yves . Renard <=