# Boundary condition of the third kind or Danckwertz boundary condition

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

 October 2, 2006, 16:56 Hi, It seems that nobody ha #1 plage Guest   Posts: n/a Hi, It seems that nobody has read my question. I am posting this to bring it to attention. Can anyone answer it? Is there any implemented BC in OpenFOAM that can be used to treat implicitly a BC of third kind? Thanks for any help, Paulo

 October 3, 2006, 04:34 mixedFvPatchField in the finit #2 Super Moderator   Mattijs Janssens Join Date: Mar 2009 Posts: 1,416 Rep Power: 16 mixedFvPatchField in the finiteVolume library?

 October 3, 2006, 05:08 I'll give it a shot. k*nf & #3 Senior Member   Eugene de Villiers Join Date: Mar 2009 Posts: 725 Rep Power: 12 I'll give it a shot. k*nf & grad(T)_b = Cp*U_b*(T_b-To) k*nf & grad(T)_b = k*snGrad(T)_b k*snGrad(T)_b = k*(T_b - T_cell)/(nf & d) where d = X_boundaryFace - X_cellCentre Thus T_b = (k*T_cell/(nf & d) - Cp*U_b*To)/(k/(nf & d) -Cp*U_b) Once you have the correct boundary value of T, snGrad(T) can be found without iteration. Of course you have to stick all this stuff inside the evaluate function of your custom boundary condition so it can be updated properly. See OpenFOAM-1.3/src/finiteVolume/fields/fvPatchFields/basicFvPatchFields/fixedGradi ent/fixedGradientFvPatchField.C line 137-140 for details. Is this what you wanted or am I competely missing the point? If so you will have to do a bit more explaining. (PS. I probably made some mistakes with the gradient signs)

 October 3, 2006, 11:47 Dear Mattijs Janssens, I ha #4 plage Guest   Posts: n/a Dear Mattijs Janssens, I had already checked the mixedFvPatchField because of its name. Due to your suggestion, I read the code again more carefully. From it, it seems that mixedFvPatchField should do the job for the BC: nf & grad(T) = A*(Tref - T) if I specify: refGrad = 0 refValue = Tref and calculate f at each boundary face of the patch by f = A/(A+1/d), where 1/d = patch().deltaCoeffs() and 00, as soon as the local A value is available. If it is constant (not my case), this has to be done only once at the beginning of computation. For a third order boundary condition that comes from flux conservation: -k (nf & grad(T)) = h*(T - Tref) => A = h/k > 0 For a Danckwertz boundary condition: (nf & grad(T)) = (Cp/k)*(phi/magSf)*(T-Tref) => A = - (Cp/k)*(phi/magSf) > 0 because phi < 0 at an inlet boundary. I have not tried yet, but I will post if this solution works after trying. Does this seem correct to you? Thanks.

 October 3, 2006, 12:21 A small mistake in the line: #5 plage Guest   Posts: n/a A small mistake in the line: f = A/(A+1/d), where 1/d = patch().deltaCoeffs() and 00, in the previous post. The system did not produce correctly the text: 00 both in the same line.

 Thread Tools Display Modes Linear Mode

 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 OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post John FLUENT 4 November 24, 2008 08:57 tomik FLUENT 5 July 23, 2006 22:58 Ismail FLUENT 1 June 12, 2006 02:45 Shukla Main CFD Forum 3 November 11, 2005 16:02 Bivan Main CFD Forum 2 June 11, 2002 15:31

All times are GMT -4. The time now is 00:42.