Note
Go to the end to download the full example code.
Conjugate Heat Transfer- Pipe Flow#
Conjugate heat transfer (CHT) simulations often exhibit numerical sensitivity at the fluid-solid interface. This example demonstrates how users can appropriately select interface conditions and stabilization schemes for a typical pipe-flow configuration. It highlights best practices for setting up a robust CHT workflow in System Coupling, including managing temperature and heat-flux exchange, controlling relaxation, ensuring consistent mesh-to-mesh interpolation.
Ansys Fluent is used to model the thermal fluid flow in the pipe.
Ansys Mechanical APDL (MAPDL) is used to model thermal transfer in the pipe wall.
System Coupling coordinates the coupled solution to the conjugate heat transfer problem, including numerical stabilization if needed.
Problem description
A fluid at a certain temperature flows into a pipe of known diameter and length. As it flows, the heated outer wall of the pipe conducts heat to the inner wall, which in turn heats the fluid and cools down the walls of the pipe.
The flow is smooth inside the pipe and the outer wall of the pipe is adiabatic. Fluid enters at an initial temperature of 300K while the outer wall of the pipe is at 350K.
Import modules, download files, launch products#
Setting up this example consists of performing imports, downloading the input file, and launching the required products.
Perform required imports#
Import ansys-systemcoupling-core, ansys-fluent-core, ansys-mapdl-core
import ansys.fluent.core as pyfluent
import ansys.mapdl.core as pymapdl
import ansys.systemcoupling.core as pysyc
from ansys.systemcoupling.core import examples
Download the Fluent mesh file.
fluent_msh_file = examples.download_file(
"fluid_domain.msh", "pysystem-coupling/cht_pipe"
)
Launch MAPDL to create the solid domain.#
# Launch MAPDL.
mapdl = pymapdl.launch_mapdl()
mapdl.clear()
mapdl.prep7()
*****MAPDL VERIFICATION RUN ONLY*****
DO NOT USE RESULTS FOR PRODUCTION
***** MAPDL ANALYSIS DEFINITION (PREP7) *****
Set material properties of the pipe.
mapdl.mp("EX", 1, 69e9)
mapdl.mp("NUXY", 1, 0.33)
mapdl.mp("DENS", 1, 2700)
mapdl.mp("ALPX", 1, 23.6e-6)
mapdl.mp("KXX", 1, 237)
mapdl.mp("C", 1, 900)
MATERIAL 1 C = 900.0000
Set element type to SOLID279.
mapdl.et(1, 279)
mapdl.keyopt(1, 2, 1)
print(mapdl)
Mapdl
-----
PyMAPDL Version: 0.71.2
Interface: grpc
Product: Ansys Mechanical Enterprise
MAPDL Version: 25.2
Running on: localhost
(127.0.0.1)
Set the pipe inner and outer diameter and length.
Create a simple hollow pipe
GENERATE NODES AND ELEMENTS IN VOLUME 1
SWEEPING VOLUME 1 FROM AREA 1 TO AREA 2
VOLUME 1 MESHED WITH 63200 HEXAHEDRA AND 0 WEDGES
Volume Sweeping Complete
The Following Volumes Were Successfully Swept
1
MAXIMUM NODE NUMBER = 283688
MAXIMUM ELEMENT NUMBER = 63200
Creating the regions from the geometry for named selections#
# Creating a named selection for Inner wall.
mapdl.asel("S", "AREA", "", 5, 6)
mapdl.nsla("S", 1)
mapdl.cm("FSIN_1", "NODE")
mapdl.allsel()
# Creating a named selection for Outer wall.
mapdl.asel("S", "AREA", "", 3, 4)
mapdl.cm("Outer_wall", "AREA")
mapdl.allsel()
# Creating a named selection for Outlet.
mapdl.asel("S", "AREA", "", 2)
mapdl.cm("Outlet", "AREA")
mapdl.allsel()
# Creating a named selection for Inlet.
mapdl.asel("S", "AREA", "", 1)
mapdl.cm("Inlet", "AREA")
mapdl.allsel()
SELECT ALL ENTITIES OF TYPE= ALL AND BELOW
Set the boundary conditions for the structure. Temperature is in degrees Celsius.
mapdl.cmsel("S", "Outer_wall")
mapdl.d("Outer_wall", "TEMP", 77)
mapdl.allsel()
mapdl.cmsel("S", "Inlet")
mapdl.sf("ALL", "HFLUX", 0)
mapdl.allsel()
mapdl.cmsel("S", "Outlet")
mapdl.sf("ALL", "HFLUX", 0)
mapdl.allsel()
mapdl.cmsel("S", "FSIN_1")
mapdl.sf("FSIN_1", "FSIN", 1)
mapdl.allsel()
SELECT ALL ENTITIES OF TYPE= ALL AND BELOW
Setup the rest of the analysis.
mapdl.run("/SOLU")
mapdl.antype(0)
PERFORM A STATIC ANALYSIS
THIS WILL BE A NEW ANALYSIS
Set up the fluid analysis and read the pre-created mesh file#
fluent = pyfluent.launch_fluent(start_transcript=False)
fluent.file.read(file_type="mesh", file_name=fluent_msh_file)
pyfluent.launcher WARNING: Configuring Fluent container to mount to /home/runner/work/pysystem-coupling/pysystem-coupling/examples/00-systemcoupling, with this path available as /home/container/workdir for the Fluent session running inside the container.
Define the fluid solver settings.
fluent.setup.models.energy.enabled = True
Add the material.
fluent.setup.materials.database.copy_by_name(type="fluid", name="water-liquid")
fluent.setup.cell_zone_conditions.fluid["fff_fluiddomain"].material = "water-liquid"
Define boundary conditions.
fluent.setup.boundary_conditions.velocity_inlet["inlet"].momentum.velocity = (
0.1 # units: m/s
)
fluent.setup.boundary_conditions.velocity_inlet["inlet"].thermal.temperature = (
300 # Units: Kelvin
)
fluent.setup.boundary_conditions.wall["inner_wall"].thermal.thermal_bc = (
"via System Coupling"
)
fluent.solution.run_calculation.iter_count = 20
Set up the coupled analysis#
System Coupling setup involves adding the structural and fluid participants, adding coupled interfaces and data transfers, and setting other coupled analysis settings.
syc = pysyc.launch(start_output=True)
Starting gRPC client without TLS on 127.0.0.1:39599. Modification of these configurations is not recommended. Please see the documentation for your installed product for additional information.
Add participants by passing session handles to System Coupling.
fluid_name = syc.setup.add_participant(participant_session=fluent)
solid_name = syc.setup.add_participant(participant_session=mapdl)
syc.setup.coupling_participant[fluid_name].display_name = "Fluid"
syc.setup.coupling_participant[solid_name].display_name = "Solid"
Add coupling interface.
interface_name = syc.setup.add_interface(
side_one_participant=fluid_name,
side_one_regions=["inner_wall"],
side_two_participant=solid_name,
side_two_regions=["FSIN_1"],
)
Set up 2-way thermal FSI coupling.
# Temperature from solid to fluid
temp_transfer = syc.setup.add_data_transfer(
interface=interface_name,
target_side="One",
source_variable="TEMP",
target_variable="temperature",
)
# Heat flux from fluid to solid
hf_transfer = syc.setup.add_data_transfer(
interface=interface_name,
target_side="Two",
source_variable="heatflow",
target_variable="HFLW",
)
Define constants and calculate Biot number#
L_c = (d_out - d_in) / 2 # Characteristic length of the pipe (thickness)
U = 0.1
fluid_rho = 998.3 # Density of fluid
mu_fluid = 0.001 # Dynamic viscosity of fluid
cp_fluid = 4182 # Specific heat capacity of fluid
k_fluid = 0.6 # Thermal conductivity of fluid
k_solid = 1.2 # Thermal conductivity of solid
def compute_thermo_numbers(rho, mu, cp, k_fluid, k_solid, velocity, L_c, n=0.4):
"""Compute Reynolds, Nusselt, h, and Biot numbers."""
def reynolds_number(rho, mu, velocity, D_h):
"""Reynolds number."""
return (rho * velocity * D_h) / mu
def nusselt_number(Re, Pr, n):
"""Dittus–Boelter Nusselt number."""
return 0.023 * (Re**0.8) * (Pr**n)
def biot_number(h, L_c, k_solid):
"""Biot number."""
return h * L_c / k_solid
Pr = (cp * mu) / k_fluid
Re = reynolds_number(rho, mu, velocity, L_c)
Nu = nusselt_number(Re, Pr, n)
h = Nu * k_fluid / L_c
Bi = biot_number(h, L_c, k_solid)
return Re, Nu, h, Bi
Re, Nu, h, Bi = compute_thermo_numbers(
fluid_rho, mu_fluid, cp_fluid, k_fluid, k_solid, U, L_c
)
print("Reynolds Number =", Re)
print("Nusselt Number =", Nu)
print("Heat Transfer Coefficient =", h)
print("Biot Number =", Bi)
Reynolds Number = 499.1500000000001
Nusselt Number = 7.204532546338012
Heat Transfer Coefficient = 864.5439055605613
Biot Number = 3.602266273169006
Apply stabilization if Biot number exceeds 10.
if Bi > 10:
syc.setup.analysis_control.global_stabilization.option = "Quasi-Newton"
syc.setup.solution_control.time_step_size = "0.1 [s]" # time step is 0.1 [s]
syc.setup.solution_control.end_time = 10 # end time is 10.0 [s]
syc.setup.output_control.option = "EveryStep"
syc.setup.output_control.generate_csv_chart_output = True
Solution#
syc.solution.solve()
+=============================================================================+
| Coupling Participants (2) |
+=============================================================================+
| Fluid |
+-----------------------------------------------------------------------------+
| Internal Name : FLUENT-1 |
| Participant Type : FLUENT |
| Participant Display Name : FLUENT-1 |
| Dimension : 3D |
| Input Parameters : [] |
| Output Parameters : [] |
| Participant Analysis Type : Steady |
| Use New APIs : True |
| Restarts Supported : True |
| Variables (21) |
| Variable : backflow_specific_dissipation_rate |
| Internal Name : backflow-specific-dissipation-rate |
| Quantity Type : Unspecified |
| Participant Display Name : backflow specific dissipation rate |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : backflow_total_temperature |
| Internal Name : backflow-total-temperature |
| Quantity Type : Unspecified |
| Participant Display Name : backflow total temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : backflow_turbulent_dissipation_rate |
| Internal Name : backflow-turbulent-dissipation-rate |
| Quantity Type : Unspecified |
| Participant Display Name : backflow turbulent dissipation rate |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : backflow_turbulent_kinetic_energy |
| Internal Name : backflow-turbulent-kinetic-energy |
| Quantity Type : Unspecified |
| Participant Display Name : backflow turbulent kinetic energy |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : components_of_flow_direction |
| Internal Name : components-of-flow-direction |
| Quantity Type : Unspecified |
| Participant Display Name : components of flow direction |
| Data Type : Real |
| Tensor Type : Vector |
| Is Extensive : False |
| |
| Variable : electrical_conductivity |
| Internal Name : electrical-conductivity |
| Quantity Type : Electrical Conductivity |
| Participant Display Name : electrical conductivity |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : force |
| Internal Name : force |
| Quantity Type : Force |
| Participant Display Name : force |
| Data Type : Real |
| Tensor Type : Vector |
| Is Extensive : True |
| |
| Variable : heat_transfer_coefficient |
| Internal Name : heat-transfer-coefficient |
| Quantity Type : Heat Transfer Coefficient |
| Participant Display Name : heat transfer coefficient |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : heatflow |
| Internal Name : heatflow |
| Quantity Type : Heat Rate |
| Participant Display Name : heatflow |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : True |
| |
| Variable : heatrate |
| Internal Name : heatrate |
| Quantity Type : Heat Rate |
| Participant Display Name : heatrate |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : True |
| |
| Variable : lorentz_force |
| Internal Name : lorentz-force |
| Quantity Type : Force |
| Participant Display Name : lorentz force |
| Data Type : Real |
| Tensor Type : Vector |
| Is Extensive : True |
| |
| Variable : mass_flow_rate |
| Internal Name : mass-flow-rate |
| Quantity Type : Unspecified |
| Participant Display Name : mass flow rate |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : True |
| |
| Variable : near_wall_temperature |
| Internal Name : near-wall-temperature |
| Quantity Type : Convection Reference Temperature |
| Participant Display Name : near wall temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : pressure |
| Internal Name : pressure |
| Quantity Type : Unspecified |
| Participant Display Name : pressure |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : specific_dissipation_rate |
| Internal Name : specific-dissipation-rate |
| Quantity Type : Unspecified |
| Participant Display Name : specific dissipation rate |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : static_temperature |
| Internal Name : static-temperature |
| Quantity Type : Unspecified |
| Participant Display Name : static temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : temperature |
| Internal Name : temperature |
| Quantity Type : Temperature |
| Participant Display Name : temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : total_temperature |
| Internal Name : total-temperature |
| Quantity Type : Unspecified |
| Participant Display Name : total temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : turbulent_dissipation_rate |
| Internal Name : turbulent-dissipation-rate |
| Quantity Type : Unspecified |
| Participant Display Name : turbulent dissipation rate |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : turbulent_kinetic_energy |
| Internal Name : turbulent-kinetic-energy |
| Quantity Type : Unspecified |
| Participant Display Name : turbulent kinetic energy |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : velocity |
| Internal Name : velocity |
| Quantity Type : Unspecified |
| Participant Display Name : velocity |
| Data Type : Real |
| Tensor Type : Vector |
| Is Extensive : False |
| Regions (4) |
| Region : fff_fluiddomain |
| Internal Name : fff_fluiddomain |
| Topology : Volume |
| Input Variables : [heatrate, lorentz-force] |
| Output Variables : [temperature, electrical-conductivity] |
| Region Discretization Type : Mesh Region |
| |
| Region : inlet |
| Internal Name : inlet |
| Topology : Surface |
| Input Variables : [turbulent-kinetic-energy, specific- |
| dissipation-rate, static-temperature, |
| velocity] |
| Output Variables : [pressure, backflow-total-temperature, |
| backflow-turbulent-kinetic-energy, backflow- |
| specific-dissipation-rate, backflow- |
| turbulent-dissipation-rate] |
| Region Discretization Type : Mesh Region |
| |
| Region : inner_wall |
| Internal Name : inner_wall |
| Topology : Surface |
| Input Variables : [temperature, heatflow] |
| Output Variables : [force, temperature, heat-transfer- |
| coefficient, heatflow, near-wall- |
| temperature] |
| Region Discretization Type : Mesh Region |
| |
| Region : outlet |
| Internal Name : outlet |
| Topology : Surface |
| Input Variables : [pressure, backflow-total-temperature, |
| backflow-turbulent-kinetic-energy, backflow- |
| specific-dissipation-rate] |
| Output Variables : [turbulent-kinetic-energy, specific- |
| dissipation-rate, turbulent-dissipation- |
| rate, total-temperature, static-temperature, |
| velocity, mass-flow-rate, components-of- |
| flow-direction] |
| Region Discretization Type : Mesh Region |
| Properties |
| Accepts New Inputs : False |
| Update Control |
| Option : ProgramControlled |
| Execution Control |
| Option : ExternallyManaged |
+-----------------------------------------------------------------------------+
| Solid |
+-----------------------------------------------------------------------------+
| Internal Name : MAPDL-2 |
| Participant Type : MAPDL |
| Participant Display Name : MAPDL-2 |
| Dimension : 3D |
| Input Parameters : [] |
| Output Parameters : [] |
| Participant Analysis Type : Steady |
| Restarts Supported : True |
| Variables (6) |
| Variable : Bulk_Temperature |
| Internal Name : TBULK |
| Quantity Type : Convection Reference Temperature |
| Location : Node |
| Participant Display Name : Bulk Temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : Heat_Flow |
| Internal Name : HFLW |
| Quantity Type : Heat Rate |
| Location : Node |
| Participant Display Name : Heat Flow |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : True |
| |
| Variable : Heat_Generation |
| Internal Name : HGEN |
| Quantity Type : Heat Rate |
| Location : Node |
| Participant Display Name : Heat Generation |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : Heat_Transfer_Coefficient |
| Internal Name : HCOEF |
| Quantity Type : Heat Transfer Coefficient |
| Location : Node |
| Participant Display Name : Heat Transfer Coefficient |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : Temperature |
| Internal Name : TEMP |
| Quantity Type : Temperature |
| Location : Node |
| Participant Display Name : Temperature |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| |
| Variable : Temperature_Load |
| Internal Name : TPLD |
| Quantity Type : Temperature |
| Location : Node |
| Participant Display Name : Temperature Load |
| Data Type : Real |
| Tensor Type : Scalar |
| Is Extensive : False |
| Regions (1) |
| Region : System Coupling (Surface) Region 0 |
| Internal Name : FSIN_1 |
| Topology : Surface |
| Input Variables : [TEMP, TBULK, HCOEF, HFLW] |
| Output Variables : [TEMP, TBULK, HCOEF, HFLW] |
| Region Discretization Type : Mesh Region |
| Properties |
| Accepts New Inputs : False |
| Update Control |
| Option : ProgramControlled |
| Execution Control |
| Option : ExternallyManaged |
+=============================================================================+
| Analysis Control |
+=============================================================================+
| Analysis Type : Steady |
| Optimize If One Way : True |
| Allow Simultaneous Update : False |
| Partitioning Algorithm : SharedAllocateMachines |
| Global Stabilization |
| Option : None |
+=============================================================================+
| Coupling Interfaces (1) |
+=============================================================================+
| Interface-1 |
+-----------------------------------------------------------------------------+
| Internal Name : Interface-1 |
| Side |
| Side: One |
| Coupling Participant : FLUENT-1 |
| Region List : [inner_wall] |
| Reference Frame : GlobalReferenceFrame |
| Instancing : None |
| Side: Two |
| Coupling Participant : MAPDL-2 |
| Region List : [FSIN_1] |
| Reference Frame : GlobalReferenceFrame |
| Instancing : None |
| Data Transfers (2) |
| DataTransfer : Heat_Flow |
| Internal Name : HFLW |
| Suppress : False |
| Target Side : Two |
| Option : UsingVariable |
| Source Variable : heatflow |
| Target Variable : HFLW |
| Ramping Option : None |
| Relaxation Factor : 1.00e+00 |
| Convergence Target : 1.00e-02 |
| Mapping Type : Conservative |
| DataTransfer : temperature |
| Internal Name : temperature |
| Suppress : False |
| Target Side : One |
| Option : UsingVariable |
| Source Variable : TEMP |
| Target Variable : temperature |
| Ramping Option : None |
| Relaxation Factor : 1.00e+00 |
| Convergence Target : 1.00e-02 |
| Mapping Type : ProfilePreserving |
| Unmapped Value Option : ProgramControlled |
| Mapping Control |
| Stop If Poor Intersection : True |
| Poor Intersection Threshold : 5.00e-01 |
| Face Alignment : ProgramControlled |
| Absolute Gap Tolerance : 0.0 [m] |
| Relative Gap Tolerance : 1.00e+00 |
+=============================================================================+
| Solution Control |
+=============================================================================+
| Duration Option : NumberOfSteps |
| Number Of Steps : 1 |
| Minimum Iterations : 1 |
| Maximum Iterations : 5 |
| Use IP Address When Possible : ProgramControlled |
| Use Local Host When Possible : ProgramControlled |
+=============================================================================+
| Output Control |
+=============================================================================+
| Option : EveryStep |
| Generate CSV Chart Output : True |
| Write Initial Snapshot : True |
| Results |
| Option : ProgramControlled |
| Include Instances : ProgramControlled |
| Type |
| Option : EnsightGold |
+=============================================================================+
+-----------------------------------------------------------------------------+
| Warnings were found during data model validation. |
+-----------------------------------------------------------------------------+
| Warning: Participant Solid (MAPDL-2) has the ExecutionControl 'Option' set |
| to 'ExternallyManaged'. System Coupling will not control the |
| startup/shutdown behavior of this participant. |
| Warning: Participant Fluid (FLUENT-1) has the ExecutionControl 'Option' set |
| to 'ExternallyManaged'. System Coupling will not control the |
| startup/shutdown behavior of this participant. |
| Warning: Unused input variables ['Bulk_Temperature', 'Temperature', |
| 'Heat_Transfer_Coefficient'] (TBULK, TEMP, HCOEF) on region FSIN_1 for |
| Solid (CouplingParticipant:MAPDL-2). |
| Warning: Unused input variables ['backflow_turbulent_kinetic_energy', |
| 'backflow_specific_dissipation_rate', 'backflow_total_temperature', |
| 'pressure'] (backflow-turbulent-kinetic-energy, backflow-specific- |
| dissipation-rate, backflow-total-temperature, pressure) on region |
| outlet for Fluid (CouplingParticipant:FLUENT-1). |
| Warning: Unused input variables ['heatflow'] (heatflow) on region |
| inner_wall for Fluid (CouplingParticipant:FLUENT-1). |
| Warning: Unused input variables ['lorentz_force', 'heatrate'] (lorentz- |
| force, heatrate) on region fff_fluiddomain for Fluid |
| (CouplingParticipant:FLUENT-1). |
| Warning: Unused input variables ['static_temperature', 'velocity', |
| 'specific_dissipation_rate', 'turbulent_kinetic_energy'] (static- |
| temperature, velocity, specific-dissipation-rate, turbulent-kinetic- |
| energy) on region inlet for Fluid (CouplingParticipant:FLUENT-1). |
+-----------------------------------------------------------------------------+
+=============================================================================+
| Execution Information |
+=============================================================================+
| |
| System Coupling |
| Command Line Arguments: |
| -m cosimgui --grpc --host=0.0.0.0 --port=39599 --transport-mode=insecur |
| e --allow-remote --ptrace |
| Working Directory: |
| /working |
| |
| Fluid |
| Not started by System Coupling |
| |
| Solid |
| Not started by System Coupling |
| |
+=============================================================================+
Awaiting connections from coupling participants... done.
+=============================================================================+
| Build Information |
+-----------------------------------------------------------------------------+
| System Coupling |
| 2025 R2: Build ID: 45b89b3 Build Date: 2025-09-24T09:46 |
| Fluid |
| ANSYS Fluent 25.0 2.0 0.0 Build Time: May 16 2025 12:49:54 EDT Build Id: |
| 203 |
| Solid |
| Mechanical APDL Release Build 25.2 UP20250519 |
| DISTRIBUTED LINUX x64 Version |
+=============================================================================+
+-----------------------------------------------------------------------------+
| MESH STATISTICS |
+-----------------------------------------------------------------------------+
| Participant: FLUENT-1 |
| Number of face regions 1 |
| Number of faces 8 408 |
| Triangular 8 408 |
| Area (m2) 3.140e-02 |
| Bounding Box (m) |
| Minimum [-2.500e-02 -2.500e-02 0.000e+00] |
| Maximum [ 2.500e-02 2.500e-02 2.000e-01] |
| |
| Participant: MAPDL-2 |
| Number of face regions 1 |
| Number of faces 8 000 |
| Quadrilateral8 8 000 |
| Area (m2) 3.141e-02 |
| Bounding Box (m) |
| Minimum [-2.500e-02 -2.500e-02 0.000e+00] |
| Maximum [ 2.500e-02 2.500e-02 2.000e-01] |
| |
| Total |
| Number of cells 0 |
| Number of faces 16 408 |
| Number of nodes 28 416 |
+-----------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
| MAPPING SUMMARY |
+-----------------------------------------------------------------------------+
| | Source Target |
+-----------------------------------------------------------------------------+
| Interface-1 | |
| Heat_Flow | |
| Mapped Area [%] | 100 100 |
| Mapped Elements [%] | 100 100 |
| Mapped Nodes [%] | 100 100 |
| temperature | |
| Mapped Area [%] | 100 100 |
| Mapped Elements [%] | 100 100 |
| Mapped Nodes [%] | 100 100 |
+-----------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
| Transfer Diagnostics |
+-----------------------------------------------------------------------------+
| | Source Target |
+-----------------------------------------------------------------------------+
| Fluid | |
| Interface: Interface-1 | |
| temperature | |
| Weighted Average | 2.73E+02 2.73E+02 |
+-----------------------------------------------------------------------------+
| Solid | |
| Interface: Interface-1 | |
| Heat_Flow | |
| Sum | 0.00E+00 0.00E+00 |
+-----------------------------------------------------------------------------+
===============================================================================
+=============================================================================+
| |
| Analysis Initialization |
| |
+=============================================================================+
===============================================================================
===============================================================================
+=============================================================================+
| |
| Coupled Solution |
| |
+=============================================================================+
===============================================================================
+=============================================================================+
| COUPLING STEP = 1 |
+=============================================================================+
+=============================================================================+
| COUPLING ITERATIONS |
+-----------------------------------------------------------------------------+
| | Source Target |
+-----------------------------------------------------------------------------+
| COUPLING ITERATION = 1 |
+-----------------------------------------------------------------------------+
| Fluid | |
| Interface: Interface-1 | |
| temperature | Not yet converged |
| RMS Change | 1.00E+00 1.00E+00 |
| Weighted Average | 2.73E+02 2.73E+02 |
+-----------------------------------------------------------------------------+
| Solid | |
| Interface: Interface-1 | |
| Heat_Flow | Not yet converged |
| RMS Change | 1.00E+00 1.00E+00 |
| Sum | 6.12E+02 6.12E+02 |
+-----------------------------------------------------------------------------+
| Participant solution status | |
| Fluid | Not yet converged |
| Solid | Converged |
+-----------------------------------------------------------------------------+
| COUPLING ITERATION = 2 |
+-----------------------------------------------------------------------------+
| Fluid | |
| Interface: Interface-1 | |
| temperature | Not yet converged |
| RMS Change | 3.79E-01 3.97E-01 |
| Weighted Average | 3.51E+02 3.51E+02 |
+-----------------------------------------------------------------------------+
| Solid | |
| Interface: Interface-1 | |
| Heat_Flow | Not yet converged |
| RMS Change | 6.02E-01 3.73E-01 |
| Sum | -1.19E+03 -1.19E+03 |
+-----------------------------------------------------------------------------+
| Participant solution status | |
| Fluid | Not yet converged |
| Solid | Converged |
+-----------------------------------------------------------------------------+
| COUPLING ITERATION = 3 |
+-----------------------------------------------------------------------------+
| Fluid | |
| Interface: Interface-1 | |
| temperature | Not yet converged |
| RMS Change | 1.36E-02 1.34E-02 |
| Weighted Average | 3.49E+02 3.49E+02 |
+-----------------------------------------------------------------------------+
| Solid | |
| Interface: Interface-1 | |
| Heat_Flow | Not yet converged |
| RMS Change | 6.23E-02 4.02E-02 |
| Sum | -1.08E+03 -1.08E+03 |
+-----------------------------------------------------------------------------+
| Participant solution status | |
| Fluid | Not yet converged |
| Solid | Converged |
+-----------------------------------------------------------------------------+
| COUPLING ITERATION = 4 |
+-----------------------------------------------------------------------------+
| Fluid | |
| Interface: Interface-1 | |
| temperature | Converged |
| RMS Change | 1.01E-03 9.90E-04 |
| Weighted Average | 3.49E+02 3.49E+02 |
+-----------------------------------------------------------------------------+
| Solid | |
| Interface: Interface-1 | |
| Heat_Flow | Converged |
| RMS Change | 4.39E-03 3.22E-03 |
| Sum | -1.09E+03 -1.09E+03 |
+-----------------------------------------------------------------------------+
| Participant solution status | |
| Fluid | Converged |
| Solid | Converged |
+=============================================================================+
===============================================================================
+=============================================================================+
| |
| Shut Down |
| |
+=============================================================================+
===============================================================================
+=============================================================================+
| Available Restart Points |
+=============================================================================+
| Restart Point | File Name |
+-----------------------------------------------------------------------------+
| Coupling Step 1 | Restart_step1.h5 |
+=============================================================================+
+=============================================================================+
| Timing Summary [s] |
+=============================================================================+
| Total Time : 9.61065E+01 |
| Coupling Participant Time |
| Fluid : 7.01057E+01 |
| Solid : 2.38061E+01 |
| Total : 9.39118E+01 |
| Coupling Engine Time |
Post processing#
Post process the fluid results in Fluent.
if fluent.settings.results.graphics.picture.use_window_resolution.is_active():
fluent.settings.results.graphics.picture.use_window_resolution = False
fluent.settings.results.graphics.picture.x_resolution = 1920
fluent.settings.results.graphics.picture.y_resolution = 1440
fluent.settings.results.surfaces.plane_surface.create(name="mid_plane")
fluent.settings.results.surfaces.plane_surface["mid_plane"].method = "zx-plane"
fluent.settings.results.graphics.contour.create(name="contour_temperature")
fluent.settings.results.graphics.contour["contour_temperature"] = {
"field": "temperature",
"surfaces_list": ["mid_plane"],
}
fluent.settings.results.graphics.contour.display(object_name="contour_temperature")
fluent.settings.results.graphics.views.restore_view(view_name="top")
fluent.settings.results.graphics.views.auto_scale()
fluent.settings.results.graphics.picture.save_picture(file_name="cht_temp_contour.png")
| Solution Control : 1.40948E+00 |
| Mesh Import : 5.53060E-02 |
| Mapping Setup : 4.01833E-01 |
| Mapping : 1.21140E-03 |
| Numerics : 3.87907E-03 |
| Misc. : 3.22947E-01 |
| Total : 2.19466E+00 |
+=============================================================================+
+=============================================================================+
| System coupling run completed successfully. |
+=============================================================================+
Post-process the system coupling results - display the charts showing the convergence plot.
syc.solution.show_plot(show_convergence=True)

<ansys.systemcoupling.core.charts.plotter.Plotter object at 0x7fded0b89fa0>
Exit#
syc.exit()
fluent.exit()
mapdl.exit()
Total running time of the script: (3 minutes 55.623 seconds)