We’re putting the final touches on our new badges platform. Badge issuance remains temporarily paused, but all completions are being recorded and will be fulfilled once the platform is live. Thank you for your patience.
Fluids

Fluids

Topics related to Fluent, CFX, Turbogrid and more.

source term modification of energy equation in non-equilibrium thermal model

    • yf70512
      Subscriber

      Hello all,

      I am trying to modify the source term (Changing the temperature power exponent from 1 to 4) of energy equation in non-equilibrium thermal model by UDS and UDF (DEFINE_SOURCE macro). But the Fluent crashed when the code runned with the error "999999:mpt_accept:error: accept failed: No error". I think there may be two questions:
      1 how to access the solid temperature in the fluid zone and fluid temperature in the solid zone?
      2 how to specify the UDS Scalar as the energy source (Figure 2)?
      Could anybody help with this? Thank you in advance.

      Best regards,

      Fan


    • yf70512
      Subscriber

      Here is my UDF:

      #include "udf.h"

      #define HFS_CONSTANT 1000   
      #define AFS_CONSTANT 0.1    

      // Fluid Source Term
      DEFINE_SOURCE(Fluid_source, c, t, dS, eqn)
      {
          real Tf, Ts;
          real hfs, Afs;
          real source;

          // Obtain the fluid temperature (Tf) and solid temperature (Ts)
          Tf = C_STORAGE_R(c, t, SV_T_F);   // Access fluid temperature
          Ts = C_STORAGE_R(c, t, SV_T_S);   // Access solid temperature
          
          // Calculate or use constants for hfs (heat transfer coefficient) and Afs (interfacial area density)
          hfs = HFS_CONSTANT;  // Define or calculate hfs
          Afs = AFS_CONSTANT;  // Define or calculate Afs

          // Calculate the source term using modified expression hA(Tf^4 - Ts^4)
          source = hfs * Afs * (pow(Ts, 4) - pow(Tf, 4));

          // Define the derivative of the source term with respect to Tf
          dS[eqn] = -4 * hfs * Afs * pow(Tf, 3);

          return source;  // Return the calculated source term
      }

      // Solid Source Term
      DEFINE_SOURCE(Solid_source, c, t, dS, eqn)
      {
          real Tf, Ts;
          real hfs, Afs;
          real source;

          // Obtain the fluid temperature (Tf) and solid temperature (Ts)
          Ts = C_STORAGE_R(c, t, SV_T_S);   // Access solid temperature
          Tf = C_STORAGE_R(c, t, SV_T_F);   // Access fluid temperature

          // Calculate or use constants for hfs (heat transfer coefficient) and Afs (interfacial area density)
          hfs = HFS_CONSTANT;  // Define or calculate hfs
          Afs = AFS_CONSTANT;  // Define or calculate Afs

          // Calculate the source term using modified expression hA(Ts^4 - Tf^4)
          source = hfs * Afs * (pow(Ts, 4) - pow(Tf, 4));

          // Define the derivative of the source term with respect to Ts
          dS[eqn] = 4 * hfs * Afs * pow(Ts, 3);

          return source;  // Return the calculated source term
      }

      I am not sure if it is right to access the  solid temperature in the fluid zone and fluid temperature in the solid zone.

    • Rob
      Forum Moderator

      The problem isn't so much getting the fluid temperature as seen by the solid or vice versa but that you need to link to the two cells: so some care will be needed there. 

      Changing the exponent from 1 to 4 suggests radiation effects? Will this effect anything other than the front and rear (ie external surfaces) of the solid?

      • yf70512
        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.
Viewing 2 reply threads
  • You must be logged in to reply to this topic.