CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   UDS Flux Function Problem (https://www.cfd-online.com/Forums/fluent/104473-uds-flux-function-problem.html)

sunbird04 July 10, 2012 11:43

UDS Flux Function Problem
 
Hey all,
Recently I want to use Fluent's user define scalars(uds) to solve the nucleation of equiax grain in a ingot cast problem with Fluent Eulerian Mutiphase Model. The control equation for the nucleation of equiaxed grain as follow:

http://www.cfd-online.com/Forums/vbL...9222c03b-1.gifN/http://www.cfd-online.com/Forums/vbL...9222c03b-1.gift+http://www.cfd-online.com/Forums/vbL...44659959-1.gifhttp://www.cfd-online.com/Forums/vbL...90bc5099-1.gif(uN)=source

Therefor, for both the Unsteady Function and Flux Function should be defined by udf. My code is shown:

DEFINE_UDS_UNSTEADY(unsteady_terms,cell_index,cell _thread,i,apu,su)
{
real cell_volume, physical_dt, RHO_cell, vof, vof_new, phi_old;

cell_volume = C_VOLUME(cell_index,cell_thread);
physical_dt = RP_Get_Real("physical-time-step");

RHO_cell = C_R(cell_index,cell_thread);
vof = C_VOF_M1(cell_index,cell_thread);
vof_new = C_VOF(cell_index,cell_thread);

/* IMPLICIT PART OF THE TIME DERIVATIVE DISCRETIZATION */
*apu = -(cell_volume)/physical_dt;

/* EXPLICIT PART OF THE TIME DERIVATIVE DISCRETIZATION */
phi_old = C_STORAGE_R(cell_index,cell_thread,SV_UDSI_M1(i));
*su = (cell_volume*phi_old)/physical_dt;
}

/*-------------------------*/
/* CONVECTIVE (FLUX) TERMS */
/*-------------------------*/

DEFINE_UDS_FLUX(convective_flux_terms,face_index,f ace_thread,i)
{
Thread *t0, *t1 = NULL;
cell_t c0, c1 = -1;
real NV_VEC(psi_vec), NV_VEC(A), vof, flux = 0.0, rho = 2;

c0 = F_C0(face_index,face_thread);
t0 = F_C0_THREAD(face_index,face_thread);
vof = C_VOF(c0, t0);

c0 = F_C0(face_index,face_thread);
t0 = F_C0_THREAD(face_index,face_thread);

/* if(PRINCIPAL_FACE_P(face_index,face_thread)) */
{
F_AREA(A,face_index,face_thread); /* NORMAL VECTOR OF THE FACE */

if(BOUNDARY_FACE_THREAD_P(face_thread))
{
NV_DS(psi_vec,=,F_U(face_index,face_thread),F_V(fa ce_index,face_thread),F_W(face_index,face_thread), *,1.0);
flux = NV_DOT(psi_vec,A); /* FLUX THROUGH THE FACE */
}
else
{
c1 = F_C1(face_index,face_thread);
t1 = F_C1_THREAD(face_index,face_thread);

NV_DS(psi_vec, =,C_U(c0,t0),C_V(c0,t0),C_W(c0,t0),*,1.0);
NV_DS(psi_vec,+=,C_U(c1,t1),C_V(c1,t1),C_W(c1,t1), *,1.0);

flux = NV_DOT(psi_vec,A)/2.0; /* AVERAGE FLUX THROUGH THE FACE */
}
return (flux);
}
}


Only momentum equation is solved. For these code I done two different cases:

Case I, only the melt (liquid) region is considered. For this case the simulation result is reasonable;

Case II, both the melt (liquid) and model (solid) are considered which means this is a liquid solid couple problem. For this case, the simulation cannot running. The error message emerged even at the first iteration:

Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: ()



I'd appreciate your help. Thanks in advance.

sunbird04 July 11, 2012 02:54

:confused:

sunbird04 July 11, 2012 13:14

:confused::confused::confused::confused::confused: :confused::confused::confused:

sunbird04 July 11, 2012 13:15

Please help me!

sunbird04 July 13, 2012 04:29

:confused::confused::confused::confused:

gera September 19, 2013 05:13

sunbird04,

Did you use Windows?
I often see such message on the Windows OS.

It looks like on the Linux OS, this error message appears less frequently.

NTSbike April 28, 2014 02:58

This message is usually for a UDM number problem (for example). If you have 5 UDM-s in your UDF, but in the Fluent only 4 is set, you will have this error message. The UDF and UDS numbers are started with zero, so if your last UDM is "C_UDMI(c,t,4)", you have 5 UDMs. Check all the setups. Usually you can see the name of the desired UDF, which is providing the error.


All times are GMT -4. The time now is 02:31.