CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   chtMultiRegionSimpleFoam temperature goes to below zero (https://www.cfd-online.com/Forums/openfoam/218695-chtmultiregionsimplefoam-temperature-goes-below-zero.html)

shach934 July 1, 2019 03:26

chtMultiRegionSimpleFoam temperature goes to below zero
 
2 Attachment(s)
Hi Fomers,
I am using chtMultiRegionSimpleFoam to simulate cooling of a rotating disc. The geometry is attached. In a wind tunnel a disc is rotating, temperature of the surface of the disc is higher than the air. Here is the boundary condition and the thermophysicalProperties of air and disc.
For air 0/air/T
Code:

dimensions      [ 0 0 0 1 0 0 0 ];

internalField  uniform 300;

boundaryField
{
    inLet
    {
        type            fixedValue;
        value          $internalField;
    }
    rr_slave
    {
        type            cyclicAMI;
    }
    air
    {
        type            fixedValue;
        value          $internalField;
    }
    outLet
    {
        type            zeroGradient;
    }
    air2disc
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value          uniform 300;
        Tnbr            T;
        kappaMethod    fluidThermo;
    }
    rr
    {
        type            cyclicAMI;
    }
       
    air2disc_heat
    {        type            fixedValue;
        value          uniform 500;
        }
}

For disc 0/disc/T
Code:

dimensions      [ 0 0 0 1 0 0 0 ];

internalField  uniform 300;

boundaryField
{
    disc2air
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        Tnbr            T;
        kappaMethod    solidThermo;
        value          uniform 300;
    }
        heat2air
    {
        type            fixedValue;
        value          uniform 500;
    }
}

The thermophysicalProperties for air:
Code:

thermoType
{
    type            heRhoThermo;
    mixture        pureMixture;
    transport      const;
    thermo          hConst;
    equationOfState perfectGas;
    specie          specie;
    energy          sensibleEnthalpy;
}

mixture
{
    // coefficients for air

    specie
    {
        molWeight      28.85;
    }
    thermodynamics
    {
                Cp                                1004.4;
                Hf                                2.5e6;
        }
    transport
    {
      mu                                1.8e-5;
          Pr                                0.705;
    }
}

For disc:
Code:

thermoType
{
    type            heSolidThermo;
    mixture        pureMixture;
    transport      constIso;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

mixture
{
    specie
    {
        molWeight  55;
    }

    transport
    {
        kappa  80;
    }

    thermodynamics
    {
        Hf      0;
        Cp      450;
    }

    equationOfState
    {
        rho    7800;
    }
}

After the chtMultiRegionSimpleFoam started a few steps, the minimum temperature in the air domain starts to decrease and very soon below zero, the solver exit with error.
Anyone has any suggestion? Thank!

carye July 1, 2019 04:17

Have you checked the pressure and velocity boundary?
I use chtMultiRegionSimpleFoam also and have met the same problem before.
After I corrected the pressure boundary, it converged normally.

Another reason maybe the schemes you used.
Sometimes when I used a not such appropriate scheme, the calculation diverged soon.

shach934 July 1, 2019 04:59

Hello Carye,
Thanks for your suggestion!
Would you mind to take a look at my pressure and velocity boundary conditions? Thanks!
Here is the pressure for the disc
Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField  uniform 0;

boundaryField
{
    disc2air
    {
        type            calculated;
        value          $internalField;
    }
    heat2air
    {
        type            calculated;
        value          $internalField;
    }
}

Here are the pressure p boundary for air:
Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField  uniform 1e5;

boundaryField
{
    inLet
    {
        type            zeroGradient;
    }
    rr_slave
    {
        type            cyclicAMI;
    }
    air
    {
        type            zeroGradient;
    }
    outLet
    {
        type            fixedValue;
        value          $internalField;
    }
    air2disc
    {
        type            zeroGradient;
    }
    rr
    {
        type            cyclicAMI;
    }
    air2disc_heat
    {
        type            zeroGradient;
    }
}

and p_rgh for air:
Code:

dimensions      [ 1 -1 -2 0 0 0 0 ];

internalField  uniform 1e5;

boundaryField
{
    inLet
    {
        type            zeroGradient;
    }
    rr_slave
    {
        type            cyclicAMI;
    }
    air
    {
        type            fixedFluxPressure;
        value          $internalField;
    }
    outLet
    {
        type            fixedValue;
        value          $internalField;
    }
    air2disc
    {
        type            fixedFluxPressure;
        value          $internalField;
    }
    rr
    {
        type            cyclicAMI;
    }
    air2disc_heat
    {
        type            fixedFluxPressure;
        value          $internalField;
    }
}

The velocity boundary conditions for the air is:
Code:

dimensions      [ 0 1 -1 0 0 0 0 ];

internalField  uniform ( 0 -6.944 0 );

boundaryField
{
    inLet
    {
        type            fixedValue;
        value          $internalField;
    }
    rr_slave
    {
        type            cyclicAMI;
    }
    air
    {
        type            noSlip;
    }
    outLet
    {
        type            inletOutlet;
        inletValue      uniform ( 0 0 0 );
        value          $internalField;
    }
    air2disc
    {
        type            noSlip;
    }
    rr
    {
        type            cyclicAMI;
    }
    air2disc_heat
    {
        type            noSlip;
    }
}

Well, there is no velocity for the disc, since i am using the MRF to simulate the rotation. Any suggestion? Thanks!

carye July 1, 2019 05:42

I'm sorry that I'm not an expert.

But how about set the fixedFluxPressure in the p_rgh as zeroGradient?
I remember in my calculation I also tried fixedFluxPressure but it was unstable, so I used zeroGradient and finally got the result.

Another is that the p boundary is not used in the chtMultiRegionSimpleFoam because p is calculated from p_rgh.
So the pressure boundary will affect the calculation is p_rgh.

Hope this may help you. :)

shach934 July 1, 2019 07:12

Hi Carye,
Thanks for your suggestion. I tried with zeroGradient boundary condition for p_rgh, unfortunately it is still not working. I will try with a simpler case now and check if this is caused by cyclicAMI boundary.

Tobi July 1, 2019 16:11

Just one hint... why do you use cyclicAMI if there is no motion?
Furthermore, if you get a few iterations, you can save them and check the results to see what field makes problems and especially at which location.


Can you let us know your fvSchemes and solver settings?

shach934 July 1, 2019 16:54

Hi Tobi,
The cyclicAMI is for the nonconformal mesh between the rotating region and the stator region. It is not the source of the problem since I tried without the MRF.
In fact, I already solved the problem. There is something wrong with the fvSolution, the pRefCell and pRefValue was set wrong, I changed it a little bit and it works....
Thanks.


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