Free-Surfaces and partitioning

Discussion about coding and new developments

Free-Surfaces and partitioning

Postby jkrug » 11 Mar 2013, 13:03

Hi everybody !

I have a question concerning the combination of free-surfaces and parallel computing. I'm working on a 2D-setup similar to the hand-made image given as attached file. This mesh has 2 free-surfaces on 2 diferrent boundaries. When partitionning the system with the "-metis" command, ElmerGrid creates 2 partitions, and one of them does not have any contact with one of the two free-surfaces. When executing, I get the folowing error.

Code: Select all
WARNING:: FreeSurfaceSolver (xf): Partition      0has no free surface
WARNING:: FreeSurfaceSolver (xf): This is not good for load balance!
FreeSurfaceSolver (xf): No limitation of solution
FreeSurfaceSolver (xf): Using horizontal ALE Formulation
Fatal error in PMPI_Barrier: Invalid communicator, error stack:
PMPI_Barrier(947): MPI_Barrier(comm=0xffffffff) failed
PMPI_Barrier(805): Invalid communicator

Of course, I could stay with a single partition for now, but I will have to enter the parallel world soon, so this problem will appear again. I believe that this problem was already encountered by some users... Is there any solution to force each partition to have a contact with each boundary ? :?:


setup of the experiment
setup.png (161.57 KiB) Viewed 2954 times
Posts: 5
Joined: 19 Jan 2012, 17:40

Re: Free-Surfaces and partitioning

Postby tzwinger » 11 Mar 2013, 15:43

Hi Jean,
I do not really think that there is an issue, if one of the partition is not containing any nodes of the FreeSurfaceSolver. I made a short test of the test-example trunk/fem/tests/freesurf_ltd, which - admittedly - only has one free surface at the uppermost y-coordinate layer. I split in the middle of the y-coordinate,
Code: Select all
ElmerGrid 2 2 Mesh -partition 1 2 1

hence leaving the free surface completely to a single partition and ran the case with
Code: Select all
mpirun -np 2  ElmerSolver_mpi

encountering no problem whatsoever.

So, my feeling is that you issues might come from the coincidence of a single free surface node being subject to two solvers (this is just a feeling, though). Haven't the grounding line cases in 2D no also been run in parallel at your institute? - if they were parallel, I would say that the same issue should have occurred then.

Best wishes,

Site Admin
Posts: 79
Joined: 24 Aug 2009, 12:20

Re: Free-Surfaces and partitioning

Postby jkrug » 21 Mar 2013, 13:48

Ok, I am a bit late now, but thank you Thomas for the answer. My problem came from the line :
"Before Linsolve = "EliminateDirichlet" "EliminateDirichlet""
which was in my FreeSurfaceSolver. After commenting it, it works perfectly. (Still have the "warnings" shown above, but it works)

Thank you !
Posts: 5
Joined: 19 Jan 2012, 17:40

Re: Free-Surfaces and partitioning

Postby annier » 24 Oct 2013, 11:01

Dear Thomas,
at first i would like to thank you for creating a very illustrative test case "freesurf_ltd".
In your test case freesurf_ltd, could you please answer for how the variable function was assigned to explain the dependence of accumulation flux on coordinate x ?
Real MATC "1.0*(4.0 - sqrt((tx-5.0)*(tx-5.0)))/(31556926.0)"
i am quite a beginner and your answer would guide me in knowing the utility of the keyword accumulation flux.
thanking you in advance.
Posts: 1034
Joined: 27 Aug 2013, 13:51

Return to Software development

Who is online

Users browsing this forum: No registered users and 1 guest