Dear David,
First, please now use the list [email protected] . GetFEM has been
migrated to Savannah and the old list [email protected] is not to be used
anymore and will be deactivated soon.
Concerning your first question, I am not familiar with Mac OS, but it seems
that the mpi library (libmpi) has not been linked. Make sure that it is
installed and detected by the configure file.
Concerning the second question, you are right, there were an error in
src/getfem_generic_assembly.cc in line 9521. "pnode->init_vector_tensor(n);"
has to be replaced by "pnode->t.adjust_sizes(workspace.qdims(name));". I make a
commit of this change. Alternatively, you can use "Reshape(
M_fibres,3,3):Grad_Test_u", it should work as well.
Thank you for your bug report,
Yves.
Le 18/05/2017 à 13:13, David Danan a écrit :
Dear Getfem users,
i have several questions regarding completely different issues:
1) I am struggling to install the parallel version of Getfem (on OS X
Yosemite).
After the first steps without visible issues/errors (./configure, make, make
install), when i try to compile one of the test cases, i have the following
errors
Undefined symbols for architecture x86_64:
"_MPI_Allreduce", referenced from:
double getfem::asm_L2_norm_sqr<std::vector<double, std::allocator<double> >,
double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
double getfem::asm_H1_semi_norm_sqr<std::vector<double, std::allocator<double>
>, double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
"_MPI_Comm_rank", referenced from:
elastostatic_problem::compute_error(std::vector<double, std::allocator<double>
>&) in elastostatic.o
_main in elastostatic.o
"_MPI_Finalize", referenced from:
_main in elastostatic.o
"_MPI_Init", referenced from:
_main in elastostatic.o
"_MPI_Wtime", referenced from:
elastostatic_problem::init() in elastostatic.o
elastostatic_problem::solve(std::vector<double, std::allocator<double> >&) in
elastostatic.o
_main in elastostatic.o
"_ompi_mpi_comm_world", referenced from:
double getfem::asm_L2_norm_sqr<std::vector<double, std::allocator<double> >,
double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
double getfem::asm_H1_semi_norm_sqr<std::vector<double, std::allocator<double>
>, double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
elastostatic_problem::compute_error(std::vector<double, std::allocator<double>
>&) in elastostatic.o
_main in elastostatic.o
"_ompi_mpi_double", referenced from:
double getfem::asm_L2_norm_sqr<std::vector<double, std::allocator<double> >,
double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
double getfem::asm_H1_semi_norm_sqr<std::vector<double, std::allocator<double>
>, double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
"_ompi_mpi_op_sum", referenced from:
double getfem::asm_L2_norm_sqr<std::vector<double, std::allocator<double> >,
double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
double getfem::asm_H1_semi_norm_sqr<std::vector<double, std::allocator<double>
>, double>(getfem::mesh_im const&, getfem::mesh_fem const&, std::vector<double,
std::allocator<double> > const&, getfem::mesh_region const&, double) in
elastostatic.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [elastostatic] Error 1
Here is the options i used for configure
./configure CXX=g++-7 MPICXX=mpic++ CXXFLAGS=-g
--with-mumps-include-dir=/usr/local/Cellar/mumps/5.0.2_1/include/
--with-blas=/usr/local/opt/openblas/include
LDFLAGS='-L/usr/local/Cellar/mumps/5.0.2_1/lib -L/usr/local/lib
-L/usr/local/opt/openblas/lib -L/usr/local/Cellar/open-mpi/2.1.1/lib/'
--enable-paralevel=2 --enable-qhull --enable-python=no --enable-mumps
--enable-boost --enable-shared --with-optimization=-O2 --with-pic
If it is not enough, please find enclosed the config.log.
2) I wanted to consider a matrix in a problem, therefore i used
base_matrix M_fibres(3,3);
//Definition of the matrix ommited here
model.add_initialized_matrix_data("M_fibres", M_fibres);
However, when i added the associated brick in the model:
getfem::add_linear_generic_assembly_brick(model, mim,"M_fibres:Grad_Test_u");
it generated the following error
M_fibres:Grad_Test_u
--------^
Frobenius product of expressions of different sizes (9,1 != 3,3).
terminate called after throwing an instance of 'gmm::gmm_error'
what(): Error in getfem_generic_assembly.cc, line 7164 :
Error in assembly string
Abort trap: 6
It seems M_fibres is seen as a 9x1 vector instead of a 3x3 matrix, if i am not
mistaken. Is there another way to do it?
Thanks in advance for your help,
David.
_______________________________________________
Getfem-users mailing list [email protected]
https://mail.gna.org/listinfo/getfem-users
--
Yves Renard ( [email protected] ) tel : (33) 04.72.43.87.08
Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE http://math.univ-lyon1.fr/~renard ---------