CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   wallHeatFlux BC not constant after restart (https://www.cfd-online.com/Forums/openfoam-solving/66705-wallheatflux-bc-not-constant-after-restart.html)

Shoonya August 16, 2010 15:00

Quote:

Originally Posted by eelcovv (Post 271654)
Hi Dinesh,

I think the way you do it should give a variable heat flux, as it T-Tamb becomes smaller when the gases cools off (T is the temperature of the gas at the wall). I only don't undestand why you have fractionExpression "0.5", because this combines a constant gradient with a constant value BC, whereas what you want is just to impose a constant gradient which scales with T-Tamb, so you should set fractionExpression "0.0";.

Regards,

Eelco

thank you Eelco
For confirming that this would give me the variable heat loss. Though I had arrived at what I wanted by following changes. Here what I did that I wrote Tamb=(internalField(T)); which is variable. so as you said (T-Tamb) changes then wall should loss. so I am getting the variations.

type groovyBC;
gradientExpression "gradT";
fractionExpression "0";
variables "hcof=0.88;Cp0=520.3;rho0=0.8947;Tamb=(internalField(T)); alphaEff=1.2956*pow(10,-4);heatFlux=hcof *(T-Tamb);gradT=heatFlux/(alphaEff * Cp0 * rho0);"

timelines ( );

value nonuniform List<scalar>
3300
(

);

As you had a question about 0.5.That I was trying to use temperature BC also; which was 393 K (known). So I thought to make a Robin type of BC [ i.e T and heat loss (i.e. gradient )], so I used 0.5.
Again a small question if you could answer please, should I use T and heat loss together or not. If I use them together then does it similar to just using heat loss without T ?. How these two changes makes difference in the system.

thank you

dinesh

swahono September 6, 2010 01:02

Quote:

Originally Posted by dinesh2n@gmail.com (Post 271676)
thank you Eelco
For confirming that this would give me the variable heat loss. Though I had arrived at what I wanted by following changes. Here what I did that I wrote Tamb=(internalField(T)); which is variable. so as you said (T-Tamb) changes then wall should loss. so I am getting the variations.

type groovyBC;
gradientExpression "gradT";
fractionExpression "0";
variables "hcof=0.88;Cp0=520.3;rho0=0.8947;Tamb=(internalField(T)); alphaEff=1.2956*pow(10,-4);heatFlux=hcof *(T-Tamb);gradT=heatFlux/(alphaEff * Cp0 * rho0);"

timelines ( );

value nonuniform List<scalar>
3300
(

);

As you had a question about 0.5.That I was trying to use temperature BC also; which was 393 K (known). So I thought to make a Robin type of BC [ i.e T and heat loss (i.e. gradient )], so I used 0.5.
Again a small question if you could answer please, should I use T and heat loss together or not. If I use them together then does it similar to just using heat loss without T ?. How these two changes makes difference in the system.

thank you

dinesh

Hi Dinesh,

I am doing a similar heat transfer problem through a series of concentric ' annular walls'. May I ask you several things regarding your groovyBC?

1.) You specify your heat trf coeff as 0.88. How did you calculate this value?
In a convection problem, the hc is a function of local Nusselt number; hence varies along the wall.

2.) Are the rho0 and cp0 properties of the solid or the fluid?

3.) What is alphaEff ? Is alphaEff the heat conductivity of the fluid?

Thank you very much for your help.

Best Regards,
Stefano

Shoonya September 6, 2010 16:42

Quote:

Originally Posted by swahono (Post 274105)
Hi Dinesh,

I am doing a similar heat transfer problem through a series of concentric ' annular walls'. May I ask you several things regarding your groovyBC?

1.) You specify your heat trf coeff as 0.88. How did you calculate this value?
In a convection problem, the hc is a function of local Nusselt number; hence varies along the wall.

2.) Are the rho0 and cp0 properties of the solid or the fluid?

3.) What is alphaEff ? Is alphaEff the heat conductivity of the fluid?

Thank you very much for your help.

Best Regards,
Stefano

Hello Stefano,

I use Nussult number
Nu=5.62*10^-3*(Ra^(0.443)); ---(i) ///this correlation is specific to my problem I found from - Martin B W and cohen H British, Jounal of applied Physics, Vol-5 1954. These type of corelation are obtained form experimetnal studies. your problem may also have this if not I suggest that it can be calculated using Darcy formula. which is like as
h=0.023 (K/De)*( (De*U*rho/mu)^0.8 ) *(Pr^0.4) ---(ii) //here K=thermal conductivity, D=hydrolic radius, rho =density, mu=kinamatic viscosity. Pr=prandtl number, U =max valocity in the sytem (which you shall have to guess). (ref. M. M El-Wakil page no. 252 nuclear Power Engineering )

and then I calculate
h_coff=Nu*K/De ---(iii)//well known

I set Rayleigh number in my system by changing temperature difference (T-T_wall) and characteristic length (L). and then Nu is calculated, which gives h_coff using eqn (iii).

Sorry to say that I do not have answer for if local h-coff varies. My knowledge of CFD is limited. I did not think about this aspect, I had searched in this forum; I found above type of setting only. I shall try this aspect too. If I find then let you know soon, meanwhile you find in your way.

(2)
rho0 and cp0 are the Argon gas values.

(3) alphaEff is total thermal diffusivity of Argon
alphaEff= thermal diffusivity + turbulent thermal diffusivity.
further I would like to add this I have made following changes which I have tested properly.

*******************************
type groovyBC;
valueExpression "T_wall";
gradientExpression "gradT";
fractionExpression "0";
variables "hcof=20;Cp0=520.3;T_wall=460;rho0=0.9764;alphaEff =0.0020;heatFlux=hcof*(T-T_wall);gradT=-heatFlux/(alphaEff * Cp0 * rho0);"
timelines ();
****************************
here if heat tranfer is considered then fractionExpression "0"; if temp. + heat transfer is considered then fractionExpression "0.5";

hope this helps

I would be happy to answer you questions if it falls in domain of knowledge.

thank you

dinesh

swahono September 6, 2010 21:35

Hi Dinesh,

Wow thanks for the quick reply!

Yes, the Nusselt number is dependant of both the momentum and thermal boundary layers. But, most people indeed just use correlations to obtain a 'lump' Nusselt number.

However, from your hc-eqn, U, rho and mu are local informations in the flow field. Do you think it'll be better to read it off the solution (i.e. use internalField(U), internalField(rho)) at every time step (or iteration)?

If the wall is 'two-sided' as follows:

--> hot flow, T_hot= 600 C, MACH =0.6
==== THIN WALL =================
--> cold flow, T_cold=50 C, MACH 0.1

Do you think your BC is applicable to this scenario?
In this case, what is the T_wall (since the wall is 'two-sided'; and varies along the wall depending on the temp of the gas on both sides) ?

Thank you very much again for your discussion and help.
It seems like OF is missing an important (and seemingly trivial) feature here (which has been taken for granted when using commercial package, i.e. FLUENT) :(

Shoonya September 9, 2010 16:54

Quote:

Originally Posted by swahono (Post 274226)

Yes, the Nusselt number is dependant of both the momentum and thermal boundary layers. But, most people indeed just use correlations to obtain a 'lump' Nusselt number.

However, from your hc-eqn, U, rho and mu are local informations in the flow field. Do you think it'll be better to read it off the solution (i.e. use internalField(U), internalField(rho)) at every time step (or iteration)?

Do you think your BC is applicable to this scenario?
In this case, what is the T_wall (since the wall is 'two-sided'; and varies along the wall depending on the temp of the gas on both sides) ?

Hello Stefano,

I think that the h_coff written in the groovyBC is just initialization. As the solution advances; the wall heat transfer changes. If one need to h_coff; he can calculate from later time solutions. But I am firm that the h_coff written under the groovyBC does not remain fixed; it has to be calculated form different temperature values in later solutions.
I my opinion how would I proceed
1) use various values of (T-T_wall) in any time dir.
2) use this value in formula of Rayleigh number Ra =g*beta*(T-T_wall)*L^3*Pr/nu^2; this gives various Rayleigh numbers.
3) then use these Ra's to calculate various Nusslt numbers, say, using Nu=5.62*10^-3*(Ra^(0.443)) or whatever applicable for ones case. Note that these would be local Nusselt numbers.
4) then these Nusselt numbers can give various h_coffs at that time dir.

Still I am wondering how to decide the physical locations of these values. So as soon as I'll find, post it.

So in my opinion that groovyBC is useful. I again repeat that the confusion was that we were thinking that it is fixed throughout, which is not true. That was just an initialization, h_coffs has to be calculated from new solutions.

please Let me know if it convince you.

thank you

grandgo May 10, 2011 04:26

Quote:

Originally Posted by eelcovv (Post 224536)

[...]

There is one strange thing with groovyBC which I found yesterday. Perhaps there is an experienced user who is able to explain this. Based on the list of temperature gradients and the list of alphaEff values, I can validate that the wallHeatflux is indeed correctly set to 2e6 on average if I use groovyBC. However, I would like to use the wallHeatFlux utility to quickly calculate the wallheat fluxes of my running simulation. I have a modified version of wallHeatFlux, wallHeatFluxLES, which allows to use this routine for LES simulations for incompressible flows (using the alphaEff based on nuSgs and change the h derivative to a rho*cp*dT/dx derivative). This routing works perfectly fine if I set the heatflux with wallHeatFlux, however, gives erroneous results for the groovyBC bc (about 1000 too large). Since I can also calculate the wallHeatFlux manually by mutliplying all the temperature gradients with the alphaEff (and rho*Cp of course), I can check that the heatFlux is correcly set to 2e6 W/m2 on average. However, if I rename the groovyBC bc to something unknow, like removing the initial g from the name:

[...]

hi eelcovv,

how did you manage to connect the alphaEff with nuSgs? i'm desperately trying to get a modified pisoFoam solver (energy equation with alphaEff included) to work, that uses dynSmagorinsky turbulence model.

can you show me the c++ source of wallHeatFluxLES?

best regards

oky May 24, 2011 23:11

Hi everyone,

I need help, how to get the value of convection coefficient [h] from Fluent directly?
Thank you.

Regrads,

Oky


All times are GMT -4. The time now is 15:55.