|
[Sponsors] |
question about the externalWallHeatFluxTemperature BC |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
April 3, 2018, 04:32 |
question about the externalWallHeatFluxTemperature BC
|
#1 |
New Member
Bingchuan
Join Date: Dec 2017
Posts: 16
Rep Power: 9 |
Dear foamers,
I am using OpenFOAM 4.0. I want to use the buoyantBousinessPimpleFoam slover to simulate the natural convection of the internal fluid adjacent to a wall, which is heated by the high speed ambient fluid. It was modeled as a three layers system below: Ambient fluid | solid | internal fluid. I decided to use the externalWallHeatFluxTemperature boundary condition. My first question is 1) can I use this boundary condition for the buoyantBousinessPimpleFoam slover? The document says that this boundary condition can operate in two modes: fixed heat transfer coefficient and fixed heat flux. I think the former one is appropriate for my case. And the keywords in this boundary condition include Code:
\table Property | Description | Required | Default value q | heat flux [W/m^2] | yes* | Ta | ambient temperature [K] | yes* | h | heat transfer coefficient [W/m^2/K] | yes*| thicknessLayers | list of thicknesses per layer [m] | yes | kappaLayers | list of thermal conductivities per layer [W/m/K] | yes | Qr | name of the radiative field | no | no relaxation | relaxation factor for radiative field | no | 1 kappaMethod | inherited from temperatureCoupledBase | inherited | kappa | inherited from temperatureCoupledBase | inherited | \endtable 2) the Ta and h has described the thermal properties of the interface between the ambient fluid and solid, meanwhile the thicknesslLayer and kappaLayer has described the thermal properties of the solid. The kappa and kappaMethod is for the internal fluid. Am I right? please correct me if I am wrong. The description of the kappaMethod and kappa in temperatureCoupledBase are: Code:
\table Property | Description | Required | Default value kappaMethod | Thermal conductivity method | yes | kappa | Name of thermal conductivity field | no | none alphaAni | Name of the non-isotropic alpha | no | Anialpha \endtable 3) Since the temperature difference is not very large in my case, so I just want to treat the thermal conductivity of the internal fluid as a constant at present. Which one should I choose for the kappaMethod? 4) I have totally no idea about those four method (lookup, fluidThermo, solid thermos and directionalSolidThermo). can anyone give me an example how to make those thermo packages? Thanks in advance. Plus: there are a few posts about the externalWallheatFluxTemperature boundary condition. But some of them are too old, and I think the most related posts are Problems adding Qr field in externalWallHeatFluxTemperature BC BC: externalWallHeatFluxTemperature third-type temperature BC - outside convection boundary condition with interTempFoam Best regards, Bingchuan Last edited by bingchuan; April 3, 2018 at 09:32. |
|
January 12, 2019, 09:32 |
|
#2 |
Senior Member
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 8 |
I am also interested in this topic. If I set q mode, it should give the constant heat flux.
But I use wallheatflux to check the heat flux after the simulation, I find the given values include min/max heat flux, and max heat flux is far bigger than the setting one. Shouldn't the heat flux keeps constant? I am confused about it . Thank you. |
|
May 26, 2020, 04:24 |
|
#3 | |
Member
JuanMi
Join Date: Nov 2017
Posts: 41
Rep Power: 9 |
Quote:
Edit: I found the problem thanks to https://caefn.com/openfoam/bc-thermal externalWallHeatFlux in mode power or flux consists in solving Tb in the following equation: You can change q, but notice that the important flux is ! If you want to impose the flux, you need to impose . in my case, I'm using viewFactor radiation model, so I did the following: Code:
qr Dict: Boveda { type greyDiffusiveRadiationViewFactor; qro uniform 4444.4444; emissivityMode lookup; emissivity uniform 1.0; value uniform 0; } Code:
T Dict: Boveda { type externalWallHeatFluxTemperature; mode power; Q 0; kappaMethod fluidThermo; value $internalField; } Last edited by keitaro7_14; May 26, 2020 at 06:27. |
||
May 26, 2020, 04:46 |
|
#4 | |
Member
JuanMi
Join Date: Nov 2017
Posts: 41
Rep Power: 9 |
Quote:
2) If you are imposing conditions of a fluid region, yes, it is fluid. If you are imposing conditions on a sollid region, kappaMethod should be solidthermo. You can use the mode lookup to introduce manually kappa. However, the fun is having the properties specified in the constant or templates folder (look for the coolingSphere tutorial in OF7) and letting openFOAM find them. As you can see, the boundary condition is intended for chtMultiRegionFoam. 3) I don't know how it works with your solver, but i would use fluidthermo. 4) I recommend you read this work link. The summary for you question is the following:
Last edited by keitaro7_14; May 26, 2020 at 05:49. |
||
September 14, 2020, 09:13 |
the temperature rise in 233000W/m2 heat flux with externalWallHeatFlux is too low
|
#5 |
New Member
herry
Join Date: Apr 2020
Posts: 1
Rep Power: 0 |
Dear foamers,
I meet probiem. i use OpenFoam-dev. recently i use the heat flux of 233000W/m2 to heat water with externalWallHeatFluxTemperature boundery. the velocity is 1.85m/s, using the rhoSimpleFoam to caculare. but the temperature rise of the wall is just about 20K, while about 40k with fluent. I have totally no idea about how to improve. some details are as follew: walls { type externalWallHeatFluxTemperature; mode flux; q 233000; value $internalField; } thermoType { type heRhoThermo; mixture pureMixture; properties liquid; energy sensibleInternalEnergy; } the fluid domain is a 1.5*0.0075 plate. Did i set this boundary condition of externalWallHeatFluxTemperature incorrectly? |
|
September 19, 2021, 19:55 |
|
#6 | |
Member
Join Date: Apr 2019
Location: India
Posts: 81
Rep Power: 7 |
Quote:
I am also facing the same issue. Did you figure it out ? I want to apply uniform heat flux boundary condition over a boundary. I tried using the externalWallHeatFlux temperature and I get temperatures much higher than the expected range. When I plot the heat flux over the wall. The values are much higher than the heat flux set. I know that I can use fixedGradient to set the flux as dT/dx = q/kappa. But, I am working on a multiphase solver. So getting the right value of kappa is complex. I am in the process of using groovyBC to code the gradient Expression for my problem. But still if externalWallHeatFluxTemperature boundary condition works, that would be a straight forward solution for my problem. Kindly please advice me on this. Thank You. With Thanks, Pavithra. |
||
September 28, 2021, 17:49 |
externalWallHeatFlux
|
#7 | |
Member
Join Date: Nov 2020
Posts: 53
Rep Power: 6 |
Quote:
Hey, I experienced the same problem, too. Have you figured out what causes this problem? Please share your thoughts.. Regards, Mike |
||
September 28, 2021, 17:54 |
externalWallHeatFlux
|
#8 | |
Member
Join Date: Nov 2020
Posts: 53
Rep Power: 6 |
Quote:
Have you found a way to fix this issue? I encountered same problem too. Regards, Mike |
||
October 1, 2021, 20:09 |
|
#9 |
New Member
Anup Singh
Join Date: Mar 2020
Posts: 22
Rep Power: 6 |
If you are still having issues you can use the following snippet directly in your temperature file.
You can modify it to vary your heat transfer coefficient and all. Furthermore, if you are having issues due to the very high value of heat transfer coefficient which leads to temperature jump at boundary then you can even relax the gradient update by implementing a relaxation factor. mold_cool { type codedMixed; refValue uniform 300; //default value refGradient uniform 0; //default value valueFraction uniform 1; redirectType mold_cool_BC; //name of new BC type code #{ scalar h = 400; const scalarField& k_ = patch().lookupPatchField<volScalarField, scalar>("kappa"); //extracting thermal conductivity at boundary this->refValue() = 300; //Wall temperature this->refGrad() = -h*(T_ - 300)/k_; // dT/dx = -h(Tboundary - Tamb)/conductivity this->valueFraction() = Zero; #}; //codeInclude //#{ // #include "interpolationTable.H" // #include "IFstream.H" // #include "OFstream.H" //#}; //codeOptions //#{ // -I$(LIB_SRC)/finiteVolume/lnInclude //#}; } |
|
October 8, 2021, 01:59 |
Thanks!
|
#10 | |
Member
Join Date: Nov 2020
Posts: 53
Rep Power: 6 |
Quote:
Thank you for your response. I got it working the externalWallHeatFluxTemperature boundary condition by fixing a silly mistake. Anyway, I'll keep your snippet of code for future reference. Regards, Mike |
||
October 13, 2021, 04:16 |
|
#11 | |
Member
JuanMi
Join Date: Nov 2017
Posts: 41
Rep Power: 9 |
Quote:
https://foamingtime2.files.wordpress...ction-bc_1.pdf Regards |
||
October 14, 2021, 11:24 |
|
#12 |
New Member
Anup Singh
Join Date: Mar 2020
Posts: 22
Rep Power: 6 |
Dear keitaro,
I think you have misunderstood the explanation of terms here. In the document you have attached the boundary condition is implemented with linearization. Whereas in my case it has been implemented as it is. If you wish to clarify your doubt then you can rearrange the terms implemented in both case and you will get same equation for the boundary condition. In fact, I have tried both the implementation myself but I am used to my implementation as I had a habit of hardcoding for my boundary condition when I couldn't find an option for it. If you wish to know more then you can explore the mixedBC, codedmixed etc. and you will find how they are implemented. Also if you wish to know more in a way which is bit rough but bit easier to understand then you can follow the explanation of bigphil where harcoding of BC in the solver is explained. Updating Boundary Conditions Each Iteration |
|
October 14, 2021, 12:46 |
|
#13 | |
Member
JuanMi
Join Date: Nov 2017
Posts: 41
Rep Power: 9 |
Quote:
Dear Singh, sorry for my ignorance, I had always used Robin's conditions in OF in that way without paying attention to the possibility of introducing it with f=0 and thus using "a variable Neumann condition". Thank you for the link, we always learn something new every day, my apologies . Regards |
||
December 19, 2021, 12:49 |
|
#14 | |
New Member
Giacomo Quattrucci
Join Date: Mar 2021
Posts: 2
Rep Power: 0 |
Quote:
refValue uniform 0; const scalar q = 2000; (example) this->refGrad() = q/k |
||
December 19, 2021, 18:27 |
|
#15 |
New Member
Anup Singh
Join Date: Mar 2020
Posts: 22
Rep Power: 6 |
Yup, you can implement it in this way..
just make sure that your formulation is consistent.. ie.. this->refValue() = 300; //Wall temperature this->refGrad() = q/k; // dT/dx = q/k this->valueFraction() = Zero; //to make sure that only grad part is implemented.. try to look for reference material if you wish to know more about the implementation. Hope it helps.. If you have any further issues just post them.. someone will answer them for you.. |
|
February 22, 2022, 03:32 |
|
#16 |
New Member
dhiraj
Join Date: Nov 2021
Posts: 6
Rep Power: 5 |
hello everyone. I have a solar receiver in which at outer surface of the receiver i have to apply non-uniform heat flux [cosine profile - q(θ) = qnet ·
cos θ(−90 ≤ θ ≤ 90)] with radiation and convection losses to ambient. can anyone give me the idea for writing the UDF for ansys fluent for this condition. thanks ! |
|
September 15, 2024, 18:33 |
|
#17 | |
New Member
Lorenzo Sufra
Join Date: Aug 2023
Posts: 3
Rep Power: 3 |
Quote:
I think the reference paper is correct by retrieving the temperature implicitly enforcing the gradient at the wall, whereas your formulation is fully explicit and enforce the gradient basing on temperature of previous time steps/iterations (which in my opinion is the wrong way to enforce Neumann BC). There is no linearization involved. Regards |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Question about symmetry in Autodesk Cfd 2016 | ecto | Autodesk Simulation CFD | 0 | October 20, 2015 05:16 |
small question about the functionalities of topological changes in OpenFoam | ngj | OpenFOAM Running, Solving & CFD | 2 | February 28, 2013 11:02 |
Question Re Engineering Data Source | imnull | ANSYS | 0 | March 5, 2012 14:51 |
internal field question - PitzDaily Case | atareen64 | OpenFOAM Running, Solving & CFD | 2 | January 26, 2011 16:26 |
Poisson Solver question | Suresh | Main CFD Forum | 3 | August 12, 2005 05:37 |