View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003722 | OpenFOAM | Bug | public | 2021-08-29 16:29 | 2021-08-30 10:36 |
Reporter | peksa | Assigned To | henry | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU/Linux | OS | Ubuntu | OS Version | 15.04 |
Product Version | dev | ||||
Summary | 0003722: mapFieldsPar hangs due to issue at createTimes.H | ||||
Description | Dear developers, I have noticed that sometimes when executing the mapFieldsPar utility in parallel, it hangs before the actual interpolation operation starts. I have attached a simple test case which I have built with the OpenFOAM-dev (7b7fa5a9af93d3a8a733f3cbda72b3daf03cf3ce). The problem seems to arise at createTimes.H on line 9 where the runTimeSource Time object is created. I tested to change the definition such that instead of using the argument list, I build the Time object as "Time runTimeSource(Time::controlDictName, rootDirSource, caseDirSource);" which seemed to cure the issue (similar to the serial mapFields counter part). Hence, as a fix I propose to change the createTimes.H implementation similar to mapFields serial version. | ||||
Steps To Reproduce | Run the attached shell script in any directory. The script copies the cavity case, runs it and tries to map it in parallel onto another copied case. | ||||
Tags | No tags attached. | ||||
|
buildMapFieldsParDebugCase.sh (1,585 bytes)
#!/bin/bash cd ${0%/*} || exit 1 # Run from this directory # Source tutorial run functions . $WM_PROJECT_DIR/bin/tools/RunFunctions setCavityFine() { caseName=cavityFine blockMeshDict="$caseName/system/blockMeshDict" controlDict="$caseName/system/controlDict" sed s/"20 20 1"/"41 41 1"/g $blockMeshDict > temp.$$ mv temp.$$ $blockMeshDict #sed \ #-e s/"\(startTime[ \t]*\) 0;"/"\1 0.5;"/g \ #-e s/"\(endTime[ \t]*\) 0.5;"/"\1 0.7;"/g \ #-e s/"\(deltaT[ \t]*\) 0.005;"/"\1 0.0025;"/g \ #-e s/"\(writeControl[ \t]*\) timeStep;"/"\1 runTime;"/g \ #-e s/"\(writeInterval[ \t]*\) 20;"/"\1 0.1;"/g \ #$controlDict > temp.$$ #mv temp.$$ $controlDict } rm -rf cavity* cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity . cloneCase cavity cavityFine setCavityFine pushd cavityFine > /dev/null runApplication blockMesh #set parallel version cp $FOAM_ETC/caseDicts/preProcessing/decomposeParDict system/decomposeParDict runApplication decomposePar runParallel icoFoam popd > /dev/null pushd cavity > /dev/null runApplication blockMesh #FAILS by ganging the execution cp $FOAM_ETC/caseDicts/preProcessing/decomposeParDict system/decomposeParDict runApplication decomposePar runParallel mapFieldsPar ../cavityFine -sourceTime latestTime -consistent #WORKS #mapFieldsPar ../cavityFine -sourceTime 0.5 -consistent #WORKS #mapFields ../cavityFine -sourceTime 0.5 -consistent popd > /dev/null #------------------------------------------------------------------------------ |
|
Thanks for the detailed report, steps to reproduce and proposed fix. Resolved in OpenFOAM-9 by commit 458e9281e163a355f724ee82cc6a4ec89fb6a65d Resolved in OpenFOAM-dev by commit e6d7b7aa3f71cd28affe62d947091ce92f1b0025 |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-08-29 16:29 | peksa | New Issue | |
2021-08-29 16:29 | peksa | File Added: buildMapFieldsParDebugCase.sh | |
2021-08-30 10:36 | henry | Assigned To | => henry |
2021-08-30 10:36 | henry | Status | new => resolved |
2021-08-30 10:36 | henry | Resolution | open => fixed |
2021-08-30 10:36 | henry | Fixed in Version | => 9 |
2021-08-30 10:36 | henry | Note Added: 0012175 |