Ansys Assistant will be unavailable on the Learning Forum starting January 30. An upgraded version is coming soon. We apologize for any inconvenience and appreciate your patience. Stay tuned for updates.
Fluids

Fluids

Topics related to Fluent, CFX, Turbogrid and more.

Transient simulation: How to execute DEFINE_PROFILE macro once per time step?

    • aliborhan
      Subscriber

      Hello,

       I am writing a UDF that includes a DEFINE_PROFILE macro for a transient simulation. My goal is to update the variable viscous resistance of a porous media during each time step. Since DEFINE_PROFILE macros are executed during every iteration within every time step, what can I do to ensure that the macro executes only once per time step? I tried using "first_iteration," but it didn't work within the DEFINE_PROFILE macro. Also, If I enter a large value for the UDF Profile Update Interval in the Run Calculation panel, I cannot be certain whether this value is greater than or less than the maximum number of iterations required for convergence.

      Thank you in advance for your guidance!

    • aliborhan
      Subscriber

      Hello,

      I am writing a UDF that includes a DEFINE_PROFILE macro for a transient simulation. My goal is to update the variable viscous resistance of a porous media during each time step. Since DEFINE_PROFILE macros are executed during every iteration within every time step, what can I do to ensure that the macro executes only once per time step? I tried using "first_iteration," but it didn't work within the DEFINE_PROFILE macro. Also, If I enter a large value for the UDF Profile Update Interval in the Run Calculation panel, I cannot be certain whether this value is greater than or less than the maximum number of iterations required for convergence.

      Thank you in advance for your guidance!

    • aliborhan
      Subscriber

      Any thoughts on this?

      Thanks!

    • Luca B.
      Forum Moderator

      Hi, DEFINE_PROFILE is executed at any iteration because you need to provide a boundary values to porosity. So it need to compute the corresponding value anytime.

      How to do modify the viscous resistance? is it time dependent? 

      Some ideas

      • can you modify it only with Expression without an UDF. So you can calculate it without running the UDF?
      • Another possibility, you can try. You can use a DEFINE_EXECUTE_AT_END  that is run only at the end of all time step. You can compute it the new viscous value, save it into a global variable and so make it accessible to the DEFINE_PROFILE macro.

      Let me know if this suggestion are useful

       

      Luca

       

Viewing 3 reply threads
  • The topic ‘Transient simulation: How to execute DEFINE_PROFILE macro once per time step?’ is closed to new replies.
[bingo_chatbox]