Dear Torquil Regarding your first question you can also check the implementation of the method get_averaged_sigmas in getfem_plasticity.cc.
Best regards Kostas On Thu, Nov 19, 2015 at 9:00 PM, Yves Renard <[email protected]> wrote: > > Dear Torquil, > > Concerning Q1, its depend on which interpolation you use. The > interpolation of the high generic assembly language perform a > MPI_SUM_VECTOR(result) > and divide the components for dof which are on multiple mpi regions so > that the result is the same on each rank. It is recommended to use > this interpolation instead of the old one for which the result remains > distributed, yes. There is no specific function. You can use > MPI_SUM_VECTOR(result) but you have to also sum a integer vector denoting > the nonzero components on each rank in order to divide the multiple > computed dofs if you want to use the same strategy than the one used in > the interpolation of the high generic assembly language. > > Q2 : No this is no supported by Getfem. Moreover, I do not see how it is > possible in 2D and 3D for the dof that are shared with several regions ... > > Best regards, > > Yves. > > > ----- Mail original ----- > De: "Torquil Macdonald Sørensen" <[email protected]> > À: "getfem-users" <[email protected]> > Envoyé: Jeudi 19 Novembre 2015 15:45:12 > Objet: [Getfem-users] GetFEM and MPI > > Hi! > > I'm using an MPI-enabled GetFEM, and I have two questions. I have read > > http://download.gna.org/getfem/html/homepage/userdoc/parallel.html > > Partitioning of the mesh seems to work fine on my system. > > Q1: I've been trying to use getfem::interpolation_function. In the > reference documentation it says: "with the parallized version > (GETFEM_PARA_LEVEL >= 2) the resulting vector V is distributed". So > after running getfem::interpolation_function, my vector v is different > on each mpi_rank, as expected. Each rank has zeroes in V for DOFs that > are not in the corresponding MPI mesh region. How do I then collect the > vector components into a vector that is common for all MPI ranks, or at > least gather them to rank 0? Is there a functon for this in GetFEM, or > must I manually loop through the MPI region and MPI_Send the vector > components to rank 0 and/or the other MPI ranks? This is OK, but I'm > just wondering if there is a built-in function in GetFEM already which I > haven't noticed. > > Q2: GetFEM doesn't seem to choose a DOF ordering so that a given MPI > rank will have a continuous range of DOF indices associated to it. I > would like to pass assembled matrices to PETSc, but PETSc relies on each > MPI rank being associated with a continuous range of row numbers. Is > there a simple way to achieve this automatically in GetFEM? > > Best regards and thanks, > Torquil Sørensen > > > _______________________________________________ > Getfem-users mailing list > [email protected] > https://mail.gna.org/listinfo/getfem-users > > _______________________________________________ > Getfem-users mailing list > [email protected] > https://mail.gna.org/listinfo/getfem-users >
_______________________________________________ Getfem-users mailing list [email protected] https://mail.gna.org/listinfo/getfem-users
