Ansys Learning Forum › Forums › Discuss Simulation › Fluids › source term modification of energy equation in non-equilibrium thermal model › Reply To: source term modification of energy equation in non-equilibrium thermal model
October 11, 2024 at 12:37 am
Subscriber
Hi Rob,
Many thanks for your suggestions. I would like to ask how to link the two cells.
I have tried to link them by the spatial coordinate because a dual cell approach is used in non-equilibrium thermal model.
But the same errors occured "999999:mpt_accept:error: accept failed: No error" . The code is following:
DEFINE_SOURCE(Fluid_source,c,t,dS,eqn)Â
{
Â
real xc[ND_ND], xcs[ND_ND];
real Tf, Ts;
real hfs = HFS_CONSTANT;Â // Placeholder value for heat transfer coefficient
  real Afs = AFS_CONSTANT;  // Placeholder value for interfacial area density
  real source;
int zone_ID;
Thread *st;
cell_t sc;
Domain *domain;
// Solid_Cell_id *st;
Â
// Find the coordinate position of the centroid
C_CENTROID(xc,c,t);
Â
  // Obtain fluid and solid temperatures
  Tf = C_T(c, t); // Fluid temperature
  // Ts = C_STORAGE_R(c, t, SV_T_S); // Solid temperature
Â
Â
zone_ID = THREAD_ID (t);
Â
if (zone_ID == 11)
{
domain = Get_Domain(27);
thread_loop_c(st, domain) // loop over all cell threads in the domain
{
begin_c_loop (sc,st) // loop over all cellsÂ
{
C_CENTROID(xcs,sc,st);
if (fabs(xc[0] - xcs[0]) < 1.0e-6 && fabs(xc[1] - xcs[1]) < 1.0e-6 && fabs(xc[2] - xcs[2]) < 1.0e-6)
Ts = C_T(sc,st);
break;
}
end_c_loop (sc,st)
}
  // DEFINE_PROFILE(Ts, st, xc);
}
if (zone_ID == 14)
{
domain = Get_Domain(33);
thread_loop_c(st, domain)
{
begin_c_loop (sc,st)
{
C_CENTROID(xcs,sc,st);
if (fabs(xc[0] - xcs[0]) < 1.0e-6 && fabs(xc[1] - xcs[1]) < 1.0e-6 && fabs(xc[2] - xcs[2]) < 1.0e-6)
Ts = C_T(sc,st);
break;
}
end_c_loop (sc,st)
}
Â
}
  // DEFINE_PROFILE(Ts, st, xc);
Â
  // Calculate the source term based on the modified expression
  source = hfs * Afs * (pow(Ts, 4.0) - pow(Tf, 4.0));
Â
  // Set the derivative of the source term with respect to Tf
  dS[eqn] = - 4.0 * hfs * Afs * pow(Tf, 3.0);
Â
  return source;
Â
}
Besides, the effect (exponent from 1 to 4) in my case only affect the heat transfer in the interface between the solid and fluid.