CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Heat transfer convergence problem

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree4Likes
  • 1 Post By chriss85
  • 2 Post By chriss85
  • 1 Post By chriss85

LinkBack Thread Tools Search this Thread Display Modes
Old   October 31, 2014, 05:44
Default Heat transfer convergence problem
Senior Member
Join Date: Oct 2013
Posts: 397
Rep Power: 18
chriss85 will become famous soon enough
I'm trying to simulate a problem which involves heat transfer from a very hot gas (plasma) in a wall. Concerning this problem, my solver is basically a merged version of sonicFoam and chtMultiRegionFoam (only the heat transfer part). The plasma has a large radiative flux and the wall isn't a very good heat conductor, so melting and evaporation occurs in reality.

I'm using the compressible::turbulentTemperatureRadCoupledMixed boundary condition that considers heat conduction and radiative heat fluxes through the boundary. This boundary condition always results in a temperature at the patch of 0 K...
I've tried various things, increasing iterations and using relaxation factors but without success.

The temperature will start with a negative (!) value at the patch in the iteration procedure and converge against 0 K in a few steps. The alpha value in the code of the BC will start oscillating with an increasing amplitude.

Using the compressible::turbulentTemperatureCoupledBaffleMix ed BC, the solution will converge, but since the radiation isn't considered this BC is not applicable to my problem.

I would expect the total heat fluxes to be the same on both sides of the patch when converged to satisfy energy conservation.

Any ideas for this?

You can also take a look at my related topic here:
Ramzy1990 likes this.
chriss85 is offline   Reply With Quote

Old   November 3, 2014, 05:17
Senior Member
Join Date: Oct 2013
Posts: 397
Rep Power: 18
chriss85 will become famous soon enough
I tracked it down to a numerical problem. I wrote the convergence series as a script in Matlab, so I could play with the parameters and see when I get a converging solution.
Due to the high temperatures in a plasma, there is a very large radiative heat flux (on the order of 1e9 W/m²). Using lower heat fluxes leads to a converging solution, and using smaller cells also converges. However, the cells are already extremely low at the boundary (about 5e-7m), so this will lead to massive performance impacts if I need this cell size.

I also tried underrelaxing, but it doesn't have any (positive) influence on the convergence behavior.

I'm not quite sure yet where exactly the problem comes from, can anyone think of an alternative formulation that might give less numerical problems and converge better?

For reference, here's the Matlab script with example data:
n = 20;
kappa0 = 0.05;
kappa1 = 0.4;
delta0 = 1/2e6/4;
delta1 = 1/2.85714e+06/4;
Qr0 = 2.99454e9;
Qr1 = 0;
K0 = kappa0/delta0;
K1 = kappa1/delta1;
QrT0 = [0];
QrT1 = [0];
sum0 = [1];
sum1 = [1];
den0 = [1];
den1 = [1];
relax = 1;
for i=2:n
    QrT0(i) = (Qr0 + Qr1)/Tf0(i-1);
    QrT1(i) = (Qr0 + Qr1)/Tf1(i-1);
    den0(i) = K0-QrT0(i)+K1;
    den1(i) = K0-QrT1(i)+K1;
    Tf0(i) = relax * K1/(K0-QrT0(i)+K1) * T1 + K0/(K0-QrT0(i)+K1) * T0 + (1-relax) * Tf0(i-1);
    Tf1(i) = relax * K0/(K0-QrT1(i)+K1) * T0 + K1/(K0-QrT1(i)+K1) * T1 + (1-relax) * Tf1(i-1);
    sum0(i) = K0/(K0-QrT0(i)+K1) + K1/(K0-QrT0(i)+K1);
    sum1(i) = K0/(K0-QrT1(i)+K1) + K1/(K0-QrT1(i)+K1);
plot(1:n, Tf0, 1:n, Tf1);
% plot(1:n, den0, 1:n, den1);
% plot(1:n, QrT0, 1:n, QrT1);
% plot(1:n, sum0, 1:n, sum1);
vscalon and Ramzy1990 like this.
chriss85 is offline   Reply With Quote

Old   November 3, 2014, 11:05
Senior Member
Join Date: Oct 2013
Posts: 397
Rep Power: 18
chriss85 will become famous soon enough
I now believe that this is not a numerical problem, but rather a specific convergence range of the iteration series, and there's not much one can do within this formulation.

However, I found that using a nonlinear cell spacing on the wall allows me to perform this calculation with the same amount of cells and without limiting my time step size, so I'm just sacrificing some accuracy further away in the solid, which is perfectly fine for me.

I'm still fighting some weird bug in the code, but it's likely fixable.
Ramzy1990 likes this.
chriss85 is offline   Reply With Quote

Old   October 14, 2023, 11:12
New Member
jaehun LEE
Join Date: Jan 2023
Posts: 6
Rep Power: 3
jaehun LEE is on a distinguished road
Hello, thanks for your kind explanation about Radiation B.C

now I'm working on the Combusion simulation using multiRegionReactingFoam, which is modified from chtmultiRegionFoam to deal with reacting flows.

in my case, the radiative heat flux is quite important, so i found compressible:turbulentemperatureradcoupledmixed Coupled B.C.

but when the emissivity is big (~ 1.0), the radiative heat flux is too high, that cause the simulation diverges. (solid temperature << 70K). also, i'm testing parametric study with variation of emissivty (~ 0.01). it seems quite stable.

i think you already experience this kind of problem. could you give me some advice??
jaehun LEE is offline   Reply With Quote


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
inverse heat transfer problem siva0182 FLUENT 6 February 22, 2019 06:00
Heat Transfer Problem in FLUENT eng_yasser_2020 FLUENT 3 February 19, 2019 02:13
Inverse and Transient Heat Transfer Problem on commercial software: is it possible? rogbrito CFX 1 January 29, 2012 17:48
regarding B.C. of Heat transfer problem Manoj Padmakarrao Raut Siemens 0 March 17, 2005 00:01
Heat transfer problem Brian CFX 0 September 13, 2004 01:19

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