|
[Sponsors] |
MPI Application rank 0 exited before MPI_Finalize() with status 2 |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 27, 2021, 03:26 |
MPI Application rank 0 exited before MPI_Finalize() with status 2
|
#1 |
Member
Amirreza Niazmehr
Join Date: Nov 2018
Posts: 40
Rep Power: 8 |
Hi guys
I'm using user defined real gas model which is a kind of udf. For Cp I have a interpolation function which comes from our own descrete data for Cp. In a part of our udf we are calculatig numerically the enthalpy which has this formulation: The numerical Scheme which we are using is: Trapezoidal Rule as follow: Code:
double Air_enthalpy(cell_t c, Thread *t, double temp, double density, double P, double yi[]) { Thread *tf,*t0,*t1; face_t f; cell_t c0,c1; c0=F_C0(f,tf,0); // adjacent cell id //c1=F_C1(f,tf); // adjacent cell id t0 = F_C0_THREAD(f,tf); // adjacent cell thread //t1 = F_C1_THREAD(f,tf); // adjacent cell thread double Cp = Air_specific_heat(c, t, temp, density, P, yi) ; double tempb= C_T(c0,t0); //double tempf= C_T(c1,t1); double delT=(temp-tempb); double Cpb = Air_specific_heat(c0, t0, temp, density, P, yi); //double Cpf = Air_specific_heat(c1, t1, tempf, density, P, yi) ; double delta_h = ((Cp+Cpb)/2)*(delT) ; return H_REF+Air_H_ideal_gas(temp)+delta_h; //(J/Kg) But when I'm going to run the calculations, I get this error from Fluent: MPI Application rank 0 exited before MPI_Finalize() with status 2 LoadingMATERIALS The fl process could not be started. Does my UDF has some problems? Does anybody has any idea, how to fix it? |
|
March 27, 2021, 04:28 |
|
#2 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
Let's see how the compiler reads this piece of code
Code:
face_t f; cell_t c0,c1; c0=F_C0(f,tf,0); // adjacent cell id First line: f is a face. Nice to know, the compiler reserves some memory, for if you later tell him which face. Right now, there is garbage in the memory. Second line: c0 and c1 are cells. Great, the compiler knows to reserve some memory. You did not yet say which cells they are, so there is still garbage in memory. Third line: you assign c0. Nice, the compiler has some memory for that. What should be put in memory? The cell next to f. What is f? The compiler has some memory for f, so it looks there. Garbage! You did not say which face f should be! The program can not continue, and gives an error.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build". |
|
March 27, 2021, 04:30 |
|
#3 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
And I think the compiler warned about this. You did not see the compiler error.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build". |
|
March 27, 2021, 05:55 |
|
#4 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
You understand that the function gives you a cell c, and that you have to give the enthalpy at that cell?
Because you are doing things with f and c0 that I don't understand. What is delT supposed to be? Temperature difference between what? It's hard to fix a UDF if it's unclear what you are doing...
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build". |
|
March 28, 2021, 07:27 |
|
#5 | |
Member
Amirreza Niazmehr
Join Date: Nov 2018
Posts: 40
Rep Power: 8 |
Quote:
Sorry for my late answer, I was not available yesterday evening! First of all, I should say I'm new in using Udf in this way. Actually I want to compute numerically this integral (it's Enthalpy): Int.PNG the numerical method which I'm using to calculate this Integral is: Trapezoidal Rule I'm going to use the information of adjacent (neighbouring) cells to calculate this integral. For exmple double tempb= C_T(c0,t0) is the temperature of the left cell. or double delT=(temp-tempb); is the Temperature difference between the left and current cell, whith these informations I'm going to calculate the integral formulation for Enthalpy. Besides I have the function of Cp, because this function is the result of our descrete data for Cp which be computed by interpolation! So the only thing which I need is the informoatin of adjacent (neighbouring) cells to calculate the Integral numerically. If my code to solve this problem is wrong, I would really appreciate if you can correct it! I'm really stuck in it! |
||
March 28, 2021, 10:04 |
|
#6 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
Don't use a UDF. Use Excel.
You have a table with Cp for various temperatures, right? Now use the trapezoidal rule in that table to calculate the integral. Do this for every temperature in your table. Now you have a second table: temperature vs integral. Put that info in Fluent. Summary: don't put the trapezoidal rule in Fluent, but put the result of the trapezoidal rule in Fluent.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build". |
|
March 29, 2021, 11:35 |
|
#7 | |
Member
Amirreza Niazmehr
Join Date: Nov 2018
Posts: 40
Rep Power: 8 |
Quote:
I got what you say, but we have instead of a table with Cp for various temperatures and pressures (because in our case it's a function of pressure and temperature) , we have the coefficients of interpolation functions. That means right now I don't have any discrete data for Cp directly, instead it would be computed somehow indirectly by means of coefficients of interpolation functions). I try to get also the discrete data of Cp itself to do what you suggested. Besides the number of informations are too much! It takes too much time to do what you said for each Cp and corresponding Temperature and pressure! But if I want to use udf of Fluent for this purpose and by the means of the file which I have (coefficients of interpolation functions), then do you have any suggestion? Again thanks alot for your hints |
||
March 29, 2021, 14:47 |
|
#8 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
Takes too much time? If you know Excel, and can do it for one T+p, you can do all with only a few more clicks...
But if you really want to use a UDF: your approach makes no sense. Your integral is from T0 to T, not from the temperature of the neighbor cell to the current cell. The neighbor cell is not in the definition, so ignore it! Let Ttemp go from T0 to the cell temperature, calculate the Cp corresponding to Ttemp and the cell pressure, and use your favorite integration scheme to calculate the integral. You don't have to access other cells or faces.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build". |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
MPI Application rank 0 exited before MPI_Finalize() with status 2 in Crystallization | JohnE | Fluent UDF and Scheme Programming | 2 | June 21, 2020 18:04 |
MPI Application rank 0 exited before MPI_Finalize() with status 2 The fl process cou | Ryo KIKU | Fluent UDF and Scheme Programming | 2 | January 8, 2020 02:07 |
MPI Application rank 2 exited before MPI_Finalize() with status 2 The fl process cou | Venu Angirekula | FLUENT | 0 | June 7, 2019 05:36 |
MPI Application rank 0 exited before MPI_Finalize() with status -1073741819 | zjuv9021 | FLUENT | 1 | April 29, 2019 02:06 |
MPI Application rank 0 exited before MPI_Finalize() with status 1 | mustafadeniz89 | AVL FIRE | 6 | November 24, 2015 10:40 |