Skip to content

timeVaryingMappedFixedValue does not work with collated file format

Summary

timeVaryingMappedFixedValue will crash if the collated fileHandler is used. It attemts to search for relevant files in the uncollated processor# directories.

Steps to reproduce

Grab the pitzDailyExptInlet tutorial, switch the fileHandler to collated, decompose and run in parallel.

Relevant logs and/or images

Here is the log from pitzDailyExptInlet

/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v1912                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : _f3950763fe-20191219 OPENFOAM=1912
Arch   : "LSB;label=32;scalar=64"
Exec   : simpleFoam -parallel
Date   : Mar 17 2020
Time   : 11:07:42
Host   : DESKTOP-MPTRIAD
PID    : 2403
I/O    : uncollated
Case   : /home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet
nProcs : 4
Hosts  :
(
    (DESKTOP-MPTRIAD 4)
)
Pstream initialized with:
    floatTransfer      : 0
    nProcsSimpleSum    : 0
    commsType          : nonBlocking
    polling iterations : 0
trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Overriding OptimisationSwitches according to controlDict
    fileHandler (unregistered)
Overriding fileHandler to collated
I/O    : collated (maxThreadFileBufferSize 0)
         Threading not activated since maxThreadFileBufferSize = 0.
         Writing may run slowly for large file sizes.
Create mesh for time = 0


SIMPLE: convergence criteria
    field p      tolerance 0.01
    field U      tolerance 0.001
    field "(k|epsilon|omega)"    tolerance 0.001

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type RAS
Selecting RAS turbulence model kEpsilon
RAS
{
    RASModel        kEpsilon;
    turbulence      on;
    printCoeffs     on;
    Cmu             0.09;
    C1              1.44;
    C2              1.92;
    C3              0;
    sigmak          1;
    sigmaEps        1.3;
}

No MRF models present

No finite volume options present

Starting time loop

streamLine streamLines:
    Employing velocity field U
    automatic track length specified through number of sub cycles : 5

Time = 1

[1]
[1]
[1] --> FOAM FATAL IO ERROR:
[1] file "/home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor1/../constant/boundaryData/inlet/points" does not exist
[1]
[1] file: /home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor1/../constant/boundaryData/inlet/points at line 1.
[1]
[1]     From function Foam::IFstream& Foam::IFstream::operator()() const
[1]     in file db/IOstreams/Fstreams/IFstream.C at line 220.
[1]
FOAM parallel run exiting
[1]
[2]
[2]
[2] --> FOAM FATAL IO ERROR:
[2] file "/home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor2/../constant/boundaryData/inlet/points" does not exist
[2]
[2] file: /home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor2/../constant/boundaryData/inlet/points at line 1.
[2]
[2]     From function Foam::IFstream& Foam::IFstream::operator()() const
[2]     in file db/IOstreams/Fstreams/IFstream.C at line 220.
[2]
FOAM parallel run exiting
[2]
[3]
[3]
[3] --> FOAM FATAL IO ERROR:
[3] file "/home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor3/../constant/boundaryData/inlet/points" does not exist
[3]
[3] file: /home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor3/../constant/boundaryData/inlet/points at line 1.
[3]
[3]     From function Foam::IFstream& Foam::IFstream::operator()() const
[3]     in file db/IOstreams/Fstreams/IFstream.C at line 220.
[3]
FOAM parallel run exiting
[3]
[0]
[0]
[0] --> FOAM FATAL IO ERROR:
[0] file "/home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor0/../constant/boundaryData/inlet/points" does not exist
[0]
[0] file: /home/timofey/OpenFOAM/timofey-v1912/run/pitzDailyExptInlet/processor0/../constant/boundaryData/inlet/points at line 1.
[0]
[0]     From function Foam::IFstream& Foam::IFstream::operator()() const
[0]     in file db/IOstreams/Fstreams/IFstream.C at line 220.
[0]
FOAM parallel run exiting
[0]
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[DESKTOP-MPTRIAD:02401] 3 more processes have sent help message help-mpi-api.txt / mpi-abort
[DESKTOP-MPTRIAD:02401] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

Environment information

  • OpenFOAM version : v1912
  • Operating system : Windows 10 WLS: Ubuntu
  • Hardware info : Irrelevant
  • Compiler : gcc
Edited by Timofey Mukha