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

Help - absorption for solid in chtMultiRegion and non-participate gas in fvDOM

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 14, 2022, 06:38
Default Help - absorption for solid in chtMultiRegion and non-participate gas in fvDOM
  #1
New Member
 
Join Date: Sep 2022
Posts: 19
Rep Power: 4
hogglife is on a distinguished road
Hi all,

I want to run a derived case from the hotRadiationRoomFvDOM in the tutorial of openFoam v2206, in which the heater is modelled with a solid. I want to let the gas is non-participate about radiation, i.e. the solid heater transfer heat with the wall by radiation while the gas transfer heat with the solid heater and the wall by convection. In addition, I set the T of the wall to 1000 K, i.e. higher than the solid heater.

As hotRadiationRoomFvDOM, I use chtMultiRegionSimpleFoam + radiation. The radiation model is FvDOM for gas.

I have two questions:

1. In order to let the gas non-participate about radiation, I want to set absorption and emissivity of gas to a very low value. I can run the case successfully with absorption = emissivity = 0.1 for gas. But with absorption = emissivity = 0.05 or 0.01 for gas openFOAM fails to run after 3 time steps and said Negative Initial Temperature for the gas.

2. I want to change the absorption of the solid, but with absorption = 1 or = 0 in constant/SOLID/radiationProperties, I got the same results. solidAbsorption has been set for wallAbsorptionEmissionModel in constant/FLUID/boundaryRadiationProperties.

Could anyone give light on my questions?

I use openFOAM v2206.

Thank you in advance!
hogglife is offline   Reply With Quote

Old   December 14, 2022, 19:53
Default
  #2
Senior Member
 
Peter Hess
Join Date: Apr 2011
Location: Austria
Posts: 250
Rep Power: 17
peterhess is on a distinguished road
Hello!

I am not sure that I understand the problem you are facing well.

I Think you want to shut down the radiation in one region.

If yes, just put:

radiationModel Banana;

In the region in question.

You will get an error, that no:

radiationModel Banana;

model available and the models available are:

P1
fvDOM
none
opaqueSolid
viewFactor

Just use none as a model and try it...

Like that you turn off the radiation in the region in question.

If still not working, just make please a small sketch of the Problem or upload the case.

Regards

Peter
peterhess is offline   Reply With Quote

Old   December 15, 2022, 04:20
Default
  #3
New Member
 
Join Date: Sep 2022
Posts: 19
Rep Power: 4
hogglife is on a distinguished road
Hi Peter,

Thank you for your response! Sorry for my vague questions written in hurry.

I want to model a case like the picture attached as a simplified case of the object I finally want to simulate. I hope to model the heat transfer by convection between the gas and the solid AS WELL AS the heat transfer by radiation between the wall and the solid. The gas is nitrogen, and thus non-participating in radiation. I have tried the viewfactor method but faceAgglomerate reported error for the geometry I finally want to model. So I consider to use fvDOM for gas and set the absorption and emissivity of gas to a very small value so that the gas is nearly non-participating in radiation.

I have tried the method you mentioned roughly, i.e. set none for gas's radiationModel. An error of "failed lookup of qr (objectRegistry FLUID)" was emitted.

[code]
failed lookup of qr (objectRegistry FLUID)
available objects of type volScalarField:

17
(
thermo:mu
thermosi
...
[code]

Does it mean I should put a "qr" file under 0/FLUID/ ? I can try it further.

But actually a point I am not sure is: if setting none for radiationModel of gas, can the heat transfer by radiation between the solid heater and the wall be modelled? (keep keep radiation is on for gas?)

--------------------------

Update: About the 1st question in my first post, with absorption = emissivity = 0.05 for gas, after changing the solverFreq for fvDOM in constant/FLUID/radiationProperties from 10 to 2, the error of Negative Initial Temperature vanishes, and openFOAM runs to time step 500 without complaint. . But I am not sure if setting low absorption and emissivity in fvDOM is a good method to model non-participating gas.

BTW: The above setting success to run when I use 16 cores. But when using 2 cores, the error of Negative Initial Temperature occurs again. Is openFOAM not stable? I use openFOAM v2206 with AMD 7302.

==========================

In addition, about the 2nd question, i.e. the increase of T in the solid is the same no matter I set absorption of the solid to 0 or 1. Why this happen? Further, it is strange that the T of the solid is higher when setting the emissivity of the solid to 1 versus setting it to 0.5.

Since the zip of the case exceeds the uploading limit I cannot upload the case file. The mesh is large. I am new to openFOAM and actually not sure if what proper mesh is needed.
Attached Images
File Type: jpg solid_emissivity_equal_1.jpg (126.9 KB, 12 views)
File Type: png solid_emissivity_equal_0.5.png (163.6 KB, 5 views)
File Type: png section_of_mesh.png (165.7 KB, 5 views)
hogglife is offline   Reply With Quote

Old   December 15, 2022, 04:26
Default
  #4
New Member
 
Join Date: Sep 2022
Posts: 19
Rep Power: 4
hogglife is on a distinguished road
Following is the sketch of the simplified case. It is lost in last post.
Attached Images
File Type: png all.png (24.4 KB, 17 views)
hogglife is offline   Reply With Quote

Old   December 15, 2022, 06:20
Default
  #5
New Member
 
Join Date: Sep 2022
Posts: 19
Rep Power: 4
hogglife is on a distinguished road
I try to set none for radiationModel of gas and also set "radiation off;" for gas. The boundary condition of T for gas in /0/FLUID/T is changed from

type compressible::turbulentTemperatureRadCoupledMixed;
Tnbr T;
kappaMethod fluidThermo;
kappaName none;
qrNbr none;
qr none;
value $internalField;

to

type compressible::turbulentTemperatureCoupledBaffleMix ed;
Tnbr T;
kappaMethod fluidThermo;
kappaName none;
value $internalField;

and do corresponding change in /0/SOLID/T. Now the error of "failed lookup of qr (objectRegistry FLUID)" does not occur. But fail at time step 4 with error of "Negative initial temperature T0: -599.962964". By paraview, the position with lowest T occurs at a position near the solid but beyond the boundary layer around the solid. Currently not have direction on the solution.
Attached Images
File Type: png lowest.png (153.1 KB, 5 views)
hogglife is offline   Reply With Quote

Old   December 15, 2022, 10:16
Default
  #6
Senior Member
 
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 342
Rep Power: 28
GerhardHolzinger will become famous soon enoughGerhardHolzinger will become famous soon enough
Quote:
Originally Posted by hogglife View Post
I have tried the viewfactor method but faceAgglomerate reported error for the geometry I finally want to model.
Can you specify the error? Since your gas is non-participating, viewFactor would be the most appropriate radiation model.
GerhardHolzinger is offline   Reply With Quote

Old   December 18, 2022, 15:24
Default
  #7
Senior Member
 
Peter Hess
Join Date: Apr 2011
Location: Austria
Posts: 250
Rep Power: 17
peterhess is on a distinguished road
Hello!
Well You want to exchange heat between the 1000K walls and the 300K.
Is that right?
In this case it is wrong to use:
radiationModel none;
in the gas region.
This will deactivate the radiation exchange beween those walls.
-------------------
Two solutions are possible.
- using fvDOM the way you are tring to do.
This solution is not the best, since the calculation time is much bigger to calculate no heat exchange in your gas.
- Using viewFactor method, as Gerhard suggests.
Like that the radiation exchange is calculated between the walls, ignoring which gas is inside the room
The calculation time of the view factor could be high, depending on your setups, but it happens one time at the start of the simulation. But the solving time itself will be much smaller than fvDOM.
-------------------
Upload your case and I will install your version of openfoam and look to your case if you want.

Ragards

Peter

Last edited by peterhess; December 18, 2022 at 19:03.
peterhess is offline   Reply With Quote

Old   December 18, 2022, 16:01
Default
  #8
Senior Member
 
Peter Hess
Join Date: Apr 2011
Location: Austria
Posts: 250
Rep Power: 17
peterhess is on a distinguished road
Quote:
Originally Posted by hogglife View Post

But actually a point I am not sure is: if setting none for radiationModel of gas, can the heat transfer by radiation between the solid heater and the wall be modelled? (keep keep radiation is on for gas?)
I answered the question in the last replay.
peterhess is offline   Reply With Quote

Old   December 28, 2022, 06:21
Default
  #9
New Member
 
Join Date: Sep 2022
Posts: 19
Rep Power: 4
hogglife is on a distinguished road
Very sorry for my late reply since I want to go through the whole simulation workflow with fvDOM firstly which already works then to improve the simulating speed, e.g. use viewfactor instead.

Now I hope to use viewfactor and found the previous error still occurs when running faceAgglomerate, i.e.

[/code]
--> FOAM FATAL ERROR: (openfoam-2206)
(1 7) not found in table. Valid entries:
1254
(
(472 474)
(492 493)
...
(72 486)
)


From T& Foam::HashTable<T, Key, Hash>::at(const Key&) [with T = double; Key = Foam::edge; Hash = Foam::Hash<Foam::edge>]
in file ./src/OpenFOAM/lnInclude/HashTableI.H at line 72.

[/code]


My viewFactorsDict is as follows:


Code:
writeViewFactorMatrix     true;
writeFacesAgglomeration   true;
writePatchViewFactors     false;
dumpRays				  true;
maxDynListLength          100000000;

INFLOW
{
    nFacesInCoarsestLevel     20;
    featureAngle              10;
}
OUTFLOW
{
    nFacesInCoarsestLevel     20;
    featureAngle              5;
}

...

FLUID_OUTER_to_PLATE
{
    nFacesInCoarsestLevel     10;	
    featureAngle              5;
}

The above error occurs on FLUID_OUTER_to_PLATE while the previous items are all passed without complaint.

A schematic of my model is attached. There are 3 holes on the plate. I have tried faceAgglomerate on a model without the 3 holes. FaceAgglomerate & viewFactorsGen runs and wrote the corresponding files successfully.

I have tried v2012, v2206, v2212, and v10 but all failed .

The mesh around the hole has been refined already to a very fine level as attached.

Could you give guide on solving this? Thanks in advance!
Attached Images
File Type: png overall.png (144.0 KB, 9 views)
File Type: png mesh_around_hole.png (81.7 KB, 12 views)
hogglife is offline   Reply With Quote

Old   December 29, 2022, 16:59
Default
  #10
Senior Member
 
Peter Hess
Join Date: Apr 2011
Location: Austria
Posts: 250
Rep Power: 17
peterhess is on a distinguished road
Hello!
Take a look here and compare your setups with those discussed in the thread:
Adding Radiations in chtMultiRegionSimpleFoam
Regards
Peter
peterhess is offline   Reply With Quote

Old   January 1, 2023, 11:50
Default
  #11
New Member
 
Join Date: Sep 2022
Posts: 19
Rep Power: 4
hogglife is on a distinguished road
Hi Peter,

Sorry for my late reply. Thank you very much for kindly guide!

By posts in this forum, I can let viewfactor work now. A point want to share to fresh user is the nFacesInCoarsestLevel in viewFactorsDict seems the rough amount of faces after agglomeration, i.e. the amount of clusters of faces, but not the max faces in which one agglomeration or cluster can hold.
hogglife 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



All times are GMT -4. The time now is 09:57.