|
[Sponsors] |
[laserConvBC] Boundary condition with convection, heat source and radiation |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Dear everybody,
last year I build a new BC named laserConvectionBC (https://bitbucket.org/shor-ty/laserconvectionbc). Here we can model a heat source (LASER) with additional convection. However, today I wanted to implement the radiation into the boundary condition and focused a lot of problems. Okay starting from the scratch. At the beginning we make an equilibrium of all the heat fluxes: In addition ![]() To identify all terms we get: ![]() ![]() ![]() ![]() Here the pre-factor in the last term includes the emission factor + Stefan Bolzmann Constant. However, now we equilibrate all fluxes to get: ![]() which lead to: ![]() For a own mixed BC, we have to get the following equation: ![]() The quantities are identified as:
![]() ![]() ![]() While the ![]() ![]() ![]() The quantity ![]() ![]() Each feedback is welcomed.
__________________
Keep foaming, Tobias Holzmann Last edited by Tobi; September 19, 2017 at 04:21. |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
Tarang
Join Date: Feb 2011
Location: Delhi, India
Posts: 47
Rep Power: 15 ![]() |
I have written this condition for my own CFD code (not OpenFOAM) and I did it by numerically solving the first equation and providing the value of Tf. Although I have started using OpenFOAM very recently, I will try to write it in OpenFOAM and share it here.
Thanks for the BC - Tarang |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12 ![]() |
Hallo Tobi and FOAMers,
Somehow even I am in need to use the convection radiation boundary condition, but unlike you I would like to use it with groovyBC. So I tried to simplify the radiation term and incorporated in the equations as follows: Radiation: ![]() ![]() where ![]() Convection: ![]() Now if I make the energy balance for all 3 modes of heat transfer I have: ![]() ![]() After isolating ![]() ![]() ![]() on further simplification I get ![]() where f is ![]() Now implementing it in OpenFOAM with groovyBC Code:
myPatch { type groovyBC; refValue uniform 933.15; refGradient uniform 0; valueFraction uniform 1; value uniform 933.15; valueExpression "T_inf"; gradientExpression "0"; fractionExpression "1.0/(1.0+k/(mag(delta())*(h_conv +h_rad)))"; variables 6 ( "k= x ;" "sig_rad=5.6e-8;" "emmi=0.7;" "T_inf=933.15;" "h_conv = y ; "h_rad=sig_rad*emmi*(pow(T,2)+pow(T_inf,2))*(T+T_inf);" ) ; } 1) I am not sure if this is the right way of doing it ---> 2nd Opinion is always useful ![]() 2) Are there any reference case with an analytical solution for this kind of problems? 3) Were you (Tobi) able to implement your boundary condition for any of your simulations with sane results? Cheers! Ricky PS: The Idea was taken from here.
__________________
If it is easy, then something is fishy! Last edited by kera; October 2, 2017 at 10:25. |
|
![]() |
![]() |
![]() |
![]() |
#5 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Hi,
actually the post is not related to the boundary condition itself (: ... I could not find any tutorial about modeling the radiation term in the way I did or you do. However, I know it is a common method to put the radiation term into the HTC because of the high non-linearity. Your equations are correct and the modeling and implementation are correct too. Keep in mind that based on the explicit term T_f in the HTC, you should make a few loops to converge everything. That was actually the reason why I put the radiation term directly into a temperature depended HTC (by the way, nice that you hide your k and conv part using x and y :P ). Based on the fact that you derived everything yourself, I think you know what I am talking about. Again you have ![]()
__________________
Keep foaming, Tobias Holzmann |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Member
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12 ![]() |
Hallo Tobi,
The reason for posting it here, was because of the high non-linearity term and therefore I was not sure if at all my approach is in the right direction. --> Besides I was assuming that one need very small time steps (w.r.t. the grid) to see the effects, which could have been lot more easier if there were any analytical solution for such problems or perhaps a reference case. If I understand it correctly did you mean using loops at the boundary condition? Is it possible to do that using groovyBC? if yes how? I would really appreciate your help. Regards, Ricky
__________________
If it is easy, then something is fishy! |
|
![]() |
![]() |
![]() |
![]() |
#7 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Hi Ricky,
actually, I made a FOAM case where I was calculating the HTC for convection. Thus, I got an temperature depended heat flux and corresponding HTC. The same I did analytically for the radiation. Actually, I added the convective and radiation heat flux and build the temperature depended HTC which I was fitting with an polynomial which is simple to use as BC. If you want to have the real problem, then you have to make outer-corrections. I have no idea how much you need because of the high nonlinearity of the explicit ![]()
__________________
Keep foaming, Tobias Holzmann |
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Member
Ricky
Join Date: Jul 2014
Location: Germany
Posts: 78
Rep Power: 12 ![]() |
Hallo Tobi,
Thank you for your suggestions, and I will look in to it, indeed the simulation settings need to be more stiffer for such problems. I will let you know if I come up with something else or get stuck in between ![]() Quote:
Regards, Ricky
__________________
If it is easy, then something is fishy! |
||
![]() |
![]() |
![]() |
![]() |
#9 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
I used that approach in my Ph.D thesis. So what I did actually was:
Good luck. Tobi
__________________
Keep foaming, Tobias Holzmann |
|
![]() |
![]() |
![]() |
![]() |
#10 |
Member
Neilson Whit
Join Date: Aug 2011
Posts: 74
Rep Power: 15 ![]() |
Tobias, do you have an updated version of your laserBC for the new versions of openfoam?
|
|
![]() |
![]() |
![]() |
![]() |
#11 |
Member
Tarang
Join Date: Feb 2011
Location: Delhi, India
Posts: 47
Rep Power: 15 ![]() |
Hi,
I used inspiration from Tobi's boundary condition and it works in OpenFOAM-6 and it should work in v7 (I suspect no major changes in of7) but it will not work in v8. Well, it is not documented as exhaustive as Tobi's, but basic documentation is there in the header file. If you need help, pls reach out to me. https://github.com/gargtarang/OpenFO...bulentHeatFlux |
|
![]() |
![]() |
![]() |
![]() |
#12 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Hi, up to now I did not port it to OpenFOAM 8 as I was not aware that people are using the boundary condition, as it is very limited (only in one axis).
Furthermore, I did not programmed it in a nice way ![]() I might update it somewhen but first, there are other things to update first. I do have too much material that wants to be updated ![]()
__________________
Keep foaming, Tobias Holzmann |
|
![]() |
![]() |
![]() |
![]() |
#13 | |
Member
Neilson Whit
Join Date: Aug 2011
Posts: 74
Rep Power: 15 ![]() |
Quote:
I am trying to use it icoReactingMultiphaseInterFoam (OF v2006). Following compilation error comes out: Code:
In file included from laserConvectionFvPatchField.H:450, from laserConvectionFvPatchFields.H:44, from laserConvectionFvPatchFields.C:43: laserConvectionFvPatchField.C: In constructor ‘Foam::laserConvectionFvPatchField<Type>::laserConvectionFvPatchField(const Foam::fvPatch&, const Foam::DimensionedField<Type, Foam::volMesh>&, const Foam::dictionary&)’: laserConvectionFvPatchField.C:346:66: error: no matching function for call to ‘Foam::List<Foam::Vector<double> >::append(Foam::ITstream&)’ 346 | sourceCenters_.append(sourceDict.lookup("spotCenter")); | ^ |
||
![]() |
![]() |
![]() |
![]() |
#14 |
New Member
Đà Nẵng
Join Date: Jun 2019
Posts: 4
Rep Power: 7 ![]() |
Hi, I am using OpenFOAM to simulate laser bonding of two materials (glasses). I have already compiled laserconvectionBC of Dr. Tobi. Nevertheless, this code is applyed for one material. I do not know which solvers I enable use my case. Could you please give me advise?
Thank you so much! |
|
![]() |
![]() |
![]() |
![]() |
#15 |
New Member
Ramon
Join Date: May 2020
Posts: 3
Rep Power: 6 ![]() |
Hallo Everyone,
i have a problem with decomposing with the laser BC. When i decompose and let the Simulation solve with the following command: "mpirun -np 8 icoReactingMultiphaseInterFoam -parallel" it gives me the following output: "For patch Top only convection is applied, no laser source found." And it don't uses the laser source. also the source disappears by the decomposing process in the T-Files in the Processor Folders. When i let the Simulation run without decomposing the source is used and there are no Problems. The Version of OpenFoam is v1912. If somebody could help me, that would be very nice! Best regards! |
|
![]() |
![]() |
![]() |
![]() |
#16 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Interesting point. I had no problems decomposing the guy during my PhD. however, things might change
![]()
__________________
Keep foaming, Tobias Holzmann |
|
![]() |
![]() |
![]() |
![]() |
#17 | |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 51 ![]() ![]() ![]() |
Quote:
Just for me , ... what changes do you have in the condition?
__________________
Keep foaming, Tobias Holzmann |
||
![]() |
![]() |
![]() |
![]() |
#18 | |
New Member
Ramon
Join Date: May 2020
Posts: 3
Rep Power: 6 ![]() |
Quote:
thats the whole case yet. I think it`s not that complex. i build it up on the solidMelting2D Case. And Thanks for the quick response! ![]() |
||
![]() |
![]() |
![]() |
![]() |
#19 |
New Member
Ramon
Join Date: May 2020
Posts: 3
Rep Power: 6 ![]() |
||
![]() |
![]() |
![]() |
![]() |
#20 |
Member
Tarang
Join Date: Feb 2011
Location: Delhi, India
Posts: 47
Rep Power: 15 ![]() |
Sorry for replying late
1. 3 types of sources -> circular, ellipse, linear 2. Evaporation heat loss 3. Radiative heat loss 4. Sinusoidal movement of heat spot Radiative and evaporative heat loss is not linearised which I will solve using Ridder's method later. - gtarang Last edited by gtarang; September 22, 2020 at 10:32. Reason: Adding |
|
![]() |
![]() |
![]() |
Tags |
mixed boundary condition |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Radiation in semi-transparent media with surface-to-surface model? | mpeppels | CFX | 11 | August 22, 2019 07:30 |
Question about adaptive timestepping | Guille1811 | CFX | 25 | November 12, 2017 17:38 |
Monte Carlo Simulation: H-Energy is not convergating & high Incident Radiation | volleyHC | CFX | 5 | April 3, 2016 05:41 |
Radiation heat transfer boundary condition | natrask | OpenFOAM Programming & Development | 0 | February 8, 2015 09:05 |
GETVAR Error in Multiband Monte Carlo Radiation Simulation with Directional Source | silvan | CFX | 3 | June 16, 2014 09:49 |