23.1. Multidomain Architecture for Conjugate Heat Transfer

For conjugate heat transfer (CHT) problems, particularly transient simulations and/or those with combustion, the dominant time-scales in the fluid and solid zones are often quite different. In most transient cases, it is desirable to use a larger time step / run less iterations for solid zones compared to the fluid zones, in order to increase the speed at which the solid heat transfer reaches steady-state without compromising the solution accuracy of the fluid flow. This can be done by using multidomain architecture: it allows you to easily separate the fluid and solid calculations and run them in unique Fluent sessions (which may each use specified numbers of processes and may be run on separate machines), so that different time scales can be used for each, and only the energy equations will be solved for the solid zones. The temperature and heat flux data is exchanged between the sessions throughout the simulations. Multidomain architecture for CHT is an alternative to specifying a solid time step size for transient flows or specifying fluid / solid time scales with a pseudo time method selected, and by the nature of the methodology and the control it affords you, it should result in faster calculations than these other methods.


Note:  The ability to use multidomain architecture with unique Fluent sessions for fluid and solid calculations is supported for Linux only.


To use the multidomain architecture for CHT with multiple sessions, perform the following steps:

  1. Launch Fluent, using a number of processes equal to the total amount you would like for the fluid and solid calculations.

    When submitting multidomain jobs to a queue, it may be helpful to include the -mda=<x> command line option, where <x> is the number of processes used for the "helper" session that will handle the solid calculations. This allows the queue resources to be allocated appropriately. For example, if you enter fluent 3d -t5 -mda=2, then 2 processes will be used for the solid calculations and the remaining processes (5-2=3) will be used for session that opens and handles the fluid calculations. Note that the total core count (-t<n>) must be supported by your license, and must be greater than the number specified for the helper session. The resources will be configured between the server and helper session even if you include the -cnf=<h> command line option, if it is required to run the calculations on specific machines.

    If you are using Fluent Launcher or later decide to change processor allocation, note that you can edit the number of processes used for the helper session from within Fluent using a text command, as described in a later step.

  2. Set up a case file with fluid and solid cell zones.


    Note:  The solid and fluid zones can have a non-conformal interface, but they must not move relative to each other (as in a sliding mesh).


  3. Enable beta feature access (as described in Introduction).

  4. Enable loosely coupled conjugate heat transfer by using the following text command:

    parallel multidomain conjugate-heat-transfer enable?

  5. Enable the use of a secondary (helper) session for conjugate heat transfer co-simulation by using the following text command:

    parallel multidomain conjugate-heat-transfer set session-mode

  6. The fluid calculations will be handled by the Fluent session that is currently open, while the solid calculations will be handled by the helper session. Set up the coupling between these sessions by using the following text command:

    parallel multidomain conjugate-heat-transfer set coupling

    For steady-state simulations, you need only specify how many fluid iterations you want to run for each solid iteration. For transient simulations, you must specify the coupling method:

    • Enter 0 to use the same time step size for fluids and solids, and then enter the number of time steps per coupling between fluids and solids

    • Enter 1 to use smaller time steps for fluids (and couple at every solid time step), and then enter the solid-to-fluid time step size ratio; a value of 10 or higher is recommended for the latter.

  7. If you did not launch Fluent with the -mda=<x> command line option, set up the helper session that will handle the solid calculations by using the following text command:

    parallel multidomain conjugate-heat-transfer set helper-session

    You will be prompted to enter the number of processes to be used by the helper session; this will be in addition to the number of processes used in the current session, and by default (when the -mda=<x> command line option was not used) it will be set to 4, so you must ensure that the total core count is supported by your license. You will also be given the option to run it on specific machine(s): enter "" to use the current machine; or list (in quotes) the machines / hosts file, similar to how this is done when using the -cnf=<h> command line option (for example: "machine1,machine1,machine2").

  8. Run the calculations by using one of the following text commands:

    • For steady-state simulations:

      parallel multidomain solve iterate

      You will be prompted to enter the number of iterations.

    • For transient simulations:

      parallel multidomain solve dual-time-iterate

      You will be prompted to enter the number of fluid time steps, along with the number of iterations per time step.

    Your settings may not be followed exactly; for example, if you enter a number of fluid time steps that is not a multiple of the solid-to-fluid time step size ratio, the number of time steps will be increased to an appropriate value to ensure the proper data exchange between the sessions.

    Note that the helper session will run in the background, and will automatically close when the calculations are complete and all of the data has been exchanged. A transcript named _temp_helper.trn will be saved in your working directory for this helper session, along with case and data files for the initial state of the helper session and a journal file for the actions taken on these files (all of which begin with the prefix mda_).