Fluent UDF on parallel computing
Hello guys,
I use a cluster with three compute nodes. When I build an UDF (transient velocity profile B.C.) on the host of this cluster, during the process of load, I find this error: ******************************************** fluent_mpi.6.3.26: Rank 0:0: MPI_Barrier: MPI BUG: no requests done MPI Application rank 0 exited before MPI_Finalize() with status 1 17507: No such process 17506: No such process 28245: No such process 28246: No such process 999999 (../../src/mpsystem.c@1123): mpt_read: failed: errno = 104 999999: mpt_read: error: read failed trying to read 30 bytes: Connection reset by peer The fluent process could not be started. ******************************************** Do you know what happens? I would underline that I find this error when I load UDF, the building process works fine. Thanks Andrea |
Re: Fluent UDF on parallel computing
Could you post your DEFINE_PROFILE function? I never had this kind of error in parallel FLUENT, so without the source code I cannot say anything.
|
Re: Fluent UDF on parallel computing
Hi Bodgan,
this is the source code: /************************************************** ******************** unsteady.c March 22, 2007 05:25:31 PM UDF for specifying a transient velocity profile boundary condition max velocity is 30 m/s ************************************************** *********************/ #include "udf.h" DEFINE_PROFILE(unsteady_velocity, thread, position) { face_t f; real t = CURRENT_TIME; real teta = 2*M_PI*(t); begin_f_loop(f, thread) { /* Teta deve essere espresso in radianti */ F_PROFILE(f, thread, position) = 30*sin(teta); } end_f_loop(f, thread) } Thanks very much! Andrea |
Re: Fluent UDF on parallel computing
try like this:
DEFINE_PROFILE(unsteady_velocity, thread, position) { #if !RP_HOST face_t f; real t = CURRENT_TIME; real teta = 2*M_PI*(t); begin_f_loop(f, thread) { /* Teta deve essere espresso in radianti */ F_PROFILE(f, thread, position) = 30*sin(teta); } end_f_loop(f, thread) #endif } |
Re: Fluent UDF on parallel computing
Doesn't work!
I don't know... A cluster problem? Library "libudf/lnamd64/2d_host/libudf.so" openedfluent_mpi.6.3.26: Rank 0:0: MPI_Barrier: MPI BUG: no requests done MPI Application rank 0 exited before MPI_Finalize() with status 1 27397: No such process 27396: No such process 15441: No such process 15440: No such process 16739: No such process 999999 (../../src/mpsystem.c@1123): mpt_read: failed: errno = 104 999999: mpt_read: error: read failed trying to read 30 bytes: Connection reset by peer The fluent process could not be started. |
Re: Fluent UDF on parallel computing
I have no idea, try to talk with your system administrator, at first sight might be a communication problem.
|
Re: Fluent UDF on parallel computing
I tested the function on my system and it worked very well, so probably is a problem of system not of FLUENT, so speak to your administrator.
|
Re: Fluent UDF on parallel computing
Thanks very much Bogdan! I'll talk with system administrator...
Have a good day |
Re: Fluent UDF on parallel computing
Have you specified the full path for the udf? There is some documentation about udf for parallel Jan
|
Re: Fluent UDF on parallel computing
Hi Jan,
probably the problem is due to a system/server problem. The full path to udf is right but problably one or more node can't "see" udf. Tnx Andrea |
Re: Fluent UDF on parallel computing
Can we just take a step back here. 1. I am assuming that Fluent will run over the 4 nodes on your cluster (this tells us that FLuent is set up correctly)
2. Can you run the UDF on a simplified geometry on one node (this tells us that the UDF will work) 3. Does this problem occur on 2 and three nodes as well as 4 (this suggests that it might be a scaling problem) 4. Can you run a simple MPI "Hello World" using the Fluent MPI to check that is installed correctly 5. Is your udf visible to all of the compute nodes? That is, does it reside on a disk partition that is visible from all of the nodes, or can only the master node where you stare Fluent see the udf After that, I'm stuck. Julian |
Re: Fluent UDF on parallel computing
Hi Julian,
1 - right 2 - It works 3 - this problem occurs on 2 or 4 nodes 4 - It works 5 - I speak now with my system administrator, the udf is not visible to all of the compute nodes, only the master node view the partition...There's a cluster configuration problem. Thanks to all! Andrea |
Re: Fluent UDF on parallel computing
If you have a managed cluster, I am assuming hat you have some queueing software to control the number of jobs on the machines. Some clusters are set up so that the queue master program will copy the files around for you and others so that you have to write a script to do it yourself. Other clusters are set up so that you will need to copy all of your files to a `scratch' area to use the parallel capability. I'm just guessign now, like you say, best to speak to your sys-admin.
Julian |
Re: Fluent UDF on parallel computing
Thanks Julian, I regard you for the suggests. Now my sys-admin is busy... I'll inform you about the problem.
Andrea |
Regarding running Fluent case with UDF in a parallel cluster
Andrea/Julian,
I am trying to run a FLUENT case with UDF in a parallel cluster. But I'm getting an error that the UDF can't be found when I submit the job in the cluster. Eventually the job gets stopped. Could you please tell me how you managed to run the UDF in the Cluster. That is, what are the changed required to be made in the Journal file? How do you specify the path for the Fluent to read the UDF from the folder in which the UDF is stored? Thank you. Quote:
|
running in parallel mass_trasfer udf
Hi
I have problem to run in parallel this code?It is simple C_UDMI which is calculated before: DEFINE_MASS_TRANSFER(water1,c,t,from_index, from_species_index, to_index, to_species_index) { #if !RP_HOST return(C_UDMI(c,t,10)); #endif } in serial it is ok but parallel giving me following error: warning C4716: 'water1' : must return a value. is there anyone had expericed before? Thanks in advance!!! |
SIX DOF UDF in parallel
Dear friends
Please help me to convert this serial UDF to paralllel UDF computing #include "udf.h" DEFINE_SDOF_PROPERTIES(delta_missile, prop, dt, time, dtime) { prop[SDOF_MASS] = 907.185; prop[SDOF_IXX] = 27.116; prop[SDOF_IYY] = 488.094; prop[SDOF_IZZ] = 488.094; /* add injector forces, moments */ { register real dfront = fabs (DT_CG (dt)[2] - (0.179832*DT_THETA (dt)[1])); register real dback = fabs (DT_CG (dt)[2] + (0.329184*DT_THETA (dt)[1])); if (dfront <= 0.100584) { prop[SDOF_LOAD_F_Z] = 10676.0; prop[SDOF_LOAD_M_Y] = -1920.0; } if (dback <= 0.100584) { prop[SDOF_LOAD_F_Z] += 42703.0; prop[SDOF_LOAD_M_Y] += 14057.0; } } printf ("\ndelta_missile: updated 6DOF properties"); } |
Hi ,
Try this: #include "udf.h" DEFINE_SDOF_PROPERTIES(delta_missile, prop, dt, time, dtime) { #if !RP_HOST prop[SDOF_MASS] = 907.185; prop[SDOF_IXX] = 27.116; prop[SDOF_IYY] = 488.094; prop[SDOF_IZZ] = 488.094; /* add injector forces, moments */ { register real dfront = fabs (DT_CG (dt)[2] - (0.179832*DT_THETA (dt)[1])); register real dback = fabs (DT_CG (dt)[2] + (0.329184*DT_THETA (dt)[1])); if (dfront <= 0.100584) { prop[SDOF_LOAD_F_Z] = 10676.0; prop[SDOF_LOAD_M_Y] = -1920.0; } if (dback <= 0.100584) { prop[SDOF_LOAD_F_Z] += 42703.0; prop[SDOF_LOAD_M_Y] += 14057.0; } } printf ("\ndelta_missile: updated 6DOF properties"); #endif } best! Quote:
|
Parallel UDF
Quote:
|
hi,
try to use global variable macros! Best! kanarya Quote:
|
All times are GMT -4. The time now is 19:43. |