[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Getfem-commits] r4887 - in /trunk/getfem: interface/tests/matlab/ src/
From: |
Yves . Renard |
Subject: |
[Getfem-commits] r4887 - in /trunk/getfem: interface/tests/matlab/ src/ src/gmm/ |
Date: |
Tue, 17 Mar 2015 13:04:47 -0000 |
Author: renard
Date: Tue Mar 17 14:04:46 2015
New Revision: 4887
URL: http://svn.gna.org/viewcvs/getfem?rev=4887&view=rev
Log:
Still some fixes for _GLIBCXX_DEBUG model
Modified:
trunk/getfem/interface/tests/matlab/Makefile.am
trunk/getfem/src/getfem_fem_level_set.cc
trunk/getfem/src/getfem_mat_elem.cc
trunk/getfem/src/gmm/gmm_dense_matrix_functions.h
trunk/getfem/src/gmm/gmm_lapack_interface.h
Modified: trunk/getfem/interface/tests/matlab/Makefile.am
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/interface/tests/matlab/Makefile.am?rev=4887&r1=4886&r2=4887&view=diff
==============================================================================
--- trunk/getfem/interface/tests/matlab/Makefile.am (original)
+++ trunk/getfem/interface/tests/matlab/Makefile.am Tue Mar 17 14:04:46 2015
@@ -22,18 +22,22 @@
check_slices.m \
check_spmat.m \
check_workspace.m \
+ demo_elasticity.m \
demo_bilaplacian.m \
demo_laplacian.m \
demo_periodic_laplacian.m \
demo_laplacian1D.m \
demo_nonlinear_elasticity.m \
demo_nonlinear_elasticity_anim.m \
- demo_plasticity.m \
+ demo_plasticity.m
+ demo_dynamic_plasticity.m \
demo_continuation.m \
demo_crack.m \
demo_mortar.m \
demo_mesh_generation.m \
demo_topological_optimization.m \
+ demo_step_by_step.m \
+ demo_Nitsche_contact_by_hand.m \
demo_structural_optimization.m \
demo_refine.m \
demo_stokes_3D_tank.m \
Modified: trunk/getfem/src/getfem_fem_level_set.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_fem_level_set.cc?rev=4887&r1=4886&r2=4887&view=diff
==============================================================================
--- trunk/getfem/src/getfem_fem_level_set.cc (original)
+++ trunk/getfem/src/getfem_fem_level_set.cc Tue Mar 17 14:04:46 2015
@@ -97,7 +97,8 @@
size_type s = 0;
for (size_type i = 0; i < dofzones.size(); ++i)
if (dofzones[i]) s += dofzones[i]->size();
- ids.resize(dofzones.size());
+ ids.resize(0); ids.resize(dofzones.size()+1, false);
+ // cout << "dofzones.size() = " << dofzones.size() << endl;
std::string z(common_ls_zones);
for (dal::bv_visitor i(ls_index); !i.finished(); ++i) {
mesher_level_set eval = mls.get_level_set(i)->
@@ -111,6 +112,7 @@
if (!dofzones[d]) continue;
for (mesh_level_set::zoneset::const_iterator it = dofzones[d]->begin();
it != dofzones[d]->end(); ++it, ++cnt) {
+ // cout << "cnt = " << cnt << endl;
ids[cnt] = false;
for (mesh_level_set::zone::const_iterator it2 = (*it)->begin();
it2 != (*it)->end(); ++it2) {
Modified: trunk/getfem/src/getfem_mat_elem.cc
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/getfem_mat_elem.cc?rev=4887&r1=4886&r2=4887&view=diff
==============================================================================
--- trunk/getfem/src/getfem_mat_elem.cc (original)
+++ trunk/getfem/src/getfem_mat_elem.cc Tue Mar 17 14:04:46 2015
@@ -359,12 +359,15 @@
void expand_product_daxpy(base_tensor &t, scalar_type J, bool first)const {
size_type k;
base_tensor::iterator pt = t.begin();
- DEFINE_STATIC_THREAD_LOCAL(std::vector<base_tensor::const_iterator>,pts);
+ DEFINE_STATIC_THREAD_LOCAL(std::vector<base_tensor::const_iterator>,
pts);
DEFINE_STATIC_THREAD_LOCAL(std::vector<base_tensor::const_iterator>,es_beg);
DEFINE_STATIC_THREAD_LOCAL(std::vector<base_tensor::const_iterator>,es_end);
DEFINE_STATIC_THREAD_LOCAL(std::vector<scalar_type>,Vtab);
- pts.resize(pme->size()); es_beg.resize(pme->size());
- es_end.resize(pme->size()); Vtab.resize(pme->size());
+
+ pts.resize(0); pts.resize(pme->size()); // resize(0) necessary, do not
remove
+ es_beg.resize(0); es_beg.resize(pme->size());
+ es_end.resize(0); es_end.resize(pme->size());
+ Vtab.resize(pme->size());
size_type nm = 0;
if (first) memset(&(*t.begin()), 0, t.size()*sizeof(*t.begin()));
//std::fill(t.begin(), t.end(), 0.0);
for (k = 0, nm = 0; k < pme->size(); ++k) {
Modified: trunk/getfem/src/gmm/gmm_dense_matrix_functions.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/gmm/gmm_dense_matrix_functions.h?rev=4887&r1=4886&r2=4887&view=diff
==============================================================================
--- trunk/getfem/src/gmm/gmm_dense_matrix_functions.h (original)
+++ trunk/getfem/src/gmm/gmm_dense_matrix_functions.h Tue Mar 17 14:04:46 2015
@@ -1,7 +1,7 @@
/* -*- c++ -*- (enables emacs c++ mode) */
/*===========================================================================
- Copyright (C) 2014-2014 Konstantinos Poulios
+ Copyright (C) 2014-2015 Konstantinos Poulios
This file is a part of GETFEM++
@@ -93,7 +93,12 @@
"Matrix square root requires a square matrix");
gmm::resize(SQRTMA, gmm::mat_nrows(A), gmm::mat_ncols(A));
dense_matrix<std::complex<T> > S(A), Q(A), TMP(A);
+ #if defined(GMM_USES_LAPACK)
schur(TMP, S, Q);
+ #else
+ GMM_ASSERT1(false, "Please recompile with lapack and blas librairies "
+ "to access to use sqrtm matrix function.");
+ #endif
sqrtm_utri_inplace(S);
gmm::mult(Q, S, TMP);
gmm::mult(TMP, gmm::transposed(Q), SQRTMA);
@@ -251,7 +256,13 @@
GMM_ASSERT1(n == gmm::mat_ncols(A),
"Matrix logarithm is not defined for non-square matrices");
dense_matrix<T> S(A), Q(A);
+ #if defined(GMM_USES_LAPACK)
schur(A, S, Q); // A = Q * S * Q^T
+ #else
+ GMM_ASSERT1(false, "Please recompile with lapack and blas librairies "
+ "to access to use logm matrix function.");
+ #endif
+
bool convert_to_complex(false);
if (!is_complex(T()))
for (size_type i=0; i < n-1; ++i)
Modified: trunk/getfem/src/gmm/gmm_lapack_interface.h
URL:
http://svn.gna.org/viewcvs/getfem/trunk/getfem/src/gmm/gmm_lapack_interface.h?rev=4887&r1=4886&r2=4887&view=diff
==============================================================================
--- trunk/getfem/src/gmm/gmm_lapack_interface.h (original)
+++ trunk/getfem/src/gmm/gmm_lapack_interface.h Tue Mar 17 14:04:46 2015
@@ -348,7 +348,7 @@
int lwork = 8*n, sdim = 0, liwork = 1; \
std::vector<base_type> work(lwork), wr(n), wi(n); \
std::vector<int> iwork(liwork); \
- std::vector<int> bwork(0); \
+ std::vector<int> bwork(1); \
resize(S, n, n); copy(A, S); \
resize(Q, n, n); \
base_type rconde(0), rcondv(0); \
@@ -371,7 +371,7 @@
int lwork = 8*n, sdim = 0; \
std::vector<base_type::value_type> rwork(lwork); \
std::vector<base_type> work(lwork), w(n); \
- std::vector<int> bwork(0); \
+ std::vector<int> bwork(1); \
resize(S, n, n); copy(A, S); \
resize(Q, n, n); \
base_type rconde(0), rcondv(0); \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Getfem-commits] r4887 - in /trunk/getfem: interface/tests/matlab/ src/ src/gmm/,
Yves . Renard <=