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
>
> ---------
>
>
>

Reply via email to