|
[Sponsors] |
October 26, 2022, 10:25 |
Enthalpy Calculation with UDF
|
#1 |
New Member
ANTALYA
Join Date: Sep 2017
Posts: 20
Rep Power: 8 |
Hi,
I have struggled to solve specific heat and enthalpy values of supercritical CO2 in the pipe using the following code (only for 80 bar). Although my code is running in Fluent, the solution does not converge. Also, there is a warning in Fluent as C4715: not all control paths return a value". I want to learn your recommendations about my problem. Regards, Code:
#include "udf.h" DEFINE_SPECIFIC_HEAT(supercritical_cp, T, Tref, h, yi) { real cp; if (300. >= T) { cp = 2.256999118844760E-02 * pow(T, 4.) - 2.606618818487370E+01 * pow(T, 3.) + 1.129129898467780E+04 * pow(T, 2.) - 2.174235523392760E+06 * T + 1.570278261279480E+08; } if (306. >= T > 300.) { cp = 1.147018354719330E+01 * pow(T, 4.) - 1.385519872072390E+04 * pow(T, 3.) + 6.276090044658930E+06 * pow(T, 2.) - 1.263530241490370E+09 * T + 9.539285116131690E+10; } if (307.8 >= T > 306.) { cp = -1.611612838918710E+04 * pow(T, 4.) + 1.978085636985280E+07 * pow(T, 3.) - 9.104578256081260E+09 * pow(T, 2.) + 1.862478067464320E+12 * T - 1.428738938943020E+14; } if (310. >= T > 307.8) { cp = -1.576135476848110E+03 * pow(T, 4.) + 1.945866130859760E+06 * pow(T, 3.) - 9.008641337104630E+08 * pow(T, 2.) + 1.853611584329810E+11 * T - 1.430227164258690E+13; } if (320. >= T > 310.) { cp = 1.770529718817220E+00 * pow(T, 4.) - 2.242833202341920E+03 * pow(T, 3.) + 1.065432793165650E+06 * pow(T, 2.) - 2.249454519629040E+08 * T + 1.781003821884030E+10; } if (T > 320) { cp = 2.086961941877520E-03 * pow(T, 4.) - 2.851496372954040E+00 * pow(T, 3.) + 1.461548345109060E+03 * pow(T, 2.) - 3.330816449664890E+05 * T + 2.848088978782360E+07; } return cp; } #include<stdio.h> float y(float T) { if (300. >= T) return 2.256999118844760E-02 * pow(T, 4.) - 2.606618818487370E+01 * pow(T, 3.) + 1.129129898467780E+04 * pow(T, 2.) - 2.174235523392760E+06 * T + 1.570278261279480E+08; if (306. >= T > 300.) return 1.147018354719330E+01 * pow(T, 4.) - 1.385519872072390E+04 * pow(T, 3.) + 6.276090044658930E+06 * pow(T, 2.) - 1.263530241490370E+09 * T + 9.539285116131690E+10; if (307.8 >= T > 306.) return -1.611612838918710E+04 * pow(T, 4.) + 1.978085636985280E+07 * pow(T, 3.) - 9.104578256081260E+09 * pow(T, 2.) + 1.862478067464320E+12 * T - 1.428738938943020E+14; if (310. >= T > 307.8) return -1.576135476848110E+03 * pow(T, 4.) + 1.945866130859760E+06 * pow(T, 3.) - 9.008641337104630E+08 * pow(T, 2.) + 1.853611584329810E+11 * T - 1.430227164258690E+13; if (320. >= T > 310.) return 1.770529718817220E+00 * pow(T, 4.) - 2.242833202341920E+03 * pow(T, 3.) + 1.065432793165650E+06 * pow(T, 2.) - 2.249454519629040E+08 * T + 1.781003821884030E+10; if (T > 320) return 2.086961941877520E-03 * pow(T, 4.) - 2.851496372954040E+00 * pow(T, 3.) + 1.461548345109060E+03 * pow(T, 2.) - 3.330816449664890E+05 * T + 2.848088978782360E+07; } // Function to evaluate the value of integral float trapezoidal(float Tref, float T, float n, float k, float *h) { k = (T-Tref)/n; *h = y(Tref)+y(T); for (int i = 1; i < n; i++) *h += 2*y(Tref+i*k); return (k/2)*(*h); } // Driver program to test above function int main() { // Range of definite integral (initial values) float T0 = 295; float Tn = 300; int n = 2000; return 0; } Last edited by erginbayrak; October 28, 2022 at 03:48. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
i have a problem with my udf when I give it Run Calculation | secorreaz | Fluent UDF and Scheme Programming | 1 | April 3, 2022 22:57 |
UDF For inlet Velo BC, trouble in soln calculation | Siddharth17 | Fluent UDF and Scheme Programming | 2 | March 24, 2022 08:08 |
Enthalpy Calculation for every media Component | MNMK | CFX | 0 | May 3, 2021 03:58 |
Define_Source UDF for Enthalpy of Dilution | jreiter164 | Fluent UDF and Scheme Programming | 4 | March 18, 2015 20:10 |
my UDF can not calculation? | happyrabbit | FLUENT | 0 | October 21, 2010 08:59 |