|
[Sponsors] |
![]() |
![]() |
#1 |
Member
Joaquín Neira
Join Date: Oct 2017
Posts: 38
Rep Power: 8 ![]() |
hello,
I've been trying to reconstruct form a parallel run but i keep getting this error Code:
Create time --> FOAM FATAL ERROR: No processor* directories found From function int main(int, char**) in file reconstructPar.C at line 217. FOAM exiting |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
|
Hi,
Let's read the error: Code:
No processor* directories found So, you can check if a) you are running reconstructPar in the folder, where you ran parallel case, b) your data is not automatically reconstructed. |
|
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Joaquín Neira
Join Date: Oct 2017
Posts: 38
Rep Power: 8 ![]() |
thank you for your answer!
I just copied a case that ran well in other folder, and ran ir wihtout any major modifications, so there should be no problem |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
|
OK. Maybe there SHOULD be no problem, BUT since you post question here, there IS a problem.
Could you at least post "ls" command output in the folder, where you run reconstructPar? |
|
![]() |
![]() |
![]() |
![]() |
#5 |
Member
Joaquín Neira
Join Date: Oct 2017
Posts: 38
Rep Power: 8 ![]() |
hi again
I've got these files/directories in the running directory Code:
0/ postProcessing/ processor3/ log.blockMesh log.postChannel 0.orig/ processor0/ system/ log.decomposePar log.reconstructPar 1e-05/ processor1/ Allclean* log.ls log.renumberMesh constant/ processor2/ Allrun* log.pimpleLPTFoam |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
|
Hi,
If we take a look at the code, which produces error: Code:
// Determine the processor count label nProcs = fileHandler().nProcs(args.path(), regionDirs[0]); if (!nProcs) { FatalErrorInFunction << "No processor* directories found" << exit(FatalError); } Code:
label nProcs = 0; while ( isDir ( dir /(word("processor") + name(nProcs)) /"constant" /local /polyMesh::meshSubDir ) ) { ++nProcs; } |
|
![]() |
![]() |
![]() |
![]() |
#7 |
Member
Joaquín Neira
Join Date: Oct 2017
Posts: 38
Rep Power: 8 ![]() |
You are right,
there is no "constant" in any processor* directory, but checking decomposePar log there are no errors. I think the problem comes when running renumberMesh, it creates a new "1e-5" folder with the renumbered polymesh and fields and then decomposePar doesn't create a constant subfolder into processor*. So I guess I have to move the renumbered polymesh to constant and after that run decomposePar, am I right? |
|
![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
|
You can just run renumberMesh with -overwrite flag, this way it writes renumbered mesh in constant folder.
|
|
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Canakkale Dardanelspor
Join Date: Aug 2012
Posts: 135
Rep Power: 14 ![]() |
For future reference:
The piece of code Alexeym kindly highlighted is different in OF 1706 version: Code:
// determine the processor count directly label nProcs = 0; while (isDir(args.path()/(word("processor") + name(nProcs)))) |
|
![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
|
@HakikiCanakkaleli
Just for the future reference: Code:
isDir(args.path()/(word("processor") + name(nProcs))) |
|
![]() |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Canakkale Dardanelspor
Join Date: Aug 2012
Posts: 135
Rep Power: 14 ![]() |
Hi,
I think some confusion arose, and likely I led it to happen. I meant with the above piece of code that the sub-subfolder "constant" and other n level deep folders were not looked up, based on your kindly sharing of the following code: Quote:
|
||
![]() |
![]() |
![]() |
![]() |
#12 |
Senior Member
|
Hi,
ESI OpenFOAM v1706 is based on Foundation OpenFOAM 4.x and in 4.x the code is the same (i.e. simple while loop with subfolder check). I have posted snippets from OpenFOAM 5.x. So, yes, there was certain confusion on my side. |
|
![]() |
![]() |
![]() |
![]() |
#13 |
Senior Member
Canakkale Dardanelspor
Join Date: Aug 2012
Posts: 135
Rep Power: 14 ![]() |
My apologies
![]() |
|
![]() |
![]() |
![]() |
![]() |
#14 |
Senior Member
Deep
Join Date: Oct 2017
Posts: 180
Rep Power: 8 ![]() |
This discussion was very useful. Thank you.
I am wondering however, since I already have this sort of situation due to renumberMesh without overwrite tag, if at all is it possible to visualize the results. I don't really wish to give up hours of simulation data. |
|
![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
|
Hi,
Since you can not visualize your results, you can not be sure if the results are meaningful. So in addition to possibility of losing time waiting for the answer, you still can lose all these hours of simulation data, as the data can be complete nonsense. Could you describe exact steps to reproduce your error? Small test case could be also useful. |
|
![]() |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Deep
Join Date: Oct 2017
Posts: 180
Rep Power: 8 ![]() |
Quote:
|
||
![]() |
![]() |
![]() |
![]() |
#17 |
New Member
mahdi
Join Date: Aug 2016
Posts: 1
Rep Power: 0 ![]() |
you can also manually make a constant directory in each processor directory and move polyMesh which is in "processor*/0 or 1".
|
|
![]() |
![]() |
![]() |
![]() |
#18 |
Member
Join Date: Nov 2013
Posts: 35
Rep Power: 12 ![]() |
Hello everyone,
since my topic is related to the one above, I wonder if someone knows why the following problem arises and how I can avoid it. I have to use the "-fileHandler collated" option for my cases due to a file number limitation. The OF Version is 5.0. So, these are my steps: 1. decomposePar -fileHandler collated #(for 1000 cores ... works perfectly) 2. mpirun -np 1000 renumberMesh -overwrite -parallel -fileHandler collated #(works) 3. mpirun -np 1000 pisoFoam -parallel -fileHandler collated #(no problem) 4. reconstructPar -fileHandler collated #(problem) At step 4 (reconstructPar), I get the following error: ================================================== ==== --> FOAM FATAL IO ERROR: Could not detect processor number from objectPath:"caseName/constant/polyMesh/pointZones" file: caseName/processors/constant/polyMesh/pointZones at line 15. From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::masterUncollatedFileOperatio n::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const in file global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C at line 1105. FOAM exiting ================================================== ===== If I rerun my steps above but do not use the renumbering in step 2 everything works - including the reconstruction. So, the problem comes from renumberMesh in combination with the -fileHandler collated. Any ideas how to get this working and to be able to use the benefit of renumberMesh and still be able to reconstruct the case? The file caseName/processors/constant/polyMesh/pointZones exists and looks OK ... cheers! |
|
![]() |
![]() |
![]() |
![]() |
#19 |
Member
Join Date: Nov 2013
Posts: 35
Rep Power: 12 ![]() |
Update:
I figured it out myself ... two minutes after I submitted my previous post =) For everybody who face the same problem: Delete or rename the following files that the renumberMesh utility writes and then the reconstructPar should work: - processors/constant/polyMesh/pointZones - processors/constant/polyMesh/faceZones - processors/constant/polyMesh/cellZones Cheers! |
|
![]() |
![]() |
![]() |
![]() |
#20 | |
Member
Join Date: Nov 2015
Posts: 38
Rep Power: 10 ![]() |
Quote:
Cheers! |
||
![]() |
![]() |
![]() |
Tags |
processor, reconstructpar |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[OpenFOAM.org] compile error in dynamicMesh and thermophysicalModels libraries | NickG | OpenFOAM Installation | 3 | December 30, 2019 00:21 |
[blockMesh] blockMesh with double grading. | spwater | OpenFOAM Meshing & Mesh Conversion | 92 | January 12, 2019 09:00 |
[swak4Foam] GroovyBC the dynamic cousin of funkySetFields that lives on the suburb of the mesh | gschaider | OpenFOAM Community Contributions | 300 | October 29, 2014 18:00 |
OpenFOAM without MPI | kokizzu | OpenFOAM Installation | 4 | May 26, 2014 09:17 |
DecomposePar links against liblamso0 with OpenMPI | jens_klostermann | OpenFOAM Bugs | 11 | June 28, 2007 17:51 |