Dear Yves, first thanks for your answers, once again. The "Reshape(M_fibres,3,3):Grad_Test_u" seems to work just fine.
Regarding the installation of the parallel version of Getfem, i found out what was wrong for the linking (it is necessary to add environment variables for homebrew and reinstall openmpi and its dependencies from source so that mpicc/mpic++ are not linked to the apple gcc/g++). Now, the compilation of a test case is possible but it fails at the execution at a very specific point. $ ./elastostatic elastostatic.param Trace 1 in elastostatic.cc, line 501: Running parallelized Getfem level 2 MESH_FILE=structured:GT="GT_PK(2,1)";SIZES=[1,1];NOISED=0 FEM_TYPE=FEM_PK(2,1) INTEGRATION=IM_TRIANGLE(6) temps creation maillage 0.00184703 Selecting Neumann and Dirichlet boundaries enumerate dof time 0.00225782 temps init 0.00539494 begining resol Number of dof for P: 600 Number of dof for u: 242 Total number of variables : Trace 2 in getfem_models.cc, line 4558: Mass term assembly for Dirichlet condition Trace 2 in getfem_models.cc, line 4602: Source term assembly for Dirichlet condition 904 Trace 2 in getfem_models.cc, line 6455: Linearized isotropic elasticity: generic matrix assembly Trace 2 in getfem_models.cc, line 3481: Linear incompressibility: generic matrix assembly Trace 2 in getfem_models.cc, line 3328: Generic source term assembly Trace 2 in getfem_models.cc, line 3335: Source term: generic source term assembly Trace 2 in getfem_models.cc, line 3342: Source term: generic matrix assembly Trace 2 in getfem_models.cc, line 3328: Generic source term assembly Trace 2 in getfem_models.cc, line 3335: Source term: generic source term assembly Trace 2 in getfem_models.cc, line 3342: Source term: generic matrix assembly Trace 2 in getfem_models.cc, line 4558: Mass term assembly for Dirichlet condition Trace 2 in getfem_models.cc, line 4602: Source term assembly for Dirichlet condition Assembly time 0.014689 dyld: lazy symbol binding failed: Symbol not found: _mpi_bcast_ Referenced from: /usr/local/opt/mumps/lib/libdmumps.dylib Expected in: flat namespace dyld: Symbol not found: _mpi_bcast_ Referenced from: /usr/local/opt/mumps/lib/libdmumps.dylib Expected in: flat namespace Trace/BPT trap: 5 Here are my configure options ./configure CXX=g++-7 CC=gcc-7 MPICXX=mpic++ MPICC=mpicc CXXFLAGS=-g --with-mumps-include-dir="-I/usr/local/Cellar/mumps/5.0.2_1/include/" CPPFLAGS='-I/usr/local/Cellar/open-mpi/2.1.1/include' LDFLAGS='-L/usr/local/Cellar/mumps/5.0.2_1/lib -L/usr/local/lib -L/usr/local/Cellar/open-mpi/2.1.1/lib' LIBS="-lmumps_common -lpord" --enable-paralevel=2 --enable-qhull --enable-python=no --enable-mumps --enable-boost --enable-shared --with-optimization=-O2 --with-pic --with-mumps="smumps dmumps cmumps zmumps" By any chance, did i forget a tag/option/something else necessary here? Thanks in advance for your help, David. 2017-05-19 20:25 GMT+02:00 Yves Renard <[email protected]>: > > 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 > [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 > > --------- > > >
