# UDF with differential equations

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

 June 9, 2018, 13:43 UDF with differential equations #1 New Member   Edwin P Join Date: Jun 2018 Posts: 13 Rep Power: 7 Hi. I am computing a source term of the energy equation in ANSYS Fluent. How to add a system of differential equations in a UDF? Each differential equation depends on time and temperature. In particular, I want to solve a set of differential equations based on the Arrhenious equation: dx1/dt=k1*exp(k2/(R*T)), dx2/dt=k3*exp(k4/R*T), where k1,k2,k3,k4 and R are constants. Thus, my source term is (dx1/dt+dx2/dt)*k5. I know that I could use DEFINE_SOURCE(name,c,t,dS,eqn). Any suggestion? Regards

 June 13, 2018, 22:05 #2 Senior Member   Join Date: Mar 2015 Posts: 892 Rep Power: 17 Using the DEFINE_SOURCE macro is correct, and the temperature of each cell can be retrieved with C_T(c,t). See below for an example, and check the UDF guide for details. Was the second equation intentionally of a different form to the first, or was it supposed to follow the Arrhenius equation as well? Code: ```#define k1 1.0 #define k2 2.0 #define k3 3.0 #define k4 4.0 #define k5 5.0 #define R 6.0 DEFINE_SOURCE(arrhenious_source,c,t,dS,eqn) { real term1 = k1*exp(k2/(R*C_T(c,t))); real term2 = k3*exp(k4/(R*C_T(c,t))); real source = (term1+term2)*k5; dS[eqn] = 0.0; return source; }```

 June 14, 2018, 09:53 UDF with differential equations (Edited) #3 New Member   Edwin P Join Date: Jun 2018 Posts: 13 Rep Power: 7 Sorry, I forgot one term in each equation. The system of differential equations are as follow: dx1/dt=x1*k1*exp(k2/(R*T)), dx2/dt=x2*k3*exp(k4/R*T), The source term is (dx1/dt+dx2/dt)*k5. As you can see, the dependt variables are x1 and x2. Thanks for your help

 June 14, 2018, 19:42 #4 Senior Member   Join Date: Mar 2015 Posts: 892 Rep Power: 17 What are x1 and x2? Are they the spatial coordinates x and y? The centroid of cell volumes can be retrieved with the C_CENTROID macro.

 June 14, 2018, 19:57 #5 New Member   Edwin P Join Date: Jun 2018 Posts: 13 Rep Power: 7 x1 and x2 are dimensionless concentrations (from 0 to 1). These variables represent chemical reactions. I am computing the transient increase of temperature due to these reactions.

 June 14, 2018, 20:05 #6 Senior Member   Join Date: Mar 2015 Posts: 892 Rep Power: 17 How are you modelling the concentrations? If you are using the species transport model in Fluent then the species mass fraction can be retrieved with the C_YI macro. mingllove likes this.

 June 14, 2018, 20:22 #7 New Member   Edwin P Join Date: Jun 2018 Posts: 13 Rep Power: 7 I am not modelling the concentrations because of I need to know only the temperature. For this reason, I had been thinking to solve the system of equations and get automatically the temperature. Thanks for your suggestion about using the species transport model.

 June 14, 2018, 20:34 #8 Senior Member   Join Date: Mar 2015 Posts: 892 Rep Power: 17 Sounds like the concentrations are an important and coupled component of your model. For perspective: without modelling the concentrations and trying to calculate the temperature would be similar to finding the pressure distribution on an aerofoil without solving the momentum equations. The user-defined scalar transport equation could be used instead of the in-built species model (both methods should work, the former has more flexibility but the latter would be easier to implement).

 June 15, 2018, 18:13 #9 New Member   Paul Lee Join Date: Jun 2018 Location: Vancouver Posts: 14 Rep Power: 7 Can I use the built-in species transport model for ionic movement in aqueous electrolyte? From the density term it seems to be built for gases reaction of an IC engine.

June 15, 2018, 19:25
#10
Senior Member

Join Date: Mar 2015
Posts: 892
Rep Power: 17
Quote:
 Originally Posted by paoching Can I use the built-in species transport model for ionic movement in aqueous electrolyte? From the density term it seems to be built for gases reaction of an IC engine.
What equations are you trying to solve and do these equations have a similar form to the species transport model? Otherwise you could use the user-defined scalar transport equations for more flexibility.

 June 15, 2018, 19:49 #11 New Member   Paul Lee Join Date: Jun 2018 Location: Vancouver Posts: 14 Rep Power: 7 I'm solving charged ionic movement in a galvanic corrosion system using the nernst planck equation. I think that is what species transport model use as well. what prompt me to wonder if species transport model is suitable for aqueous system is the density property of the mixture material. I've been using the "volume-weighted-mixing law" instead of the default "incompressible-ideal-gas" hopping that the solver will pick the "water-liquid" density that I entered as "selected species". I would have preferred if I could just entered a constant for the electrolyte density, but that is not an option. Perhaps I need to do this through UDF. Have you used the species transport solver on aqueous system? How did that worked out?

June 15, 2018, 20:21
#12
Senior Member

Join Date: Mar 2015
Posts: 892
Rep Power: 17
Quote:
 Originally Posted by paoching I would have preferred if I could just entered a constant for the electrolyte density, but that is not an option. Perhaps I need to do this through UDF.
Is there a hook available for a UDF to handle the density there? It would probably be easier and clearer to use a UDF instead of hoping that the correct relation is picked up from the material properties.

Quote:
 Originally Posted by paoching Have you used the species transport solver on aqueous system?
No.

 June 16, 2018, 06:45 #13 Senior Member   Join Date: Sep 2017 Posts: 243 Rep Power: 10 Hi Paoching, I have used species transport and reactions for aqueous systems, and there are no special problems. If you want a constant density, then define the same density for all the species, and then a weighted average in the mixture will always give the same answer. With the species model, your reactions have standard Arrhenius rate laws, so they are easy to set up. You may not need UDFs at all -- and this will probably have benefits in terms of stability etc. Good luck! Ed

 June 16, 2018, 13:12 #14 New Member   Paul Lee Join Date: Jun 2018 Location: Vancouver Posts: 14 Rep Power: 7 Thank you Ed

 Tags differential equation, fluent, source terms, udf