# UDF : heat source located in a solid

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

 July 29, 2013, 04:50 UDF : heat source located in a solid #1 New Member   Join Date: Jul 2013 Posts: 21 Rep Power: 5 Hello, I am an user of FINE/Open. I would like to make a comparison with Fluent. Therefore, I need a little help in Fluent. In my domain, I have a fluid part and a solid part. In the solid, I'd like inserting a localized heat source in function of x, y and z. Is it possible? (and in the definition of the coordinates, it slightly exceeds? eg, due to an imprecise geometry, my x-coordinate exceeds of 1 mm, how Fluent work?) You can help me to construct the udf ? if I have this coordonates for the heat source : - x : x=0 to 0.001 - y : y=0 to 0.0015 - z : z=0.001 to 0.00012 vol=0.001*0.0015*0.0002; HS=10/vol; thanks a lot !

July 29, 2013, 10:59
#2
Senior Member

Alex
Join Date: Jun 2012
Location: Germany
Posts: 1,278
Rep Power: 22
Yes, defining a local heat source via UDF is possible. Here is part of a UDF I used for a similar purpose:

Code:
```#include "udf.h"

DEFINE_SOURCE(sourceterm,c,t,dS,eqn)
{
real x[ND_ND];          //some variable declaration
real source;

C_CENTROID(x,c,t);      //reads the position of the cell centroid and writes it to the field x
source = 1.0            //instead of the constant heat source, apply whatever function f(x[0],x[1]x[2],...) you need
return source;          //returns the value of the heatsource for the cell
}```
After interpreting or compiling this UDF, you can choose "sourceterm" as a sourceterm in the domain.

The DEFINE_SOURCE macro used here loops automatically over all cells in the domain. Consequently, the source term is applied cell-wise which means it has a conatant value in a cell.
I am sure you can work out the exact function using a few if-statements. x[0] holds the x-coordinate, x[1] the y-coordinate and x[2] the z-coordinate of the cell centroid.

Edit:
Quote:
 - x : x=0 to 0.001 - y : y=0 to 0.0015 - z : z=0.001 to 0.00012 vol=0.001*0.0015*0.0002; HS=10/vol;
too many or not enough zeros...

 July 30, 2013, 04:08 #3 New Member   Join Date: Jul 2013 Posts: 21 Rep Power: 5 Thank you ! The code is correct like this? (indeed, I made little mistake for the z coordinate) #include "udf.h" DEFINE_SOURCE(sourceterm,c,t,dS,eqn) { real x[ND_ND]; real source; real vol; C_CENTROID(x,c,t); if(x[0]=>0 && x[0]<=0.001 && x[1]=>0 && x[1]<=0.0015 && x[2]=>0.001 && x[2]<=0.0012) { vol=0.001*0.0015*0.0002; source=10/vol; } else { source=0; } return source; }

 July 30, 2013, 05:21 #4 Senior Member     Alex Join Date: Jun 2012 Location: Germany Posts: 1,278 Rep Power: 22 Looks fine.

 July 30, 2013, 07:55 #5 New Member   Join Date: Jul 2013 Posts: 21 Rep Power: 5 It's strange, I have no warning in the compilation, but the temperature in the solid doesn't increase. An idea?

July 30, 2013, 08:22
#6
Senior Member

Alex
Join Date: Jun 2012
Location: Germany
Posts: 1,278
Rep Power: 22
Quote:
 After interpreting or compiling this UDF, you can choose "sourceterm" as a sourceterm in the domain.
Simply interpreting the UDF does not acrivate any source terms.

source_term.jpg

 July 30, 2013, 08:27 #7 New Member   Join Date: Jul 2013 Posts: 21 Rep Power: 5 Yes yes, I find the error. I was stupid, I made a mistake in one of the coordinates. Thank you for your help !

October 8, 2013, 18:56
#8
New Member

David Aliaga
Join Date: Oct 2013
Posts: 4
Rep Power: 5
Quote:
 Originally Posted by cdiako Yes yes, I find the error. I was stupid, I made a mistake in one of the coordinates. Thank you for your help !
Hey hi! i have the same problem, i need to put on mi domain a constant heat, momentum and mass source on a localized point on the cell zone ( in this case water liquid). Cause of the options of Fluent it self only allows to loop the source on all the fluid cell zone, i realized that i haved to find the way to program with UDF to indicate just a certain point, in this case the centroid of the cell. I also intempted to make two bodies and assign the fluid zone to both, but the all turns real messy with the zones that are created. My question is, this udf will help me with my problem? wich are the steps for writing my udf. IŽll really appreciated your help =D

 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 GGerber OpenFOAM Installation 54 April 24, 2015 16:02 tayo OpenFOAM 39 December 3, 2012 06:18 Attesz CFX 20 October 15, 2010 08:11 hjasak OpenFOAM Post-Processing 69 April 24, 2008 01:24 Ryan FLUENT 0 April 10, 2003 19:13

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