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

chtMultiRegionFoam and solar load

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 3, 2024, 05:08
Default chtMultiRegionFoam and solar load
  #1
New Member
 
Boris
Join Date: Jan 2017
Posts: 26
Rep Power: 9
Hawxliquid is on a distinguished road
Hi everyone.
I am trying a case using chtMultiRegionFoam, but I am having trouble making it work.
The case itself is simple, I represent a city through solid bocks, aswel as a ground. I then have some wind velocity and sunLoad, and I would like to simulate the Temperature in my fluid field as well as solids.



Mainly, I see at first glance two huge issues in my solution


1 - It seems that the temperature of the solids reach a high temperature instantly. Other than being a too high value, why would they reach this temperature instantly on the first iteration?
2 - It seems that the value of that temperature is dependant on the cell size, and it can be seen quite well with the attached image. The center of the field has a refinementRegion and hence smaller cells on the ground, compared to further out of the center. As you can see, the temperature difference is huge, while they should be the same.


Attached are some of my boundary condtions for the ground and the fluid. (domain1 is the fluid, all the other domains (2,3, etc.) are the buildings.



For the ground, 0/T is


Code:
    cellZone_ground_to_domain1
    {
        type            compressible::turbulentTemperatureRadCoupledMixed;
        value           uniform 300;
TnbrT;
        kappaMethod     solidThermo;
        qrNbr           qr;
        qr              none;
        kappa           none;
    }


    domain_bottom
    {
        type            zeroGradient;
    }

    domain_side_ground
    {
        type            zeroGradient; 
    }


cellZone_ground_to_domain33
{
    type            compressible::turbulentTemperatureRadCoupledMixed;
    value           uniform 300;
TnbrT;
    kappaMethod     solidThermo;
    qrNbr           none;
    qr              none;
    kappa           none;
}
Regarding fluid to solid T file :


Code:
/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  7
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
classvolScalarField;
    location    "0/fluid";
    object      T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [ 0001000 ];

internalField   uniform 300;

boundaryField
{
#includeEtc"caseDicts/setConstraintTypes"

    domain1_to_cellZone_ground
    {
        type            compressible::turbulentTemperatureRadCoupledMixed;
        value           uniform 300;
        Tnbr            T;
        kappaMethod     fluidThermo;
        qrNbr           none;
        qr              qr;
        kappa           none;
    }  

    domain_side_air
    {
        type            inletOutlet;
        value           $internalField;
        inletValue      $internalField;
    }

    domain_top
    {
        type            zeroGradient;

    }

domain1_to_domain33
{
    type            compressible::turbulentTemperatureRadCoupledMixed;
    value           uniform 300;
    Tnbr            T;
    kappaMethod     fluidThermo;
    qrNbr           none;
    qr              qr;
    kappa           none;
}
My radiation properties are as such



Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2312                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
version2.0;
formatascii;
classdictionary;
objectradiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

radiationon;

radiationModelsolarLoad;


solarLoadCoeffs
{
sunDirectionModelconstant;
sunDirection            (0-1-1); // Mid September, azimuth is 90°. At 10am 45°, 1pm 90° and 4pm -45° 
localStandardMeridian8;    // GMT offset (hours)
startDay22;    // day of the year
startTime10;    // time of the day (hours decimal)
longitude103.84480966701153; // longitude (degrees)
latitude1.281022004174839;   // latitude (degrees)
gridUp                  (001);     // grid orientation
gridEast                (100);

sunLoadModelfairWeather;

        // Fair Weather Conditions Model Constants.
        // Calculate beta from the Solar calculator or input
skyCloudCoverFraction0;
groundReflectivity0.2;
A2229.78119355;   // Apparent solar irradiation at air mass m = 0
B0.142064516129;  // Atmospheric extinction coefficient
C0.058064516129;  // Solar diffusivity constant
        //beta    45;    // Solar altitude (in degrees) above the horizontal



    // Energy spectrum
spectralDistribution    (11);


    // Radiative flux coupling flags
solidCoupledtrue;  //Couple through qr the solid regions (default true)
wallCoupledfalse; //Couple through qr wall patches (default false)

    // Reflecting rays
useReflectedRaystrue;
reflecting
    {
nPhi10;
nTheta10;
    }

absorptionEmissionModelnone;
scatterModelnone;
sootModelnone;
}



// Number of flow iterations per radiation iteration
solverFreq1;

absorptionEmissionModelnone;

scatterModelnone;

sootModelnone;


// ************************************************************************* //


and boundaryRadiation


Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2312                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      boundaryRadiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

".*"
{
    type        transparent;

    wallAbsorptionEmissionModel
    {
        type            multiBandAbsorption;
        emissivity      (1 1);
        absorptivity    (0 0);
    };
}


domain1_to_cellZone_ground
{
    type       opaqueDiffusive;
    wallAbsorptionEmissionModel
    {
        type            multiBandAbsorption;
        absorptivity    (0.9 0.9);
        emissivity      (0.9 0.9);
    };

}









domain1_to_domain33
{
    type        opaqueDiffusive;

    // Fraction of the reflected is diffussive
    fd          0.0; // 0: all specular 1: all diffusive

    wallAbsorptionEmissionModel
    {
        type            multiBandAbsorption;
        absorptivity    (0.4 0.4);
        emissivity      (0.4 0.4);
    };

}
Could you see what gives?


Thanks!






EDIT : The reason for the temperature jumping directly seems to be fixed once I add "thermalInertia true;" to the solid/air and solid/solid boundary conditions. But I still can't explain why bigger cell would be warmer
Attached Images
File Type: jpg heatProblem.jpg (44.1 KB, 10 views)
File Type: jpg Screenshot 2024-05-03 100846.jpg (128.7 KB, 7 views)

Last edited by Hawxliquid; May 3, 2024 at 10:00.
Hawxliquid is offline   Reply With Quote

Old   May 6, 2024, 03:42
Default
  #2
Senior Member
 
Desh
Join Date: Mar 2021
Location: Sydney
Posts: 118
Rep Power: 5
dasith0001 is on a distinguished road
Hi,

Looks as if the internal boundary of the smaller and bigger cells do not exchange heat at all.

I assume you have used some 'merging'/stitching techniques to create the mesh ? I would rather use on coarse mesh and see if the error occurs again. I am pretty sure you will see sensible result with one clean coarse mesh.

Then work out the refinement later

Hope this helps
Dasith
dasith0001 is offline   Reply With Quote

Old   May 6, 2024, 04:35
Default
  #3
New Member
 
Boris
Join Date: Jan 2017
Posts: 26
Rep Power: 9
Hawxliquid is on a distinguished road
Quote:
Originally Posted by dasith0001 View Post
Hi,

Looks as if the internal boundary of the smaller and bigger cells do not exchange heat at all.

I assume you have used some 'merging'/stitching techniques to create the mesh ? I would rather use on coarse mesh and see if the error occurs again. I am pretty sure you will see sensible result with one clean coarse mesh.

Then work out the refinement later

Hope this helps
Dasith



Hi, thanks for your answer.


It might be it, but how is that possible?
My mesh is created through a classic multi region snappy hex mesh, followed by "splitMeshRegions -cellZones -overwrite".



But even though, the cells that seems to not exchange heat are part of the same region. The difference in cell size is due to a simple refinementRegion..


Edit :


It seems you were on the right track, it seems that conduction does not have time to happen due to the huge domain size. After playing with kappa I can reproduce a normal behaviour, same goes if I simulate in frozen flow for many iterations.
The issue now is that with constant solar Load, my solid temperature increases indefinitely, even though I activated the "opaqueSolid" radiation model on the solids. Same thing with P1 Radiation on the solid. I expect to find a temperature equilibrium because when the temperature of my solid increase, the incoming radiation from the sun should match +- the Stefan-Boltzmann law

Last edited by Hawxliquid; May 6, 2024 at 09:52.
Hawxliquid 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
Modelling temperature inside a tent under solar radiation and wind SimonHb OpenFOAM Running, Solving & CFD 0 October 22, 2021 13:33
Chtmultiregionfoam + fvdom Atieh.alizadeh OpenFOAM Running, Solving & CFD 3 June 22, 2021 09:02


All times are GMT -4. The time now is 13:45.