|
[Sponsors] |
February 5, 2019, 16:41 |
UDF compilation error. urgent help please
|
#1 |
New Member
m zubair
Join Date: Feb 2019
Posts: 12
Rep Power: 7 |
i have window 8.1 and microsoft visual studio 2013 and Ansys 16.1 when i try to compile my UDF file there is following error..
please help. i will be very thankful opied E:\Ansyss\missile\silo.c.c to libudf\src Creating user_nt.udf file for 2ddp ... (system "copy "C:\PROGRA~1\ANSYSI~1\v161\fluent"\fluent16.1.0\sr c\udf\makefile_nt.udf "libudf\win64\2ddp\makefile" ") 1 file(s) copied. (chdir "libudf")(chdir "win64\2ddp")# Generating ud_io1.h silo.c.c ..\..\src\silo.c.c(147) : error C2440: '=' : cannot convert from 'Profile' to 'float' Done. Opening library "C:\Users\Zubair\AppData\Local\Temp\WB_DESKTOP-P1HIMJQ_Zubair_996_2\unsaved_project_files\dp0\FFF-1\Fluent\C:\Users\Zubair\AppData\Local\Temp\WB_DES KTOP-P1HIMJQ_Zubair_996_2\unsaved_project_files\dp0\FFF-1\Fluent\libudf"...RPC RCX_SC_SET ERR_MSG failed: RPC: Can't encode arguments Error: The UDF library you are trying to load (C:\Users\Zubair\AppData\Local\Temp\WB_DESKTOP-P1HIMJQ_Zubair_996_2\unsaved_project_files\dp0\FFF-1\Fluent\libudf) is not compiled for 2ddp on the current platform (win64). The system cannot find the file specified. Last edited by m zubair; February 6, 2019 at 00:33. |
|
February 6, 2019, 20:36 |
|
#2 |
New Member
GenD
Join Date: Nov 2017
Posts: 23
Rep Power: 9 |
There seems to be a mistake at 147. line.
I recommend to use the newest version of ansys and VS, cause there always can be occured errors for unknown reasons (I had many.), so you won't go anywhere without troubleshooting. |
|
February 7, 2019, 02:07 |
|
#3 |
New Member
m zubair
Join Date: Feb 2019
Posts: 12
Rep Power: 7 |
When I edited the line number 147..as I turned into comment. Compilation succeeded but when I do simulation I got following error. What should I do. Either this error is due to UDF changes which I have made? Or something else related to setup.
time step reduced in 4 cells due to excessive temperature change absolute pressure limited to 1.000000e+04 in 4 cells on zone 2 absolute pressure limited to 2.500000e+06 in 5 cells on zone 2 temperature limited to 5.000000e+01 in 4 cells on zone 2 temperature limited to 2.800000e+03 in 20 cells on zone 2 # Divergence detected in AMG solver: nut -> Increasing relaxation sweeps! # You may try the enhanced divergence recovery with (rpsetvar 'amg/protective-enhanced? #t) Error: Divergence detected in AMG solver: nut |
|
February 7, 2019, 18:03 |
|
#4 |
New Member
GenD
Join Date: Nov 2017
Posts: 23
Rep Power: 9 |
Does your simulation work without UDF?
|
|
February 10, 2019, 12:19 |
please look into this udf .. i have error at line number 148..
|
#5 |
New Member
m zubair
Join Date: Feb 2019
Posts: 12
Rep Power: 7 |
#include "udf.h"
#include "dynamesh_tools.h" #define nozzle_tid 12 /* Zone ID of nozzle exit */ #define missile_tid 14 /* Zone ID of missile wall */ #define moving_fluid_id 2 /* Zone ID of fluid surrounding the missile */ #define t_liftoff 0.1 /* Time at which to allow lift-off (sec) */ #define g_c 9.81 /* Gravity acceleration */ #define initial_mass 200.0 /* Initial mass of the rocket (kg) */ #define burn_rate 0.0 /* Fuel burn rate (kg/sec) */ #define pi 4.0*atan(1.0) float U_sum; /* Sum of inlet U velocity */ float V_sum; /* Sum of inlet V velocity */ float W_sum; /* Sum of inlet W velocity */ float A_sum; /* Sum of facet areas */ float P_sum; /* Sum of face pressure */ float P_i; /* Pressure on face i */ float A_i; /* Area of face i */ float U_i; /* U velocity on face i */ float V_i; /* V velocity on face i */ float W_i; /* W velocity on face i */ float A[3]; /* Area vector of face i */ float VA_sum; /* Sum of velocity times area */ float VEL_i; /* Velocity magnitude on face i */ float V_avg; /* Average velocity */ float V_e; /* Nozzle exit velocity relative to missile */ float Pthrust; /* Thrust due to pressure */ float Mthrust; /* Thrust due to momentum */ float MDOT; /* Mass flow rate from the missile */ float Vmiss[3]; /* Missile velocity vector */ /*float Umiss;*/ /* Missile x velocity */ /*float Vmiss;*/ /* Missile y or r velocity */ /*float Wmiss;*/ /* Missile z velocity (zero for 2-D) */ Domain *domain; face_t f; /* Nozzle faces */ Thread *t; /* Nozzle thread */ Dynamic_Thread *tmiss; /* Missile wall thread */ DEFINE_SDOF_PROPERTIES(launch, prop, dt, time, dtime) { /* Define the mass and moments of inertia */ prop[SDOF_MASS] = initial_mass - (burn_rate * time); prop[SDOF_IXX] = 0.0; prop[SDOF_IYY] = 0.0; prop[SDOF_IZZ] = 0.0; /* Define ejector moments */ prop[SDOF_LOAD_M_X] = 0.; prop[SDOF_LOAD_M_Y] = 0.; prop[SDOF_LOAD_M_Z] = 0.; /* Calculate rocket thrust and assign to X ejector force.*/ U_sum = 0.0; V_sum = 0.0; W_sum = 0.0; A_sum = 0.0; P_sum = 0.0; Pthrust = 0.0; A_sum = 0.0; VA_sum = 0.0; Pthrust = 0.0; Mthrust = 0.0; /* Lookup thread values */ domain = Get_Domain(1); t = Lookup_Thread(domain, nozzle_tid); tmiss = THREAD_DT(Lookup_Thread(domain, missile_tid)); /* Missile wall */ /* Compute area-weighted average exit velocity */ Message("\n ****************************************"); Message("\n ******* Nozzle Exit Conditions *******"); Message("\n ****************************************"); /* Visit each face on the inlet and add up Vx, Vr, Area, and Pressure */ begin_f_loop (f, t) { /* Retrieve the area vector of the current face */ F_AREA(A, f, t); /* Message("\n check 1");*/ /* Calculate the area of current face */ A_i = NV_MAG(A); /*Message("\n check 2");*/ /* Retrieve the pressure on the current face */ P_i = F_P(f,t); /*Message("\n check 3");*/ U_i = F_U(f,t); /* U Velocity on the current face */ V_i = F_V(f,t); /* V velocity on the current face */ #if RP_2D W_i = 0.0; /* W Velocity (2D) */ #else W_i = F_W(f, t); /* W Velocity (3D) */ #endif VEL_i = sqrt(U_i*U_i+V_i*V_i+W_i*W_i); /* Velocity magnitude */ A_sum += A_i; /* Increment the face area */ VA_sum += VEL_i * A_i; /* Increment the VxA */ Pthrust += P_i * A_i; /* Increment the pressure force */ } end_f_loop (f, t) #if RP_2D if(rp_axi) {A_sum *= 2*pi; VA_sum *= 2*pi; Pthrust *= 2*pi;} #endif V_avg = VA_sum / A_sum; Message("\n -> Current Time = %f sec", time); Message("\n -> Liftoff time = %f sec", t_liftoff); Message("\n -> Total inlet area = %f m2", A_sum); Message("\n -> = %f ft2", A_sum / (0.3048 * 0.3048)); Message("\n"); Message("\n -> Average Velocity = %f m/sec", V_avg); Message("\n = %f ft/sec", V_avg / 0.3048); Message("\n"); Message("\n -> Average Inlet Pressure = %f Pa", Pthrust / A_sum); Message("\n = %f psi", Pthrust / A_sum * (14.7/101325.)); /* OBTAIN THE MASS FLOW RATE ACROSS THE INLET */ MDOT = 0.0; /* Obtain the mass flow rate if inlet is mass flow type */ if (THREAD_VAR(t).mfi.flow_spec == MASS_FLOW_TYPE) { MDOT = THREAD_VAR(t).mfi.mass_flow; Message("\n -> Mass Flow Rate = %f kg/sec", MDOT); Message("\n -> = %f lbm/sec", MDOT / 2.205); } else { Message("\n NOW INSIDE UNTESTED PORTION OF THE UDF"); /* THE FOLLOWING HAS NOT BEEN TESTED YET!! */ /* if (IS_PROFILE (THREAD_VAR (t).mfi.mass_flux)) { Message("\n===================================="); Message("\n MDOT HAS BEEN SPECIFIED AS PROFILE"); Message("\n Beginning face loop."); begin_f_loop (f, t) { mass_flux = NV_MAG (F_AREA_CACHE (f, t)) * F_VAR (f, t, THREAD_VAR (t).mfi.mass_flux); Message("\n MASS FLOW RATE FOUND.\n"); } end_f_loop (f, t) Message("\n VALUE OF MDOT = %f", MDOT); Message("\n===================================="); } else { Message("\n LOOKING UP MASS FLOW RATE (NOT PROFILE)\n"); mass_flux = THREAD_VAR(t).mfi.mass_flux.constant * A_sum; MDOT = A_sum * mass_flux; Message("\n Finished calculating for non profile case. Results:"); Message("\n mass_flux = %f", THREAD_VAR(t).mfi.mass_flux.constant); Message("\n A_sum = %f", A_sum); Message("\n MDOT = %f", MDOT); } */ /* END OF UNTESTED SECTION */ /* #if RP_2D if (rp_axi) MDOT *= 2.0 * pi; #endif */ } /* COMPUTE ROCKET THRUST AS (Avg Velocity) * (mass flow rate) force = V_avg * F_VAR (0, t, THREAD_VAR(t).mfi.mass_flux) / total_; */ /* OBTAIN THE CURRENT MISSILE VELOCITY */ if(time < t_liftoff) {DT_VEL_CG(tmiss)[0] = 0.0;} /* {Umiss = DT_VEL_CG(tmiss)[0];} */ /* Vmiss[0]=DT_VEL_CG(tmiss)[0]; else {DT_VEL_CG(tmiss)[0] = 0.0;} Umiss = DT_VEL_CG(tmiss)[0]; */ Message("\n ***************************************"); Message("\n ******** Thrust / Velocity *********"); Message("\n ***************************************"); Message("\n -> Missile Velocity = %f m/sec", Vmiss[0]); Message("\n -> = %f ft/sec", Vmiss[0]/0.3048); #if RP_2D if (rp_axi) { Message("\n -> Missile Velocity Axial = %f m/sec", DT_VEL_CG(tmiss)[0]); Message("\n -> = %f ft/sec", DT_VEL_CG(tmiss)[0]/0.3048); Message("\n -> Missile Velocity Radial = %f m/sec", DT_VEL_CG(tmiss)[1]); Message("\n -> = %f ft/sec", DT_VEL_CG(tmiss)[1]/0.3048); } else { Message("\n -> Missile Velocity (X) = %f m/sec", DT_VEL_CG(tmiss)[0]); Message("\n -> = %f ft/sec", DT_VEL_CG(tmiss)[0]/0.3048); Message("\n -> Missile Velocity (Y) = %f m/sec", DT_VEL_CG(tmiss)[1]); Message("\n -> = %f ft/sec", DT_VEL_CG(tmiss)[1]/0.3048); } #endif #if RP_3D Message("\n -> Missile Velocity (Z) = %f m/sec", DT_VEL_CG(tmiss)[2]); Message("\n -> = %f ft/sec", DT_VEL_CG(tmiss)[2] / 0.3048); #endif V_e = V_avg - Vmiss[0]; Mthrust = V_e * MDOT; Message("\n -> Relative Velocity = %f m/sec", V_e); Message("\n -> = %f ft/sec", V_e / 0.3048); Message("\n"); Message("\n -> Momentum Thrust = %f N", V_e*MDOT); Message("\n -> = %f lbf", V_e*MDOT / 4.448); Message("\n"); Message("\n -> Pressure Thrust = %f N", Pthrust); Message("\n -> = %f lbf", Pthrust / 4.448); Message("\n"); Message("\n -> TOTAL THRUST = %f N", Pthrust+Mthrust); Message("\n -> = %f lbf", (Pthrust+Mthrust)/4.448); Message("\n ****************************************"); Message("\n"); Message("\n"); /* Set calculated thrust as a body force (ejector force) */ prop[SDOF_LOAD_F_X] = Pthrust + Mthrust; prop[SDOF_LOAD_F_Y] = 0.0; prop[SDOF_LOAD_F_Z] = 0.0; /* Dummy Override */ #if RP_2D prop[SDOF_LOAD_F_Z] = 0.; if (rp_axi) prop[SDOF_LOAD_F_Y] = 0.; #endif } |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
udf for one dimensional linear motion based on force | maccheese | Fluent UDF and Scheme Programming | 2 | September 1, 2019 03:18 |
Save output of udf in another udf! | JuanJoMex | FLUENT | 0 | February 8, 2018 13:43 |
UDF Compilation Error - Loading Library - COMMON Problem! Help! | robtheslob | Fluent UDF and Scheme Programming | 8 | July 24, 2015 01:53 |
UDF parallel error: chip-exec: function not found????? | shankara.2 | Fluent UDF and Scheme Programming | 1 | January 16, 2012 23:14 |
UDF, UDF, UDF, UDF | Luc SEMINEL | Main CFD Forum | 0 | November 25, 2002 05:01 |