Page 1 of 1

Free-Surfaces and partitioning

Posted: 11 Mar 2013, 13:03
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

Re: Free-Surfaces and partitioning

Posted: 11 Mar 2013, 15:43
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

Re: Free-Surfaces and partitioning

Posted: 21 Mar 2013, 13:48
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 !

Re: Free-Surfaces and partitioning

Posted: 24 Oct 2013, 11:01
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