Dear all,
I am trying to read from a mesh file and impose periodic boundary condition. This works out very well for small geometries in three spatial dimensions. However, if the read meshes tend to have more elements, the amount of time needed to create the mesh rises drastically. The time is spent within the routine triangulation.add_periodicity. Thus, I have created a minimal code example where cubes of side lengths 5, 20, and 50 are created. For each cube, the periodic face pairs are identified and collected. Afterwards, triangulation.add_periodicity is executed and the needed time is measured using the Timer class. The output of the attached code example looks as follows:
Starting Constructor with side length = 5
Periodic faces collected: Size of periodicity_vector = 75
Start triangulation.add_periodicity(periodicity_vector); after 0.018097 seconds
Done triangulation.add_periodicity(periodicity_vector); after 3.0626 seconds
Starting Constructor with side length = 20
Periodic faces collected: Size of periodicity_vector = 1200
Start triangulation.add_periodicity(periodicity_vector); after 2.10931 seconds
Done triangulation.add_periodicity(periodicity_vector); after 15749 seconds
Starting Constructor with side length = 50
Periodic faces collected: Size of periodicity_vector = 7500
Start triangulation.add_periodicity(periodicity_vector); after 298.734 seconds
I have stopped the simulation with side length 50 at this point. Any help and/or advice will be highly appreciated.
Thank you very much!
Best regards,
Andreas