Free-Surfaces and partitioning

Discussion about coding and new developments
Post Reply
jkrug
Posts: 5
Joined: 19 Jan 2012, 17:40
Antispam: Yes

Free-Surfaces and partitioning

Post by jkrug »

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
APPLICATION TERMINATED WITH THE EXIT STRING: Hangup (signal 1)
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 ? :?:

Thanks,

Jean
Attachments
setup of the experiment
setup of the experiment
setup.png (161.57 KiB) Viewed 6690 times
tzwinger
Site Admin
Posts: 99
Joined: 24 Aug 2009, 12:20
Antispam: Yes

Re: Free-Surfaces and partitioning

Post by tzwinger »

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,

Thomas
jkrug
Posts: 5
Joined: 19 Jan 2012, 17:40
Antispam: Yes

Re: Free-Surfaces and partitioning

Post by jkrug »

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 !
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Free-Surfaces and partitioning

Post by annier »

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.
yours
annier
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Post Reply