CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   viewFactor radiation model problem! (https://www.cfd-online.com/Forums/openfoam/138328-viewfactor-radiation-model-problem.html)

rafasanchezfe July 2, 2014 09:20

viewFactor radiation model problem!
 
Hi there!

I am currently trying to include viewFactor radiation model in my case. The case is heat generating container sitting on concrete base-mat surrounded by air. As BC, the sides the region of air are considered as InletOutlet while the roof is zeroGradient. My concerns are as follows:

1. Concerning Qr file, what BC do i establish for the sides? (as its not a wall itself). Ive been trying greyDiffusiveRadiationViewFactor but apparently its not working....

2. In case i use type calculated for these BC im talking above, when running the solver chtMultiRegionSimpleFoam, i get the following error:

PHP Code:

--> FOAM FATAL ERROR

    
request for volScalarField Qr from objectRegistry chapa failed
    available objects of type volScalarField are

8
(
betavSolid
h
kappa
Cp
p
T
thermo
:rho
thermo
:alpha
)


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

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam222/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/opt/openfoam222/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#2  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const& Foam::objectRegistry::lookupObject<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >(Foam::word const&) const in "/opt/openfoam222/platforms/linuxGccDPOpt/lib/libfiniteVolume.so"
#3   at turbulentTemperatureRadCoupledMixedFvPatchScalarField.C:0
#4  Foam::compressible::turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs() in "/opt/openfoam222/platforms/linuxGccDPOpt/lib/libcompressibleTurbulenceModel.so"
#5  Foam::mixedFvPatchField<double>::evaluate(Foam::UPstream::commsTypes) in "/opt/openfoam222/platforms/linuxGccDPOpt/lib/libfiniteVolume.so"
#6  Foam::mixedEnergyFvPatchScalarField::updateCoeffs() in "/opt/openfoam222/platforms/linuxGccDPOpt/lib/libfluidThermophysicalModels.so"
#7  Foam::fvMatrix<double>::fvMatrix(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensionSet const&) in "/opt/openfoam222/platforms/linuxGccDPOpt/bin/chtMultiRegionSimpleFoam"
#8  
 
in "/opt/openfoam222/platforms/linuxGccDPOpt/bin/chtMultiRegionSimpleFoam"
#9  
 
in "/opt/openfoam222/platforms/linuxGccDPOpt/bin/chtMultiRegionSimpleFoam"
#10  __libc_start_main in "/lib/i386-linux-gnu/libc.so.6"
#11  
 
in "/opt/openfoam222/platforms/linuxGccDPOpt/bin/chtMultiRegionSimpleFoam"
Abortado (`core' generado) 

Anybody has a clue of what is going wrong? or how can i model the case correctly?

Thank you very much

fabian_roesler July 4, 2014 05:34

greyDiffusiveRadiationViewFactor is correct
 
Hi

You were right setting the BC for the side walls to

Code:

    sideWall
    {
        type            greyDiffusiveRadiationViewFactor;
        emissivityMode  lookup;
        Qro            uniform 0;
        emissivity      uniform 1;
        value          uniform 0;
    }

As the emissivity for this BC is 1, you will absorb the total radiation reaching this patch (black body - http://en.wikipedia.org/wiki/Black_body). Only for interfaces between solids and fluids you change the BC to

Code:

    fluid_to_solid
    {
        type            greyDiffusiveRadiationViewFactor;
        value          uniform 0;
        emissivityMode  solidRadiation;
        Qro            uniform 0;
    }

Look into the tutorial. This might clarify allot. Hope that helps.

Cheers

Fabian

rafasanchezfe July 4, 2014 09:12

Hi there!

Fabian, thanks a lot for you reply first of all...

You were right, I've already changed the BC to greyDiffusiveRadiationViewFactor. I was mistaken there.

I'm following the multiRegionHeaterRadiation tutorial, which is really similar to the case I'm simulating (multi region, chtMultiRegionSimpleFoam with viewFactor radiation model).

Still then, the problem i had before still appears:

--> FOAM FATAL ERROR:

request for volScalarField Qr from objectRegistry chapa failed
available objects of type volScalarField are

8
(
betavSolid
h
kappa
Cp
p
T
thermo
:rho
thermo
:alpha
)

As i understand it, it seems as if the code is not recognizing Qr file as a volScalarField (Its not in the list of available objects) for the region chapa (solid region).

Any has a clue of what this error means??? :confused::confused::confused: I would be really pleased if anyone could share any similar experience....

Thank you

Rafa

fabian_roesler July 7, 2014 03:06

only T and p in solid region
 
Hi

Yes, that's right. Qr is not defined in solid mesh. There you only have temperature T for thermal diffusion and pressure p. The latter does not make much sense. However, I suppose you need it to initialize the simple algorithm for the solid mesh. When you have a look into the tutorial you will see that all other fields from the solid region are deleted. Did you set the constant/regionProperties? And did you do some changeDirectory to the boundaries?

Cheers

Fabian

rafasanchezfe July 7, 2014 09:48

Hi there!

Thanks a lot for your help Fabian, your advice gave me the definitive clue to solve the issue! I have it already running! :)

As you mentioned, Qr doesn't apply to solid regions. So, trying to understand the issue, the error that was telling me that somewhere in my folders, i was calling Qr for the solid region, and it shouldn't be. So i realized when looking into the 0/solidRegion/T, for the solidRegion_to_fluidRegion BC i had:

PHP Code:

solidRegion_to_fluidRegion
        
{
        
type            compressible::turbulentTemperatureRadCoupledMixed;
        
value           uniform 400;
        
Tnbr            T;
        
kappa           fluidThermo;
        
QrNbr           none;
        
Qr              Qr;
        
kappaName       none;
        } 

and looking closely, under the Qr concept, i was calling Qr for the solidRegion, and that was why i was obtaining my error:

Code:

request for volScalarField Qr from objectRegistry "solidRegion" failed
So, if chaning the solidRegion_to_fluidRegion BC to:

PHP Code:

solidRegion_to_fluidRegion
        
{
        
type            compressible::turbulentTemperatureRadCoupledMixed;
        
value           uniform 400;
        
Tnbr            T;
        
kappa           fluidThermo;
        
QrNbr           Qr;
        
Qr              none;
        
kappaName       none;
        } 

voila! It all works correctly now!

Thanks a lot!

Rafa

fabian_roesler July 7, 2014 10:08

Quote:

Originally Posted by rafasanchezfe (Post 500435)
Thanks a lot for your help Fabian, your advice gave me the definitive clue to solve the issue! I have it already running! :)

Hi Rafa

No problem. Glad I could help!

Cheers and keep foaming

Fabian


All times are GMT -4. The time now is 19:41.