CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[openSmoke] OpenFoam LaminarSmoke parallelization error

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   September 4, 2014, 07:52
Default OpenFoam LaminarSmoke parallelization error
  #1
New Member
 
Join Date: Jun 2010
Posts: 14
Rep Power: 16
nashiong is on a distinguished road
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]
nashiong is offline   Reply With Quote

Old   September 5, 2014, 12:11
Default
  #2
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
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
At all I dont know why it is called lamianrsmoke.versionNo.mpi ? Are you using windows?
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   September 5, 2014, 15:13
Default
  #3
New Member
 
Join Date: Jun 2010
Posts: 14
Rep Power: 16
nashiong is on a distinguished road
Quote:
Originally Posted by Tobi View Post
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
At all I dont know why it is called lamianrsmoke.versionNo.mpi ? Are you using windows?
hi Tobi, thanks for your in-time reply. Sorry for this misleading information. LaminarSmoke.versionNo.mpi the versionNo means the stiff-ode solver I am using. so this file is a executable file functioning similarly as icoFoam, pisoFoam ..... I see, originally I think laminarSmoke is a final version of Opensmoke since they remove opensmoke on the website after releasing the laminarSmoke. Then Tobi, do you have any trouble when you try to run OpenSmoke in parallelization?
thanks
nashiong is offline   Reply With Quote

Old   September 5, 2014, 17:29
Default
  #4
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Quote:
Originally Posted by nashiong View Post
hi Tobi, thanks for your in-time reply. Sorry for this misleading information. LaminarSmoke.versionNo.mpi the versionNo means the stiff-ode solver I am using. so this file is a executable file functioning similarly as icoFoam, pisoFoam ..... I see, originally I think laminarSmoke is a final version of Opensmoke since they remove opensmoke on the website after releasing the laminarSmoke. Then Tobi, do you have any trouble when you try to run OpenSmoke in parallelization?
thanks
Hi,

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
Tobi is offline   Reply With Quote

Old   September 6, 2014, 03:33
Default
  #5
New Member
 
Join Date: Jun 2010
Posts: 14
Rep Power: 16
nashiong is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Hi,

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.
Thanks Tobi, I guess I need to dig into the code to figure out the problem then.
nashiong is offline   Reply With Quote

Old   September 6, 2014, 14:50
Default
  #6
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
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)
This usually is related to a bad memory access, because it tried to access a point in memory that doesn't exist or is not accessible to this application, which lead to the program to crash.

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
__________________
wyldckat is offline   Reply With Quote

Old   September 7, 2014, 06:49
Default
  #7
New Member
 
Join Date: Jun 2010
Posts: 14
Rep Power: 16
nashiong is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
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)
This usually is related to a bad memory access, because it tried to access a point in memory that doesn't exist or is not accessible to this application, which lead to the program to crash.

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
@wyldckat, thanks for your kind guidance and I update the post accordingly. Please let me know if you need any further information. If you want to have a try on this code a little bit, you can find all the detailed information in following website:
http://www.opensmoke.polimi.it/
Thanks for your attention and help.
nashiong is offline   Reply With Quote

Old   September 7, 2014, 11:53
Default
  #8
New Member
 
Pol Pap
Join Date: Nov 2013
Posts: 5
Rep Power: 13
zatralias is on a distinguished road
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;
        }
Setting Y[i].boundaryField()[inletOxidizerPatch][0] and Y[i].boundaryField()[inletOxidizerPatch][0] to a fixed value e.g. 1e-16, helps the execution proceed, but then the algorithm is wrong and the solution crashes.
I hope this helps
Thanks

Last edited by wyldckat; September 7, 2014 at 16:13. Reason: Added [CODE][/CODE]
zatralias is offline   Reply With Quote

Old   September 7, 2014, 16:17
Default
  #9
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
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
__________________
wyldckat is offline   Reply With Quote

Old   September 11, 2014, 12:45
Default
  #10
New Member
 
Join Date: Jun 2010
Posts: 14
Rep Power: 16
nashiong is on a distinguished road
@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
nashiong is offline   Reply With Quote

Old   February 17, 2015, 15:31
Default
  #11
Member
 
Yashar Afarin
Join Date: May 2010
Location: Toronto- Canada
Posts: 40
Rep Power: 16
yashar.afarin is on a distinguished road
Send a message via Skype™ to yashar.afarin
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,
yashar.afarin is offline   Reply With Quote

Reply

Tags
laminarsmoke parallel mpi


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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


All times are GMT -4. The time now is 17:15.