Fluent 6.1: Try this if your UDF has memory allocation problems
The problem was discovered when client transferred a UDF that ran fine on AIX (Power 3 AIX 4.3.3) to IRIX (IRIX64 devirix 6.5 07121149 IP28). However the problem could occur on any platform and the solution is platform independent. The UDF basically consists of an EXECUTE_ON_DEMAND to do the initialization of the UDF and an DEFINE_ADJUST/DEFINE_SOURCE to be executed at every 10th iteration. The procedure to run the UDF was the following: o Read the case file o Compile the udfs and load them. o initialize the solution o Execute-On-Demand --->rotor_init o perform 10 iterations. The AIX result then was Stick positions= 7.26 0.12 3.13 Trim measures: f=7483 lb, pm=10 ft.lb, rm=4985 ft.lb Trim targets: f=7500 lb, pm=0 ft.lb, rm=5000 ft.lb while IRIX gave Stick positions= nan0x7fffffff nan0x7fffffff nan0x7fffffff Trim measures: f=0 lb, pm=0 ft.lb, rm=0 ft.lb Trim targets: f=7500 lb, pm=0 ft.lb, rm=5000 ft.lb o Read the case file o Compile the udfs and load them. o initialize the solution o perform one iteration. ( This step is important as it allocates memory for the UDM's, if this step is not followed, errors occured while executing the case on IRIX) o Reinitialize the case. o Execute-On-Demand --->rotor_init o perform 10 iterations. o IRIX gave correct results CONCLUSION: Initialization does not always initialize all required memories. Running one iteration might do this required initialization. |
||
![]()
|