CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Community Contributions (https://www.cfd-online.com/Forums/openfoam-community-contributions/)
-   -   [ImmersedBoundary] Immersed Boundary foam-ext 3.2 Parallelization for higher amount of MPI tasks (https://www.cfd-online.com/Forums/openfoam-community-contributions/178562-immersed-boundary-foam-ext-3-2-parallelization-higher-amount-mpi-tasks.html)

hxaxtma October 11, 2016 03:50

Immersed Boundary foam-ext 3.2 Parallelization for higher amount of MPI tasks
 
Hi guys,

I observed a little bug regarding the IB Method of Jasak and its parallelization.
Meanwhile the immersed boundary region is not decomposed over different cores, the IB implementation runs in parallel. Nevertheless, if the Immersed Boundary regionis decomposed over different cores, an error occurs.

Code:

Create time

Create mesh for time = 0

Create immersed boundary cell mask
Create immersed boundary face mask
Found immersed boundary patch 0 named ibCylinder
[3] Number of IB cells: 0
[6] Number of IB cells: 0
[7] Number of IB cells: 0
External flow
[2] Number of IB cells: 0
[5] Number of IB cells: 0
[4] Number of IB cells: 0
[0] Number of IB cells: 63666
[1] Number of IB cells: 81786
Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi


Starting time loop

Time = 5e-05

Courant Number mean: 0.00304818143 max: 1.81649312 velocity magnitude: 2.35556273
*** Error in `icoIbFoam': free(): invalid next size (normal): 0x000000002468a800 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7410f)[0x2b80e90ea10f]
/lib64/libc.so.6(+0x7996e)[0x2b80e90ef96e]
/lib64/libc.so.6(+0x7a647)[0x2b80e90f0647]
/home/iagaxtma/opt/foam/foam-extend-3.2/lib/linux64GccDPOpt/libfiniteVolume.so(_ZN4Foam4ListINS_4PairIiEEE7setSizeEi+0x42)[0x2b80e59ded72]
/home/iagaxtma/opt/foam/foam-extend-3.2/lib/linux64GccDPOpt/libimmersedBoundary.so(_ZNK4Foam23immersedBoundaryFvPatch15makeIbCellCellsEv+0x1c38)[0x2b80e72526b8]
/home/iagaxtma/opt/foam/foam-extend-3.2/lib/linux64GccDPOpt/libimmersedBoundary.so(_ZNK4Foam23immersedBoundaryFvPatch11ibCellCellsEv+0x1d)[0x2b80e7252a0d]

At the moment I do overcome this by creating a zone and preserving this faceZone on one processor, with this workaround, the IB method also runs for higher rates of mpi tasks in parallel,

Nevertheless I would like to fix this bug, the problem is, I do not really know where to start. I had a deeper look in the Immersed Boundary Implementation files, but somehow I am missing the important part.

Any hint would be appreciated and maybe Prof Jasak has an advice.

Thanks

courant_numero_uno October 12, 2019 09:34

Hello hxaxtma, I know this post is old now, but I am running into the same issue you suggested (crashing when the immersed boundary crosses between processors).


Could you please let me know how you were able to create a faceZone to get around this problem? Thanks!


All times are GMT -4. The time now is 21:13.