CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

customized reactingFoam: DecomposePar fatal error

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By PanPeter

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 31, 2015, 16:49
Default customized reactingFoam: DecomposePar fatal error
  #1
New Member
 
Jacopo
Join Date: Mar 2013
Location: Italy
Posts: 18
Rep Power: 13
yaqb is on a distinguished road
Hi All!

I have a small issue witch I cannot understand - I am trying to decompose my case based on my own solver and I receive the fatal error massage

request for volScalarField T from objectRegistry region0 failed
available objects of type volScalarField are

6
(
CO2
k
IDefault
C4H6
alphaSgs
H2O
)

There must be an issue with IDefault BC, when I remove this file the decomposition takes place but without this valuable component responsible for radiative heat combustion.
The simulation runs fine without decomposition.
Do you have ideas, hints or anything what can help me to understand what does the decomposition solver wants from me?
yaqb is offline   Reply With Quote

Old   August 10, 2015, 10:26
Default
  #2
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
Quick questions:
  1. When you remove what specific file?
  2. Can you please provide more details on what did you implement that requires a T file that does not yet exist?
Please keep in mind that we cannot see what you're seeing, so I'm not even sure what else to ask you to provide! Other than giving us a good description of what exactly you did different from the standard OpenFOAM solvers and tutorial cases.
wyldckat is offline   Reply With Quote

Old   September 7, 2015, 12:25
Default
  #3
New Member
 
Jacopo
Join Date: Mar 2013
Location: Italy
Posts: 18
Rep Power: 13
yaqb is on a distinguished road
Hello wyldcat!

Thank you for you answer.
I still have not figured out what is the problem. I have made some changes in reactingFoam solver, implementing solid-fluid interaction but and it works.
The problem comes when I try to run it in parallel - than when i run decomposePar it pop up an error.
I figured out when I delete the IDefault file I can decompose the case but than I cannot run it- this is a crucial part of the solver.

I think the problem is not in the changes I made in the solver, because I have not yet even start to initiate it - rather I mix something with the BC.

Here is the IDefault file

boundaryField
{

".*"
{
type greyDiffusiveRadiation;
T T;
emissivityMode lookup;
emissivity uniform 1.0;
value uniform 0;
}
"(region0_to.*)"
{
type greyDiffusiveRadiation;
T T;
emissivityMode solidThermo;
value uniform 0;
}
}

// ************************************************** *********************** //
yaqb is offline   Reply With Quote

Old   September 7, 2015, 19:25
Default
  #4
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
Hi yaqb,

Unfortunately I can't figure out what the exact problem is, because I don't know how to reproduce the same error you're getting. Please provide more details:
  1. Which OpenFOAM or foam-extend version are you using?
  2. What tutorial case can be used for replicating the same error you're getting?
  3. What is the exact error message you're getting?
  4. What were the changes you made to reactingFoam?
Best regards,Bruno
__________________
wyldckat is offline   Reply With Quote

Old   September 8, 2015, 10:21
Default
  #5
New Member
 
Jacopo
Join Date: Mar 2013
Location: Italy
Posts: 18
Rep Power: 13
yaqb is on a distinguished road
Well I am using OpenFoam 2.1.1. The only thing I had changed is the pyrolysis model which I added.It is done in a simillar way to fireFoam solver. The core part stayed the same.
I came to idea that there is a problem within IDefault BC, since it is refering to Temperature field. Here is the full error message.

--> FOAM FATAL ERROR:

request for volScalarField T from objectRegistry region0 failed
available objects of type volScalarField are

7
(
CO2
k
IDefault
C4H6
mut
alphaSgs
H2O
)


From function objectRegistry::lookupObject<Type>(const word&) const
in file /home/jakub/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 131.

FOAM aborting

I think I am missing just some small detail, or do not fully understand how does the decomposition is performed.
yaqb is offline   Reply With Quote

Old   September 12, 2015, 17:40
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
Hi yaqb,

OK, this is very strange... are you able to run the tutorial "combustion/fireFoam/les/smallPoolFire3D"? Because that tutorial is configured to run in parallel and if it works, then something might be broken in your case.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   September 13, 2015, 05:30
Default
  #7
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,938
Rep Power: 39
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
Hi,

My $0.02, since temperature field is created in thermo class (which in turn is created by reactingFoam in createField.H, there is really no T volScalarField during parallel decomposition of the case, yet decomposePar tries to evaluate boundary conditions.

To avoid the error, you can first call foundObject (http://foam.sourceforge.net/docs/cpp...85a5590fbebd84) method to check if volume field is available. If it is found, you call lookupObject and proceed as usual, if it is not found, well, it is up to you to decide what to do in this case.
alexeym is offline   Reply With Quote

Old   September 5, 2016, 07:37
Default
  #8
New Member
 
lawching
Join Date: May 2016
Posts: 1
Rep Power: 0
luoqinggd is on a distinguished road
Quote:
Originally Posted by alexeym View Post
Hi,

My $0.02, since temperature field is created in thermo class (which in turn is created by reactingFoam in createField.H, there is really no T volScalarField during parallel decomposition of the case, yet decomposePar tries to evaluate boundary conditions.

To avoid the error, you can first call foundObject (http://foam.sourceforge.net/docs/cpp...85a5590fbebd84) method to check if volume field is available. If it is found, you call lookupObject and proceed as usual, if it is not found, well, it is up to you to decide what to do in this case.
Hi Alexey,

Thanks very much for your solution.

However, I still don't know how to call foundObject to avoid this problem. Can you finger out more?

not only decomposePar tries to evaluate boundary conditions, but also paraFoam. So I can run my case in single processor, but cannot in multi processor.
After I got results from single processor running, my paraFoam cannot read part of the field results.

Best regards,

Mark Luo
luoqinggd is offline   Reply With Quote

Old   April 18, 2017, 05:46
Default
  #9
Member
 
Fynn
Join Date: Feb 2016
Posts: 48
Rep Power: 10
PanPeter is on a distinguished road
Hi,

This thread is a little old but I might still explain a work around to a similar case I had:
For a modified solver with a modified boundary condition, both decomposePar and paraFoam would crash with a similar error message.

Is it right that you added T as a new variable to be computed at the interface?
Both decomposePar and paraFoam execute the boundary condition, which demand a field for T and look for it in the objectRegistry. If it isn't defined there because T is added to the objectRegistry by the solver (and not by the boundary condition), your error is triggered.

To solve this, I looked into the boundary implementation and found the respective constructors called by decomposePar and paraFoam. If these constructors access the objectRegistry and demand a field for T, I first check if T is defined in the objectRegistry (what alexeym suggested). If that was not the case, I was simply not executing the initialization of the boundary and got away with it

Hope that helps,
Fynn
randolph likes this.
PanPeter is offline   Reply With Quote

Reply


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
[OpenFOAM] an error in Calculator's equation immortality ParaView 12 June 29, 2021 01:10
Problem running perturbUCyl sen.1986 OpenFOAM 17 June 4, 2019 06:56
error compiling modified applications yvyan OpenFOAM Programming & Development 21 March 1, 2016 05:53
[OpenFOAM.org] Compile OF 2.3 on Mac OS X .... the patch gschaider OpenFOAM Installation 225 August 25, 2015 20:43
Errors in UDF shashank312 Fluent UDF and Scheme Programming 6 May 30, 2013 21:30


All times are GMT -4. The time now is 08:47.