# UDF-Specific heat as a function of Temperature

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

May 2, 2013, 21:35
UDF-Specific heat as a function of Temperature
#1
Senior Member

Moha
Join Date: Mar 2013
Location: EU
Posts: 103
Rep Power: 0
Hi,

I am trying to write a UDF for the Specific heat (Cp) as a function of Temperature.
I used "curve fitting" technique to obtain the formula.

my First question, am I not sure if I put the below formula correctly (the original one is attached) ?

Cp=4.3568+27.57838*exp(-0.5*((K-19.08514)/2.00369)^2)

Second question, why the code is not interrupting ("float" error)? please guide me if through the code is right or not.

As its for a transient analysis so, I expected to call the temperature from current temperature.

#include "udf.h"
{
real cp; /*specific heat as a function of temperature*/
real K; /* Temperature*/

face_t f;
{
Cp = CURRENT_TEMPERATURE;

Cp=4.3568+27.57838*exp(-0.5*((K-19.08514)/2.00369)^2)

F_PROFILE(C, K, position) =Cp;
}
end_f_loop(C,K)
}

regards,
Attached Images
 Capture.JPG (15.7 KB, 26 views)

 May 2, 2013, 22:28 #2 Senior Member   Join Date: Aug 2011 Posts: 315 Rep Power: 13 As far as I can recall, the binary operator "^" in C means BIT-AND and it expects both operand to be integer, so you should replace (...)^2 to pow( (...), 2.0 ) when you need to calculate the power of a float number. Correct me if I am wrong

 May 3, 2013, 05:27 #3 Senior Member   Moha Join Date: Mar 2013 Location: EU Posts: 103 Rep Power: 0 Thank you for reply, Actually, I recived this error for the formula : pow: too few arguments supplied (argument 2) which its : cp=4.3568+27.57838*exp(-0.5*(pow((T-19.08514)/2.00369),2.0)

 May 3, 2013, 06:07 #4 Senior Member   Join Date: Aug 2011 Posts: 315 Rep Power: 13 Your ")" does not match "(" cp=4.3568+27.57838*exp(-0.5*( pow( (T-19.08514)/2.00369,2.0) ) );

 May 3, 2013, 06:13 #5 Senior Member   Moha Join Date: Mar 2013 Location: EU Posts: 103 Rep Power: 0 thank you! the formula's error now solved. but still have error "invalid type for binary expression: int + pointer to float" it belongs to the line after formula I guess. #include "udf.h" DEFINE_SPECIFIC_HEAT(my_user_cp,c,T,thread, position) { real cp; /*specific heat as a function of temperature*/ real T; /* Temperature*/ face_t f; begin_f_loop(f,thread) { cp=4.3568+27.57838*exp(-0.5*( pow( (T-19.08514)/2.00369,2.0) ) ); F_CENTROID(T,f,thread); y = CURRENT_TEMPERATURE; F_PROFILE(f, thread, position) =cp; } end_f_loop(C,T) } regards,

 May 3, 2013, 07:23 #6 Senior Member   Join Date: Aug 2011 Posts: 315 Rep Power: 13 Try this one, adapted from the fluent udf manual. #include "udf.h" DEFINE_SPECIFIC_HEAT(my_user_cp, T, Tref, h, yi) { real cp=4.3568+27.57838*exp(-0.5*( pow( (T-19.08514)/2.00369,2.0) ) ); *h = cp*(T-Tref); return cp; } antara likes this.

 May 3, 2013, 07:32 #7 Senior Member   Moha Join Date: Mar 2013 Location: EU Posts: 103 Rep Power: 0 thank you very much, It was hooked to the Fluent. As I have two UDF file, Is it possible to hook two UDF for analysis at same time ? it seems impossible as I tryied to do! what I should to do ? regards,

 May 3, 2013, 07:50 #8 Senior Member   Join Date: Aug 2011 Posts: 315 Rep Power: 13 I think at least you can concatenate the two files into a single file.

 May 3, 2013, 09:25 #9 Senior Member   Moha Join Date: Mar 2013 Location: EU Posts: 103 Rep Power: 0 I did and its work very well. I just paste the second code at the end of first code. let see the results... many thanks,

 May 4, 2013, 08:14 #10 Senior Member   Moha Join Date: Mar 2013 Location: EU Posts: 103 Rep Power: 0 would you please tell me how to change inital temperature value in Fluent ? and in C program code as UDF file ? as I can see the initial temperature (at step 0) for the model, its 26 C by default by Fluent. how can I change it ? where is the option menu in Fluent ? or in this such a case that in transient analysis I must define at UDF file which its already interrupted to the Fluent ? Note: when I am using hybrid initialization! regards, Last edited by ahvz; May 4, 2013 at 08:30.

 May 4, 2013, 08:47 #11 Senior Member   Join Date: Aug 2011 Posts: 315 Rep Power: 13 You can use DEFINE_INIT to specify the initial values. ahvz likes this.

 May 4, 2013, 09:11 #12 Senior Member   Moha Join Date: Mar 2013 Location: EU Posts: 103 Rep Power: 0 Done! it works very well, thank you very much, best regards,

October 19, 2014, 09:48
#13
Senior Member

Daniele
Join Date: Oct 2010
Location: Italy
Posts: 992
Rep Power: 16
Quote:
 Originally Posted by blackmask Try this one, adapted from the fluent udf manual. #include "udf.h" DEFINE_SPECIFIC_HEAT(my_user_cp, T, Tref, h, yi) { real cp=4.3568+27.57838*exp(-0.5*( pow( (T-19.08514)/2.00369,2.0) ) ); *h = cp*(T-Tref); return cp; }
It's an old post, but take care that the equation for enthalpy is wrong, since it's valid for constant cp(f(T)).
Correct equation is integral of cp.

May 28, 2015, 18:53
#14
New Member

tan
Join Date: Jun 2014
Posts: 4
Rep Power: 4
Quote:
 Originally Posted by ghost82 It's an old post, but take care that the equation for enthalpy is wrong, since it's valid for constant cp(f(T)). Correct equation is integral of cp.
In which case, how would one write the integral of cp to correctly represent the enthalpy in UDF?

 February 26, 2016, 06:14 udf for specific heat (cp) of water #15 New Member   Ram Kumar Pal Join Date: Apr 2015 Posts: 21 Rep Power: 3 Dear friends, I have to write udf for specific heat of water as function of temperature. I have written according to DEFINE_PROPERTY macro, but it is not working. Specific heat of water as a function of temperature (in deg Celsius) is as follows: cp = 4.2174356 - 0.0056181625*temp + 0.0012992528*pow(temp,1.5) - 0.00011535353*pow(temp,2.0) + 4.14964*pow(10.0,-6.0)*pow(temp,2.5) I have seen in UDF manual DEFINE_SPECIFIC_HEAT, but don't understand how can I write for above defined function. Please help me. Thanks in advance

 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 ivanyao OpenFOAM Running, Solving & CFD 1 October 12, 2012 09:31 nanoraja ANSYS Meshing & Geometry 1 September 14, 2011 11:34 Suzzn CFX 18 October 2, 2009 04:18 skabilan OpenFOAM Installation 3 July 28, 2009 00:35 Christian Main CFD Forum 2 February 27, 2007 07:27

All times are GMT -4. The time now is 14:59.