Dear Getfem users,
I am trying to compile getfem 5.3 with --enable-openmp flag. During the build process i get the following error:
bgeot_geometric_trans.cc: In instantiation of ‘void bgeot::igeometric_trans<FUNC>::compute_grad_() const [with FUNC = bgeot::polynomial<double>]’:
bgeot_geometric_trans.cc:555:41: required from ‘void bgeot::igeometric_trans<FUNC>::poly_vector_grad(const base_node&, bgeot::base_matrix&) const [with FUNC = bgeot::polynomial<double>; bgeot::base_node = bgeot::small_vector<double>; bgeot::base_matrix = gmm::dense_matrix<double>]’
bgeot_geometric_trans.cc:1333:1: required from here
bgeot_geometric_trans.cc:507:12: error: use of deleted function ‘getfem::omp_guard::omp_guard(getfem::omp_guard&&)’
auto guard = getfem::omp_guard{};
^~~~~
In file included from getfem/dal_singleton.h:48:0,
from bgeot_geometric_trans.cc:23:
getfem/getfem_omp.h:72:9: note: ‘getfem::omp_guard::omp_guard(getfem::omp_guard&&)’ is implicitly deleted because the default definition would be ill-formed:
class omp_guard: public boost::lock_guard<boost::recursive_mutex>
^~~~~~~~~
I found a post on similar problem but there was no solution:
I want to run several fem simulations simultaneously, each in its own thread. My another question is do i need to include additional header files or some other openmp specific instructions in getfem or the usual openmp instructions will be sufficient?
Thank you for your help.
Best,
Prajjwal