Hallo,
ich will mit Hilfe des EDC-Modells in Fluent einen Reaktor, wo Methan vergast wird modellieren. Um am EDC-Modell etwas zu verändern, muss ich eine UDF für die Reaktionsrate mit Hilfe der Funktion DEFINE_NET_REACTION_RATE programmieren.
Zellennummer und Thread werden bei dieser Funktion nicht mit übergeben. Wie kann ich sie bekommen, da ich später z.B Dichte (C_R(cell,thread)) benötige. Ich kann auch nicht mit dem c_loop arbeiten, da das Modell nur für eine Zelle die Reaktionsrate liefern soll.
Ich bin über jede Hilfe dankbar. Unten hänge ich mal meine UDF an.
UDF:
--------
#include "udf.h"
DEFINE_NET_REACTION_RATE(udf_reaction_rate,p,temp1,yi,rr,jac)
{ /*Argumente sind Pointer für Druckvariable, Temp., Massenbrüche, Reactionrate, Jacobian*/
/* rr-Rueckgabe in kmol/(m³s)*/
int i;
double ctau,cxi,tau,xi,yi_edc;
Domain *domain;
Thread *t;
cell_t c;
domain = Get_Domain(1); //returns fluid domain pointer
/*Hier sollte jetzt was stehen wie c =Get_Cell, um die aktuelle Zelle zu erhalten! Leider gibts diesen Befehl nicht!!*/
ctau = RP_Get_Real("species/edc-c2"); /*Import der EDC-Konstanten ctau, cxi */
cxi = RP_Get_Real("species/edc-c1");
xi = cxi*pow( C_MU_L(c,t) * C_D(c,t)/ (C_R(c,t)*C_K(c,t)*C_K(c,t)),0.25 );
tau = ctau*sqrt(C_MU_L(c,t)/(C_D(c,t)*C_R(c,t)));
for ( i = 0 ; i < n_spe ; i = i+1 )
{
yi_edc = C_YI_EDC(c,t,i); /*EDC-Massfraction oder Fine scale volume fraction*/
rr[i] = (C_R(c,t)*pow(xi,2)*(yi_edc - yi[i]))/(tau*(1-pow(xi,3))); //Rückgabe
}
}
------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP