|
[Sponsors] |
[openSmoke] OpenFoam LaminarSmoke parallelization error |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 4, 2014, 07:52 |
OpenFoam LaminarSmoke parallelization error
|
#1 |
New Member
Join Date: Jun 2010
Posts: 14
Rep Power: 16 |
Dear all:
the title should be 'OpenFoam laminarSmoke H2 coflow jet flame parallelization error' more precisely. the software version is:OpenFoam version: 2.2.2, g++ version: 4.6.3, laminarSmoke 0.15 Sketch of the geometry https://www.dropbox.com/s/0zbfgkjv8s...omain.png?dl=0 https://www.dropbox.com/s/fi9jnw0x2n6k9qe/mesh.png?dl=0 checkMesh gives the following information. http://www.dropbox.com/s/8bum9zzbmej...kMesh.log?dl=0 First case: no parallelization, the laminarSmoke default example, more operational details could be referred to following website: http://www.opensmoke.polimi.it/compo...116-tutorial-1 I follow the exact the same procedures in this tutorial and the detailed information is shown in the following: fvScheme: https://www.dropbox.com/s/jh62b9t4c2...fvSchemes?dl=0 fvSolution: https://www.dropbox.com/s/ihd6m7cp0z...vSolution?dl=0 then run the case by typing: laminarSmoke_0.15.dvode > run_series.log>&1 note that in laminarSmoke, different ODE solver could be combined, the reason why the name is laminarSmoke_0.15.dvode is because I use dvode ODE solver to compile the laminarSmoke_dvode.C Then the code runs successfully and below is all the information recorded in run_series.log https://www.dropbox.com/s/toldtc8d95...eries.log?dl=0 The computed flame temperature profile is shown as: https://www.dropbox.com/s/56qg4181x8...flame.png?dl=0 It proves that we could run the case successfully with single core configuration. Multi-core behavior. To validate the parallel environment is properly configured on my workstation, I run the interfoam dam break case, as well as reactingFoam counterflame case with 4 cores successfully. Then I proceed to laminarSmoke parallel computing. 1. use decomposeParDict in the ./system/, the file is attached as: https://www.dropbox.com/s/hhdsjihstq...seParDict?dl=0 2. run decomposerPar > decomp.log, and the log file is attached as following: https://www.dropbox.com/s/x74j0c84dc...ecomp.log?dl=0 3. then four folders from processsor0 to processor 3 appears and I check the mesh by paraFoam individually and they are all fine. 4. then type mpirun –np 4 laminarSmoke_0.15.dvode -parallel > run_parall.log 2>&1 5. the error occurs and the detailed error information is shown in the run_parall.log https://www.dropbox.com/s/usok5vox9r...arall.log?dl=0 6. LaminarSmoke also provide a mpi version which is compiled with the laminarsmoke_dvode.mpi.C file with the same content as laminarSmoke_dvode.C except changing one line content from # define COFLOW_MPI 0 to # define COFLOW_MPI 1 I found that COFLOW_MPI name only appears in this C file and not anywhere else thus I suspect this variable is only an index not used. 7. Just in case, if repeat the above process using laminarSmoke_0.15.dvode.mpi, the same error occurs and the content is attached. https://www.dropbox.com/s/g1lwy09bln...n_mpi.log?dl=0 Last edited by nashiong; September 7, 2014 at 06:56. Reason: Added [CODE][/CODE] |
|
September 5, 2014, 12:11 |
|
#2 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Dear nashiong,
I think laminarSmoke is not the same solver as the libOpenSmoke toolbox. Laminar smoke is - as far as I know - for laminar flow fields like a combustion of a candle. I never had a look into that solver because I never need a laminar solver. I only can see a wrong syntax in your command line: Code:
wrong mpirun -np -4 laminarsmoke.versionNo.mpi -parallel correct mpirun -np 4 program -parallel
__________________
Keep foaming, Tobias Holzmann |
|
September 5, 2014, 15:13 |
|
#3 | |
New Member
Join Date: Jun 2010
Posts: 14
Rep Power: 16 |
Quote:
thanks |
||
September 5, 2014, 17:29 |
|
#4 | |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Quote:
I had some email traffic with Alberto Cuoci and it seems that they are releasing the solver but I dont know when. I thought this will happen 2 years ago but as you know science is sometimes tricky (: Well I had never a problem using this tool with parallel mode. Everything is working fine.
__________________
Keep foaming, Tobias Holzmann |
||
September 6, 2014, 03:33 |
|
#5 | |
New Member
Join Date: Jun 2010
Posts: 14
Rep Power: 16 |
Quote:
|
||
September 6, 2014, 14:50 |
|
#6 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings to all!
@nashiong: I've gotten the PM you sent me and I've taken a few quick reads on this thread, and unfortunately there isn't enough information... at least not without me having to download and try things myself. From the lengthy error message you posted, the following indicates a segmentation fault: Code:
Foam::sigSegv::sigHandler(int) If you can provide more specific details, so that I don't have to try running this solver myself, it should be possible to diagnose what the problem is. And by more details, I'm referring to the fact that we are not able to see what exact steps you've taken, which case you're using and so on For more ideas on what referring to, please read this thread: http://www.cfd-online.com/Forums/ope...-get-help.html Best regards, Bruno
__________________
|
|
September 7, 2014, 06:49 |
|
#7 | |
New Member
Join Date: Jun 2010
Posts: 14
Rep Power: 16 |
Quote:
http://www.opensmoke.polimi.it/ Thanks for your attention and help. |
||
September 7, 2014, 11:53 |
|
#8 |
New Member
Pol Pap
Join Date: Nov 2013
Posts: 5
Rep Power: 13 |
Hello to all,
I am trying to run laminarSmoke with OpenFOAM version 2.1.1 and I am having the same problem as nashiong. I believe a first problem is encountered when executing createFields.H and specifically in the lines: Code:
label inletFuelPatch = mesh.boundaryMesh().findPatchID("inletfuel"); label inletOxidizerPatch = mesh.boundaryMesh().findPatchID("inletair"); Info << "Fuel stream (mass fractions): " << endl; for (label i=0; i<Y.size(); i++) { omegaFuel[i+1] = Y[i].boundaryField()[inletFuelPatch][0]; if (omegaFuel[i+1]>1e-16) Info << Y[i].name() << " " << omegaFuel[i+1] << endl; } Info << "Oxidizer stream (mass fractions): " << endl; for (label i=0; i<Y.size(); i++) { omegaOxidizer[i+1] = Y[i].boundaryField()[inletOxidizerPatch][0]; if (omegaOxidizer[i+1]>1e-16) Info << Y[i].name() << " " << omegaOxidizer[i+1] << endl; } I hope this helps Thanks Last edited by wyldckat; September 7, 2014 at 16:13. Reason: Added [CODE][/CODE] |
|
September 7, 2014, 16:17 |
|
#9 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings to all!
If zatralias' finding is correct, then it's very possible that this solver is not ready for usage in parallel. My advice is to try and contact the original authors for getting a clearer understanding on whether these solvers are already prepared or not for running in parallel. Possibly also read the documents, manuals and papers they provide, because there might be detailed information regarding whether it's possible to use or not in parallel. Beyond this, I'll try to have a better look into this next weekend. Best regards, Bruno
__________________
|
|
September 11, 2014, 12:45 |
|
#10 |
New Member
Join Date: Jun 2010
Posts: 14
Rep Power: 16 |
@wyldckat, thanks for your kindly suggestions. I've tried the points you mentioned but as far as now, this code is poorly supported in terms of documentation. I guess I have to understand all the structure of the code before figuring out why. Thanks for your guidance
|
|
February 17, 2015, 15:31 |
|
#11 |
Member
|
Hello,
I am receiving the same error "Foam::sigSegv::singHandler(int)" by running the code in parallel. I have sent several emails to them but so far I have not received any response from them. It is strange that in the paper that was published about this code (Combustion and Flame 160, issue 5, 870-886), it is mentioned about the parallel performance of the code but the code is not able to run in parallel. I am wondering, have you had any success to run this code in parallel? Regards, |
|
Tags |
laminarsmoke parallel mpi |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[blockMesh] blockMesh with double grading. | spwater | OpenFOAM Meshing & Mesh Conversion | 92 | January 12, 2019 10:00 |
OpenFOAM v3.0+ ?? | SBusch | OpenFOAM | 22 | December 26, 2016 15:24 |
Mesquite - Adaptive mesh refinement / coarsening? | philippose | OpenFOAM Running, Solving & CFD | 94 | January 27, 2016 10:40 |
[swak4Foam] groovyBC: problems compiling: "flex: not found" and "undefined reference to ..." | sega | OpenFOAM Community Contributions | 12 | February 17, 2010 10:30 |
Problem with compile the setParabolicInlet | ivanyao | OpenFOAM Running, Solving & CFD | 6 | September 5, 2008 21:50 |