Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge master with develop #165

Merged
merged 20 commits into from
Feb 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d036f90
Added tutorial for solid-to-solid CHT
EvertBunschoten Aug 6, 2024
ab129d6
Completed tutorial description
EvertBunschoten Aug 19, 2024
79fb708
Added images for solid-solid CHT tutorial
EvertBunschoten Aug 19, 2024
d7975ad
Added links to tutorial mesh files.
EvertBunschoten Aug 21, 2024
c2e8282
Correct image links in Logs and Mesh tab
Ujjawal179 Sep 19, 2024
58ee601
Merge branch 'su2code:master' into master
Ujjawal179 Sep 19, 2024
ec77c32
Merge branch 'su2code:master' into master
Ujjawal179 Oct 1, 2024
e15c53a
Merge pull request #159 from Ujjawal179/master
pcarruscag Oct 1, 2024
8b3cd73
Added combustion tutorial to tutorial list
EvertBunschoten Oct 3, 2024
c86d7b3
Merge branch 'master' of https://github.com/su2code/su2code.github.io…
EvertBunschoten Oct 3, 2024
676cf66
Added solid-solid CHT tutorial to tutorials list
EvertBunschoten Oct 3, 2024
9d40ac0
Updated links and latex equations in text
EvertBunschoten Oct 4, 2024
913fbc8
Updated permalink so tutorial appears correctly in tutorials list
EvertBunschoten Oct 4, 2024
0b38c47
Merge pull request #155 from su2code/feature_solid-solid_cht
EvertBunschoten Oct 4, 2024
0d0e632
Merge branch 'master' of https://github.com/su2code/su2code.github.io…
EvertBunschoten Oct 4, 2024
f1a34e8
Updated title card
EvertBunschoten Oct 4, 2024
7d6de25
Added link to SU2 DataMiner repo f.
EvertBunschoten Oct 8, 2024
2033010
Merge pull request #162 from su2code/fix_index_flamelet_tutorial
EvertBunschoten Oct 8, 2024
18205bf
Update Installation.md
bigfooted Jan 29, 2025
f3142f5
Merge pull request #166 from su2code/bigfooted-patch-3
pcarruscag Jan 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions _data/tutorials.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
- Dynamic_FSI_Python
- Static_CHT
- Inc_Heated_Cylinders_Unsteady
- SS_CR_CHT
- Inc_Combustion

- title: Design Features
tutorials:
Expand Down
2 changes: 1 addition & 1 deletion _su2gui/Installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@ To launch the GUI, run the following command in your terminal:

SU2_GUI

For a quick introduction to using SU2GUI, visit the [Quick start](./../Quick-start) page. For additional terminal options, refer to the [Terminal Initialization](./../Terminal-Initialization) page.
For a quick introduction to using SU2GUI, visit the [Quick start](./../Quick-Start) page. For additional terminal options, refer to the [Terminal Initialization](./../Terminal-Initialization) page.
6 changes: 3 additions & 3 deletions _su2gui/Logs-Tab-and-Errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The SU2 and SU2GUI logs provide essential information about the execution and pe

## SU2 Logs

![SU2 Log Tab](../../su2gui_files/User_guide/logs/su2-logs.png)
![SU2 Log Tab](../../su2gui_files/User_guide/Logs/su2-logs.png)

The SU2 logs contain detailed information about the solver's execution, including convergence history, residual values, and solution progress. These logs are invaluable for identifying convergence issues, detecting numerical instabilities, and gaining insights into the overall simulation process.

Expand All @@ -17,7 +17,7 @@ Each SU2 log file is stored within the corresponding case folder and is unique t
---
## SU2GUI Logs

![SU2GUI Log Tab](../../su2gui_files/User_guide/logs/su2gui-logs.png)
![SU2GUI Log Tab](../../su2gui_files/User_guide/Logs/su2gui-logs.png)

The SU2GUI logs capture interactions and events within the graphical user interface. These logs are useful for understanding user actions, identifying errors or warnings, and tracking the workflow followed during a simulation setup.

Expand All @@ -27,7 +27,7 @@ Unlike the SU2 logs, the SU2GUI log file is updated and cleared each time SU2GUI

## Error/Warn Message

![Error message](../../su2gui_files/User_guide/logs/error-message.png)
![Error message](../../su2gui_files/User_guide/Logs/error-message.png)

In addition to capturing interactions and events within the graphical user interface, SU2GUI also displays any Error and Warning messages received in the log files as pop-up dialog box. This feature helps users quickly identify and address any issues or potential problems during the simulation setup or execution.

Expand Down
6 changes: 3 additions & 3 deletions _su2gui/Mesh.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ SU2GUI offers the option to load a mesh file through both the GUI and the termin
1. Start a new case. Follow these guides for detailed steps on [starting a new case](./../Manage-Cases/#starting-a-new-case).


2. Click on the "Load Mesh File" option. ![](../../su2gui_files/User_guide/Mesh/button-mesh-file.png)
2. Click on the "Load Mesh File" option. ![](../../su2gui_files/User_guide/mesh/button-mesh-file.png)


3. In the pop-up window, choose the desired mesh file. ![](../../su2gui_files/User_guide/Mesh/choose-mesh-file.png)
3. In the pop-up window, choose the desired mesh file. ![choose mesh file](../../su2gui_files/User_guide/mesh/choose-mesh-file.png)


4. The mesh file should now be loaded, and the properties in the GUI should be updated accordingly. ![](../../su2gui_files/User_guide/Mesh/loaded-mesh-file.png)
4. The mesh file should now be loaded, and the properties in the GUI should be updated accordingly. ![loaded mesh file](../../su2gui_files/User_guide/mesh/loaded-mesh-file.png)



Expand Down
90 changes: 58 additions & 32 deletions _tutorials/incompressible_flow/Inc_Combustion/Inc_Combustion.md

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions _tutorials/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ Linear Nastran-like model coupled with compressible unsteady RANS equations usin
Simulation of multiple heated cylinders in incompressible fluid flow.
* [Unsteady Conjugate Heat Transfer](/tutorials/Inc_Heated_Cylinders_Unsteady/)
Simulation of an unsteady coupled CHT problem incorporating multiple physical zones.
* [Conjugate Heat Transfer between Solid Domains](/tutorials/SS_CR_CHT/)
Simulation of CHT between solid domains with contact resistance.
* [Pre-mixed Hydrogen Combustion](/tutorials/Inc_Combustion/)
Simulation of a laminar, pre-mixed hydrogen flame on a cooled burner plate.

#### Shape Design Features

Expand Down
154 changes: 154 additions & 0 deletions _tutorials/multiphysics/contact_resistance_cht/SS_CR_CHT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
---
title: Solid-to-Solid Conjugate Heat Transfer with Contact Resistance
permalink: /tutorials/SS_CR_CHT/
written_by: EvertBunschoten
for_version: 8.0.1
revised_by: EvertBunschoten
revised_version: 8.0.1
solver: MULTIPHYSICS
requires: SU2_CFD, Gmsh
complexity: advanced
follows: Static_CHT
userguide: Multizone
---

## Goals

This tutorial shows the ability of SU2 to solve conjugate heat transfer problems between solids with contact resistance. Two solids with a different material composition are conducting thermal energy to one another. The thermal energy transfer is limited through the application of contact resistance. In addition, an incompressible flow (air) flows along the two solids, participating in the transfer of thermal energy.


## Resources

The resources for this tutorial can be found in the [multiphysics/contact_resistance_cht](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht) directory in the [tutorial repository](https://github.com/su2code/Tutorials). You will need the configuration files for all physical zones ([fluid.cfg](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/fluid.cfg), [solid_1.cfg](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_1.cfg), [solid_2.cfg](https://github.com/su2code/Tutorials/tree/master/multiphysics/steady_cht/contact_resistance_cht/solid_2)), the cofiguration file to invoke a multiphysics simulation run ([master.cfg](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/master.cfg)) and the mesh files. These can be generated through GMesh using the .geo files for the [fluid zone](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/fluid_3.geo), and solid zones ([solid 1](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_1.geo), [solid 2](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_2.geo)).


## Tutorial

The following tutorial will walk you through the steps required when solving for a coupled CHT solution incorporating multiple physical zones and contact resistance. It is assumed you have already obtained and compiled the SU2_CFD code for a serial computation. If you have yet to complete these requirements, please see the [Download](/docs_v8/Download/) and [Installation](/docs_v8/Installation/) pages.

### Background

Typical engineering applications involving conjugate heat transfer often do not concern a single solid material. For example, a pipe transporting a fluid may be composed of different layers of materials or a heat exchanger in a fluid flow has to be attached to the surrounding structure using insulation material. Depending on the application, the estimation of heat transfer through touching solid mediums can be crucial. Unlike the transfer between solid and fluid mediums, the contact between solid mediums is imperfect. Small cavities between the neighboring solids may result in a significant resistance in heat transfer compared to the idealized situation of perfect contact. SU2 allows the user to model the contact resistance between solid domains.

The heat flux between a conjugate heat transfer interface and the neighboring cell for an idealized contact (no contact resistance) is defined as

$$
q_{w} = \frac{T - T_w}{\frac{l}{k}}
$$

where $T$ is the temperature in the neighboring cell, $T_w$ the wall temperature, $l$ the distance between the cell center and the interface, and $k$ the thermal conductivity of the solid medium. The effect of contact resistance is modeled similarly compared to the contact resistance of [Ansys Fluent](https://www.afs.enea.it/project/neptunius/docs/fluent/html/th/node358.htm).

$$
q_{w} = \frac{T - T_w}{\frac{l}{k} + R_c}
$$

Here, $R_c$ is the contact resistance with the units $m K W^{-1}$, or the inverse of the heat transfer coefficient. For ideal contact, $R_c$ is equal to zero. This results in the temperature on both sides of the interface to be equal. Applying a non-zero value for $R_c$ restricts the heat transfer between the two solid domains, resulting in a temperature discontinuity. To illustrate this, consider the following set-up with two solid domains.

![Solid domain set-up](../../../tutorials_files/multiphysics/contact_resistance_cht/solid_domains.png)
Figure 1: Two solid domains subject to iso-thermal boundary conditions connected by a zone interface.


Here, the two colored blocks have different thermal properties and are subject to two isothermal walls. The temperature profile along the centerline for various values of $R_c$ is shown below. The discontinuity between the temperatures on either side of the interface is proportional to the value of $R_c$.

![Effect of $R_c$](../../../tutorials_files/multiphysics/contact_resistance_cht/contact_resistance_effect.png)
Figure 2: The effect of altering the contact resistance at the interface between the solid domains.

What follows is a tutorial with heat transfer between solid and fluid domains that illustrates the use of the contact resistance model.

### Problem Setup

This problem will solve for the incompressible flow along side two solid, metal blocks with different thermal properties, subject to heat transfer with contact resistance at the interface between the blocks. The simulation setup is shown below. The two solid blocks are squares with a side length of 1.0e-02m, while the fluid domain has a width of 5.0e-03m.

![Problem Setup](../../../tutorials_files/multiphysics/contact_resistance_cht/problem_setup.png)
Figure 3: Computational setup for the tutorial problem for conjugate heat transfer between solid and fluid domains.

The following flow conditions that are set for the fluid domain with a Reynolds number of 260:
- Fluid model: incompressible, ideal gas
- Density = 1.29 kg/m^3
- Inlet Velocity Magnitude = 0.1 m/s
- Inlet temperature = 300 K
- Viscosity (constant) = 1.0e-05 kg/(m-s)

Solid domain 1 has the material properties of stainless steel:
- Density = 8935 kg/m^3
- Specific heat = 3850 J/(kg-K)
- Thermal conductivity = 26 W/(m-K)

Solid domain 2 has the material properties of copper:
- Density = 8000 kg/m^3
- Specific heat = 4420 J/(kg-K)
- Thermal conductivity = 61 W/(m-K)

The two solid blocks each are subject to an iso-thermal wall boundary condition, which drives the transfer of heat between the solid domains and the fluid. The interface type for all domains was set to ```DIRECT_TEMPERATURE_ROBIN_HEATFLUX```, with a contact resistance value of 1.0e-04 K-m/W applied to the interface between Solid 1 and Solid 2. All other boundaries were defined as symmetry boundary conditions.


### Mesh Description

The computational domain for this tutorial is made up of three separate meshes; [Solid 1](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_mesh_1.su2), [Solid 2](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_mesh_2.su2), and [Fluid](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/fluid_mesh.su2). The meshes for the solid domains are simple, square meshes with 40 nodes along each side, while the fluid domain mesh is refined near the interface with the solid domains. These meshes can alternatively be generated through Gmesh. The .geo files for [Solid 1](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_1.geo), [Solid 2](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_2.geo), and [Fluid](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/fluid_3.geo) allow for the generation of the respective SU2 mesh files.

![Problem Setup Mesh](../../../tutorials_files/multiphysics/contact_resistance_cht/problem_mesh.png)
Figure 4: The computational mesh with all three physical zones.

### Configuration File Options

Several of the key configuration file options for this simulation are highlighted here. For this problem, four configuration files are used. The [master configuration file](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/master.cfg) describes the interface between the fluid and solid domains as well as the application of contact resistance.
```
CONFIG_LIST = (solid_1.cfg, solid_2.cfg, fluid.cfg)
MARKER_ZONE_INTERFACE= (cht_interface_1_2, cht_interface_2_1,\
cht_interface_1_3, cht_interface_3_1,\
cht_interface_2_3, cht_interface_3_2)

MARKER_CHT_INTERFACE= (cht_interface_1_2, cht_interface_2_1,\
cht_interface_1_3, cht_interface_3_1,\
cht_interface_2_3, cht_interface_3_2)

```
Here, ```cht_interface_1_2``` and ```cht_interface_2_1``` are the boundaries connecting Solid 1 with Solid 2, while the other interfaces connect the fluid and solid domains. The contact resistance model in SU2 allows the user to apply a contact resistance value for each of the interfaces.

```
CHT_INTERFACE_CONTACT_RESISTANCE = (1e-4,0,0)
```

Be mindful that the number of values for contact resistance should match the number of interfaces. For solid-fluid interfaces, the contact resistance model does not apply. Applying a non-zero value for contact resistance for such interfaces will therefore not affect the simulation results.

The configurations for the [steel solid domain](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_1.cfg), [copper solid domain](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/solid_2.cfg), and [fluid domain](https://github.com/su2code/Tutorials/tree/master/multiphysics/contact_resistance_cht/fluid_3.cfg) all contain standard settings for multi-physics simulations.


### Running SU2

In order to run this test case, follow these steps at a terminal command line:
1. Move to the directory containing the config files and the mesh files. Make sure that the SU2 tools were compiled, installed, and that their install location was added to your path.
2. Run the executable by entering

```
$ SU2_CFD master.cfg
```

at the command line.
3. SU2 will print residual updates with each outer iteration of the flow solver, and the simulation will terminate after reaching running for 2000 iterations
4. Files containing the results will be written upon exiting SU2. The solutions for both solid and fluid domains are contained in a single ParaView multiblock file (.vtm), from which the solutions can be loaded.

### Results

The temperature solution of the completed simulation is shown below. The hot, stainless steel block heats up the flow in the fluid domain, which transfers the heat partially to the copper block downstream through convection.

![Temperature solution](../../../tutorials_files/multiphysics/contact_resistance_cht/solution_temperature.png)
Figure 5: Temperature solution for the current setup.

The effect of the application of contact resistance becomes clear when visualizing the temperature trend across interfaces. Three temperature trends according to each interface are shown below and are color coded corresponding to the lines shown in Figure 6.

![Temperature solution lines](../../../tutorials_files/multiphysics/contact_resistance_cht/solution_temperature_lines.png)
Figure 6: Temperature trends across the heat transfer interfaces.

The temperature trends across the solid-fluid interfaces (green, red) are continuous, the temperature trend across the solid-solid interface (purple) shows a discontinuity at the interface as a result of the application of contact resistance. This effect can be exaggerated when increasing the value for the contact resistance. For example, when applying a contact resistance value of 10 W-m/K,
```
CHT_INTERFACE_CONTACT_RESISTANCE = (10.0,0,0)
```
the two solid domains are currently essentially insulated from one another. This results in the following temperature solution.

![Temperature solution](../../../tutorials_files/multiphysics/contact_resistance_cht/solution_temperature_n.png)
Figure 7: Temperature solution for a contact resistance value of 10.0 W-m/K.


![Temperature solution lines](../../../tutorials_files/multiphysics/contact_resistance_cht/solution_temperature_lines_n.png)
Figure 8: Temperature trends across the interfaces for a contact resistance value of 10.0 W-m/K.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading