Ansys Learning Forum › Forums › Discuss Simulation › Fluids › Need help with: Error: error: wta[1](string) Error Object: () › Reply To: Need help with: Error: error: wta[1](string) Error Object: ()
So you are probably right that it would work with only one mass sink (and do the rest with temperature dependant material properties), but I have to admit I didn’t build the whole model from the ground up. In fact a colleague of mine set it up in the way that there are 2 zones, one that is filled (at the start) with the intumescent in gel form (its mass is updated minus the water-vapor that leaves throgh the outlets and the mass that is generated in the other zone) and the other zone that gets filled with the foam. Even then I have highly temperature dependent values in both zones but a few things are constant, like the gel is always transperant and the foam never. However, no matter how this is realized it shouldn’t have an influence whether I can use multicore or not.
Regarding the other files, they should appear when you click on the links ….. if you aren’t permitted to click on links I wonder why we are allowed to post them. Anyway, here is the UDF:
- #include "udf.h"
- #include "dynamesh_tools.h"
- static real velz = 0.0;
- real tmax = 0.;
- real value =0.;
- DEFINE_CG_MOTION(wall_move_temp_z,dt,vel,omega,time,dtime)
- {
- Domain *d;
- real temp;
- int ID = 62532;
- Thread *t;
- cell_t c;
- d = Get_Domain(2); /* Get the domain using ANSYS Fluent utility */
- t = Lookup_Thread(d, ID);
- /* Loop over all cell threads in the domain */
- begin_c_loop(c,t)
- {
- temp = C_T(c,t); /* get cell temperature */
- if (temp > tmax || tmax == 0.)
- {
- tmax = temp;
- }
- }
- end_c_loop(c,t)
- # if RP_NODE /* Perform node synchronized actions here. Does nothing in Serial */
- tmax = PRF_GRHIGH1(tmax);
- # endif /* RP_NODE */
- Message0("\n Tmax in K = %g",tmax);
- /* reset velocities */
- NV_S(vel, =, 0.0);
- NV_S(omega, =, 0.0);
- if(tmax >= 393.15 && value <= 14.0) //starts at 120°C, stops at 14mm
- {
- velz= 0.00002; //,meter per second -> 1mm in 50s
- value=value+velz*dtime*1000.0;
- }
- else
- {
- velz = 0.0;
- }
- Message(" \n Expansion in mm = %g", value);
- Message(" \n Velocity in m/s = %g", velz);
- vel[2]=velz;
- }