Skip to content

cloud functionObjects not working with collated format

Functionality to add/problem to solve

In various bits of lagrangian functionObjects it uses a local check to decide if the file needs to be written. This means that processors that hold zero particles never get involved in the IO and this causes problems when using e.g. 'collated' file format.

Target audience

Lagrangian & parallel & collated file format

Proposal

Replace checks for if (c.size()) with a proper parallel decision:

    const bool haveParticles = c.size();
    if (c.time().writeTime() && returnReduce(haveParticles, orOp<bool>()))
    {
        Nu.write(haveParticles);
    }

What does success look like, and how can we measure that?

No hang

Attached a patch that makes the aachenBomb tutorial run through.

collated_writing.patch