UDF question
Hello All -
I am trying to simply define the diffusivity properties of 5 different species for two different zones. I have decided using if loops is the most efficient. Everything appears to be in order, and the UDF hooks to fluent just fine, but when I attempt to begin iterating, I get "Floating Point Error: invalid number." I am not sure if fluent is even recognizing the coefficients I am putting in. Please Help!!! Cheers #include "udf.h" DEFINE_DIFFUSIVITY(protondiff,c,t,i) { real D; int zone_ID = THREAD_ID(t); if (i == 1){ if (zone_ID==2) {D = 2.03e-15;} if (zone_ID==3) {D =2.03e-15;} return D;} if (i == 2){ if (zone_ID==2) {D = 8.91e-10;} if (zone_ID==3) {D = 9.90e-10;} return D;} if (i == 3){ if (zone_ID==2) {D = 1.9285e-11;} if (zone_ID==3) {D = 2.03e-11;} return D;} if (i == 4){ if (zone_ID==2) {D = 4.275e-11;} if (zone_ID==3) {D = 4.5e-11;} return D;} if (i == 5){ if (zone_ID==2) {D =2e-15;} if (zone_ID==3) {D = 2e-15;} return D;} } |
Re: UDF question
try this:
#include "udf.h" DEFINE_DIFFUSIVITY(protondiff,c,t,i) { real D=0.0; int zone_ID = THREAD_ID(t); if (i == 1){ if (zone_ID==2) {D = 2.03e-15;} if (zone_ID==3) {D =2.03e-15;} return D;} else if (i == 2){ if (zone_ID==2) {D = 8.91e-10;} if (zone_ID==3) {D = 9.90e-10;} return D;} else if (i == 3){ if (zone_ID==2) {D = 1.9285e-11;} if (zone_ID==3) {D = 2.03e-11;} return D;} else if (i == 4){ if (zone_ID==2) {D = 4.275e-11;} if (zone_ID==3) {D = 4.5e-11;} return D;} else if (i == 5){ if (zone_ID==2) {D =2e-15;} else if (zone_ID==3) {D = 2e-15;} return D;} else { return D; }} |
Re: UDF question
That worked great, thanks! The numbers for species were from 0-4 though. Cheers, Ryan
|
All times are GMT -4. The time now is 23:52. |