CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > FLUENT > Fluent UDF and Scheme Programming

Fluent UDF on parallel computing

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 3, 2007, 10:13
Default Fluent UDF on parallel computing
  #1
Andrea
Guest
 
Posts: n/a
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
  Reply With Quote

Old   April 4, 2007, 04:03
Default Re: Fluent UDF on parallel computing
  #2
Bogdan
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   April 4, 2007, 04:11
Default Re: Fluent UDF on parallel computing
  #3
Andrea
Guest
 
Posts: n/a
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
  Reply With Quote

Old   April 4, 2007, 04:17
Default Re: Fluent UDF on parallel computing
  #4
Bogdan
Guest
 
Posts: n/a
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

}

  Reply With Quote

Old   April 4, 2007, 04:30
Default Re: Fluent UDF on parallel computing
  #5
Andrea
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   April 4, 2007, 06:52
Default Re: Fluent UDF on parallel computing
  #6
Bogdan
Guest
 
Posts: n/a
I have no idea, try to talk with your system administrator, at first sight might be a communication problem.
  Reply With Quote

Old   April 4, 2007, 06:58
Default Re: Fluent UDF on parallel computing
  #7
Bogdan
Guest
 
Posts: n/a
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.
  Reply With Quote

Old   April 4, 2007, 07:04
Default Re: Fluent UDF on parallel computing
  #8
Andrea
Guest
 
Posts: n/a
Thanks very much Bogdan! I'll talk with system administrator...

Have a good day
  Reply With Quote

Old   April 5, 2007, 06:52
Default Re: Fluent UDF on parallel computing
  #9
jan
Guest
 
Posts: n/a
Have you specified the full path for the udf? There is some documentation about udf for parallel Jan
  Reply With Quote

Old   April 5, 2007, 07:04
Default Re: Fluent UDF on parallel computing
  #10
Andrea
Guest
 
Posts: n/a
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
  Reply With Quote

Old   April 5, 2007, 09:56
Default Re: Fluent UDF on parallel computing
  #11
julian
Guest
 
Posts: n/a
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
  Reply With Quote

Old   April 5, 2007, 10:07
Default Re: Fluent UDF on parallel computing
  #12
Andrea
Guest
 
Posts: n/a
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
  Reply With Quote

Old   April 5, 2007, 10:18
Default Re: Fluent UDF on parallel computing
  #13
julian
Guest
 
Posts: n/a
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

  Reply With Quote

Old   April 5, 2007, 13:26
Default Re: Fluent UDF on parallel computing
  #14
Andrea
Guest
 
Posts: n/a
Thanks Julian, I regard you for the suggests. Now my sys-admin is busy... I'll inform you about the problem.

Andrea
  Reply With Quote

Old   July 8, 2011, 08:06
Default Regarding running Fluent case with UDF in a parallel cluster
  #15
New Member
 
Josy
Join Date: Mar 2009
Location: India
Posts: 29
Rep Power: 17
Josyula is on a distinguished road
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:
Originally Posted by Andrea
;140670
Thanks Julian, I regard you for the suggests. Now my sys-admin is busy... I'll inform you about the problem.

Andrea
Josyula is offline   Reply With Quote

Old   May 28, 2013, 14:18
Default running in parallel mass_trasfer udf
  #16
Senior Member
 
Join Date: May 2011
Posts: 231
Rep Power: 16
Kanarya is on a distinguished road
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!!!
Kanarya is offline   Reply With Quote

Old   November 26, 2013, 11:07
Default SIX DOF UDF in parallel
  #17
New Member
 
prash
Join Date: Oct 2013
Posts: 4
Rep Power: 13
prash_iaf is on a distinguished road
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");
}
__________________
SHARE YOUR KNOWLEDGE TO GAIN MORE
prash_iaf is offline   Reply With Quote

Old   November 26, 2013, 11:16
Default
  #18
Senior Member
 
Join Date: May 2011
Posts: 231
Rep Power: 16
Kanarya is on a distinguished road
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:
Originally Posted by prash_iaf View Post
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");
}
Kanarya is offline   Reply With Quote

Old   December 8, 2013, 02:12
Default Parallel UDF
  #19
New Member
 
prash
Join Date: Oct 2013
Posts: 4
Rep Power: 13
prash_iaf is on a distinguished road
Quote:
Originally Posted by Kanarya View Post
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!
Thank you for the reply to my post on parallelising the UDF for 6DOF. However it has not resolved the problem as the data of mass is not available during calculation and stops with a error zero mass!!. Is the loop !RP host excluding the mass interia data from calculationss?? Pls help resolve!!
__________________
SHARE YOUR KNOWLEDGE TO GAIN MORE
prash_iaf is offline   Reply With Quote

Old   December 8, 2013, 07:42
Default
  #20
Senior Member
 
Join Date: May 2011
Posts: 231
Rep Power: 16
Kanarya is on a distinguished road
hi,

try to use global variable macros!

Best!
kanarya
Quote:
Originally Posted by prash_iaf View Post
Thank you for the reply to my post on parallelising the UDF for 6DOF. However it has not resolved the problem as the data of mass is not available during calculation and stops with a error zero mass!!. Is the loop !RP host excluding the mass interia data from calculationss?? Pls help resolve!!
Kanarya is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Parallel computing in Fluent 6.3 Poovanna FLUENT 2 February 18, 2011 10:17
Transient pressure UDF for parallel fluent droberts Fluent UDF and Scheme Programming 5 October 11, 2010 05:13
udf on parallel fluent stud Main CFD Forum 0 December 12, 2008 08:45
problem!! FLUENT 6.2 -SUSE parallel computing khanjaved FLUENT 1 August 15, 2005 23:00
UDF in parallel version. yobee FLUENT 0 August 17, 2004 05:12


All times are GMT -4. The time now is 07:36.