Mortar BC + parallel solver

General discussion about Elmer
Post Reply
fjimenez
Posts: 63
Joined: 27 Sep 2021, 23:40
Antispam: Yes

Mortar BC + parallel solver

Post by fjimenez »

Hi all,

anim1.gif
anim1.gif (900.56 KiB) Viewed 454 times
This is a simple test (follow up to http://elmerfem.org/forum/viewtopic.php?t=7840) of a magnet moving next to a metal piece. For a coarse mesh I get reasonable results, for larger models I am trying to use mpi to solve the case. However, to make the case work I need to have both mortar surfaces on the same partition leading to an unbalanced load. For instance, if I use the following command:

Code: Select all

ElmerGrid 2 2 simple_test_symmetric -partdual -metiskway 4 -connect 3 9
on the attached mesh, I get:

Code: Select all

Saving mesh for 4 partitions
   part  elements   nodes      shared   bc elems
   1     14648      3720       1338     3846    
   2     9205       2328       595      1739    
   3     9465       2451       426      965     
   4     9154       2590       627      888     
As expected, load balancing gets worse as I increase the number of partitions because one partition always gets 14648 elements.

Questions: Is there any strategy I can use to get better balanced partitions? Is there no other alternative than having all mortar elements in the same partition?

Cheers,

Francisco
simple_test.tgz
(726.43 KiB) Downloaded 41 times
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Mortar BC + parallel solver

Post by raback »

Hi Francisco

Nice test case you have here!

ElmerGrid allows to subpartition the connected partition further. These are somewhat specialized in obscure. Also there are some strategies in the workings that could help. You could a flavour when you study the sif files of the "InternalPartitioning*" test cases.

The idea is that when the partitioning routines are part of ElmerSolver they can analyze the different conditions and create suitable hybrid partitionings and halos to enable the sufficient communication. For example, mortars should be divided to a few partitions, the partitioning should be stretched a few layers to bulk, halo should be created at least for the master side, and finally the rest of the mesh could be partitioned. This could almost work already. This is one problem that was in the back of the mind for me but just hasn't been tested.

-Peter
fjimenez
Posts: 63
Joined: 27 Sep 2021, 23:40
Antispam: Yes

Re: Mortar BC + parallel solver

Post by fjimenez »

Hi Peter,

Thanks for the reply. I took a look at the cases you mention and I must confess that it might take me a while before I can come up with a
workable solution. I will try it nonetheless. I'll report back so others can benefit from my solution if (big if) I find one.

Cheers,
Post Reply