CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Pre-Processing (
-   -   Threaded decomposepar (

sqek October 8, 2021 14:31

Threaded decomposepar
Hello all,
I've got a case that's large enough that running decomposePar takes quite some time (millions of cells, hundreds of processors), which is getting inconvenient.
Especially as I'd like to try different hierarchical settings to find something optimal (I'm using sprayfoam, so there's lagrangian fields that I'm trying to split nicely as well as the normal mesh)

Is there a way to run decomposePar itself run faster by running in parallel, or using multiple threads?

I'm thinking I could, for example, do the first level of decomposition, then run decomposePar with a different decomposePardict in a different thread in each processor directory
( so something like, in bash:

decomposePar -dict system/decomposeParDict1
for i in processor*; do
    pushd "$i"
    ln -s ../system .
    decomposePar -dict system/decomposeParDict2 &

But I'm not sure if it would then be possible to move the sub-processor directories around to make a single decomposed case.
Also that would stop me using the collated file handler, which I'd quite like to use as my case is unsteady and produces enough timestep files that, when multiplied by a large number of processor directories, reaches the limit on the supercomputer I have access to's filesystem quite quickly.

I'm using OpenFOAM-8

Grateful for any suggestions! (Or any tricks for decomposing faster that I've missed)

All times are GMT -4. The time now is 11:49.