Issues related to usage of parallel::fullydistributed::triangulation

104 views
Skip to first unread message

Aditya Pratap Singh

unread,
Sep 30, 2021, 11:43:43 AM9/30/21
to dea...@googlegroups.com
Hi,

I am working with dea...@9.2.0 for one of my research projects and one of the applications includes reading from a large mesh file. So I was using the parallel::distributed::triangulation in my code which was working perfectly but now as the size of my mesh files has increased more, I have to switch to parallel::fullydistributed::triangulation but getting errors in compilation of the code itself! I have written a basic example using p:f:t and tried to compile it (attached to the mail) but I am getting an undefined reference error (as shown below) although the code compiles well for the p:d:t case!

error: undefined reference to 'void dealii::GridTools::collect_periodic_faces<dealii::parallel::fullydistributed::Triangulation<2, 2> >(dealii::parallel::fullydistributed::Triangulation<2, 2> const&, unsigned int, unsigned int, int, std::vector<dealii::GridTools::PeriodicFacePair<dealii::parallel::fullydistributed::Triangulation<2, 2>::cell_iterator>, std::allocator<dealii::GridTools::PeriodicFacePair<dealii::parallel::fullydistributed::Triangulation<2, 2>::cell_iterator> > >&, dealii::Tensor<1, dealii::parallel::fullydistributed::Triangulation<2, 2>::space_dimension, double> const&, dealii::FullMatrix<double> const&)'


Can you please help in what is probably going wrong from my side in implementation of p:f:t?

-- 
Regards,
Aditya Pratap Singh
Master's Student (FAU Erlangen-Nurnberg)


example.cpp

peterrum

unread,
Sep 30, 2021, 12:36:40 PM9/30/21
to deal.II User Group
Just replace `dealii::parallel::fullydistributed::Triangulation<dim>` by `dealii::Triangulation<dim>` within `Check_meshPeriodicity()` . I think that should work.

Aditya Pratap Singh

unread,
Oct 1, 2021, 6:14:56 AM10/1/21
to deal.II User Group
Hi,

This may help in solving the problem for this particular example but for my main code, as I said I want to work with p:f:t triangulation for efficiently working with large meshes. Is that we can't use p:f:t in member functions like collect_periodic_faces and have to use dealii::Triangulation only?  Also, as I mentioned earlier, if I use p:d:t triangulation otherwise, it doesn't throw any error, but p:f:t does which is quite a concern for me.

As I am a new user of dealii and still a learner, kindly correct me if I am interpreting the things wrongly.

Regards.

Aditya Pratap Singh

unread,
Oct 5, 2021, 6:13:08 AM10/5/21
to deal.II User Group
I have tried to make changes according to the link provided in past replies but still getting the undefined reference error ! I have attached the modified code herein for reference. If anyone can suggest something, it will be great help. 
Example1.cpp

Praveen C

unread,
Oct 5, 2021, 7:15:28 AM10/5/21
to Deal. II Googlegroup
In your check periodicity function you must replace p:f:t with Triangulation. 

Attached code has those changes and compiles.

best
praveen

step-1.cc

Aditya Pratap Singh

unread,
Oct 7, 2021, 10:38:17 AM10/7/21
to deal.II User Group

Thanks for the reply.

Sadly my issue still remain unsolved.

This may help in compiling this particular code but lead to some other errors when I tried to run a test example for my original code. May be there are some other changes with respect to p:f:T that has to be made.

Can anyone share possible relevant source where I can find the information about how p:f:t behaves different to p:d:t / dealii::triangulation when given as an input to the member functions (get_periodic_face as an example)?
Reply all
Reply to author
Forward
0 new messages