Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
75726cf
Tutorial config files.
oleburghardt Feb 3, 2020
5a9d8a5
Tutorial config files (part 2).
oleburghardt Feb 3, 2020
ea756d9
First version for Unsteady CHT tutorial.
oleburghardt Feb 3, 2020
1d51df6
Include Unsteady CHT tutorial to index.
oleburghardt Feb 3, 2020
4fc3d94
Add youtube link for Unsteady CHT tutorial.
oleburghardt Feb 3, 2020
c171975
adding embedded youtube video
talbring Feb 3, 2020
2a6ab13
Minor corrections.
oleburghardt Feb 4, 2020
2f71137
Merge branch 'unsteady_cht_tutorial' of https://github.com/su2code/su…
oleburghardt Feb 4, 2020
203a003
Adding a tutorial for the actuator disk with variable load
EttoreSaetta Dec 4, 2020
7aaef10
Formula corrections
EttoreSaetta Dec 4, 2020
eb140eb
Format corrections
EttoreSaetta Dec 4, 2020
02761e6
Adding the mathematical model
EttoreSaetta Dec 7, 2020
bd2dffb
Correcting some formula
EttoreSaetta Dec 7, 2020
b5d0b98
Correcting some formula
EttoreSaetta Dec 7, 2020
686f40e
Adding figures
EttoreSaetta Dec 7, 2020
51aa9dd
Correction of the figures path
EttoreSaetta Dec 7, 2020
1cd2043
Correction of the figures path
EttoreSaetta Dec 7, 2020
12f4e8d
Figures improvement
EttoreSaetta Dec 7, 2020
e4d27bc
Resize 1st figure
EttoreSaetta Dec 7, 2020
3f18837
Remove resize
EttoreSaetta Dec 7, 2020
bd888dc
Adding the Running SU2 section
EttoreSaetta Dec 7, 2020
ca0f79c
Adding the Running SU2 section
EttoreSaetta Dec 7, 2020
cb9a735
Figure 7 path correction
EttoreSaetta Dec 7, 2020
658bb91
Adding some figures
EttoreSaetta Dec 10, 2020
5edc6eb
Adding some figures
EttoreSaetta Dec 10, 2020
db7323b
Changing some figures
EttoreSaetta Dec 10, 2020
0109558
Changing some figures
EttoreSaetta Dec 10, 2020
ce3815b
Updating the link of the grid
EttoreSaetta Dec 10, 2020
8616891
Adding au
EttoreSaetta Dec 10, 2020
516a8bf
changing links to the tutorial files
EttoreSaetta Dec 10, 2020
0a0ea6b
Packages required for fsi_nastran updated
Nicola-Fonzi Dec 29, 2020
30a432c
Introduced description of new imposed motion
Nicola-Fonzi Dec 29, 2020
c8aeb42
Added example for imposed parameters
Nicola-Fonzi Dec 29, 2020
4f3a29a
Update ActuatorDisk_VariableLoad.md
rtogna Jan 4, 2021
2b223de
Update ActuatorDisk_VariableLoad.md
rtogna Jan 4, 2021
7af755a
Merge pull request #44 from su2code/feature_tutorial_ActuatorDisk
rtogna Jan 4, 2021
53e9d5a
Move Inc_Heated_Cylinders tutorial file to multiphysics/steady_cht.
oleburghardt Jan 18, 2021
e2543fd
Move Inc_Heated_Cylinders tutorial file to multiphysics/steady_cht.
oleburghardt Jan 18, 2021
015d7e7
Move tutorial image files from Inc_Heated_Cylinders to multiphysics/s…
oleburghardt Jan 18, 2021
21d2faf
Add (FFD box-) image for multiphysics CHT tutorial.
oleburghardt Jan 18, 2021
8881352
Move CHT tutorial from incompressible flow section to multiphysics.
oleburghardt Jan 18, 2021
f04ae25
Updates in CHT tutorial markdown file, some more stuff on validation …
oleburghardt Jan 18, 2021
e5acb82
Adding some more finite difference values.
oleburghardt Jan 18, 2021
12578c8
Updated version number
Nicola-Fonzi Jan 27, 2021
12af6f2
Merge pull request #48 from Nicola-Fonzi/master
Nicola-Fonzi Jan 27, 2021
32a5fb3
Update Dynamic_FSI_Python.md
Nicola-Fonzi Feb 1, 2021
f82458f
Merge pull request #51 from su2code/fix_error_unsteadyfsi
Nicola-Fonzi Feb 2, 2021
2a9bf1d
Update index.md
Nicola-Fonzi Feb 2, 2021
315a1b5
Fixed conflict in tutorials.yml
Nicola-Fonzi Feb 2, 2021
5ed4492
Merge branch 'develop' into update_cht_tutorial
Nicola-Fonzi Feb 8, 2021
ea47ca0
Merge pull request #49 from su2code/update_cht_tutorial
Nicola-Fonzi Feb 8, 2021
88201b7
Update Dynamic_FSI_Python.md
Nicola-Fonzi Feb 16, 2021
986dd52
Update Dynamic_FSI_Python.md
Nicola-Fonzi Feb 16, 2021
b4e8662
Update Dynamic_FSI_Python.md
Nicola-Fonzi Feb 16, 2021
d08f436
Merge pull request #52 from su2code/update_python_tutorial
Nicola-Fonzi Feb 22, 2021
1b4dc08
Add streamwise periodic tutorial and theory.
TobiKattmann Feb 26, 2021
2698662
Merge pull request #53 from su2code/feature_periodic_streamwise
TobiKattmann Mar 2, 2021
271b1df
Merge remote-tracking branch 'origin/develop' into unsteady_cht_tutorial
TobiKattmann Mar 4, 2021
035a17a
Change links in unst cht, as files moved. Plus little fixes.
TobiKattmann Mar 4, 2021
ef60055
Replace some deprecated config options.
oleburghardt Mar 11, 2021
7f13155
Update Dynamic_FSI_Python.md
Nicola-Fonzi Jun 23, 2021
119d55c
Update Dynamic_FSI_Python.md
Nicola-Fonzi Jun 23, 2021
2a392fe
Merge pull request #56 from su2code/update_fsi_python
Nicola-Fonzi Jun 27, 2021
808f29f
Merge remote-tracking branch 'origin/develop' into unsteady_cht_tutorial
TobiKattmann Jul 31, 2021
b55fb2a
Merge pull request #26 from su2code/unsteady_cht_tutorial
TobiKattmann Jul 31, 2021
cb34412
Add explanation for heattransfer wall
TobiKattmann Jul 31, 2021
9d008e1
Merge remote-tracking branch 'origin/develop' into feature_heattransf…
TobiKattmann Jul 31, 2021
4900a7f
minor updates to heat transfer bc explanation
TobiKattmann Jul 31, 2021
96ae88a
Merge pull request #57 from su2code/feature_heattransfer_wall
TobiKattmann Jul 31, 2021
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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@
# bundler snapshot of all gems and versions that it installed
# https://bundler.io/rationale.html
Gemfile.lock

.jekyll-metadata
1 change: 1 addition & 0 deletions _data/docs_v7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
- title: Theory
docs_v7:
- Theory
- Streamwise-Periodicity

- title: Users Guide
docs_v7:
Expand Down
6 changes: 4 additions & 2 deletions _data/tutorials.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
- Inc_Turbulent_NACA0012
- Inc_Laminar_Step
- Inc_Laminar_Cavity
- Inc_Heated_Cylinders
- Inc_Streamwise_Periodic

- title: Structural Mechanics
tutorials:
- Linear_Elasticity
Expand All @@ -38,6 +38,8 @@
tutorials:
- Static_FSI
- Dynamic_FSI_Python
- Static_CHT
- Inc_Heated_Cylinders_Unsteady

- title: Design Features
tutorials:
Expand Down
15 changes: 15 additions & 0 deletions _docs_v7/Markers-and-BC.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ The term *Marker* refers to a named entity in your mesh file. Boundary condition
- [Euler (Slip) Wall](#euler-slip-wall)
- [Symmetry Wall](#symmetry-wall)
- [Constant Heatflux (no-slip) Wall](#constant-heatflux-no-slip-wall)
- [Heat Transfer or Convection (no-slip) Wall](#heat-transfer-or-convection-no-slip-wall)
- [Isothermal (no-slip) Wall](#isothermal-no-slip-wall)
- [Farfield Boundary Condition](#farfield-boundary-condition)
- [Inlet Boundary Condition](#inlet-boundary-condition)
Expand Down Expand Up @@ -74,6 +75,20 @@ MARKER_HEATFLUX = (Wall1, 1e05, Wall2, 0.0)

**Note**: Typically Navier-Stokes and RANS simulations are setup with adiabatic walls (heatflux = 0).

## Heat Transfer or Convection (no-slip) Wall ##

| Solver | Version |
| --- | --- |
| `NAVIER_STOKES`, `RANS`, `INC_NAVIER_STOKES`, `INC_RANS` | 7.0.0 |


A wall with a prescribed locally variable heatflux via a heat transfer coefficient and and a Temperature at infinity (or reservoir Temperature) is defined with the `MARKER_HEATTRANSFER` option. The heatflux `q` computes to `q = h(T_inf - T_wall)`, where `T_wall` is the local wall temperature and therefore no user input. The option format is the marker name followed by the value of the heat-transfer coefficient (in Watts per square meter and Kelvin `[W/(m^2*K)],[J/(s*m^2*K)]`) and the value of the Temperature at infinity (in Kelvin `[K]`), e.g.
```
MARKER_HEATTRANSFER = (Wall1, 10.0, 350.0, Wall2, 5.0, 330.0, ...)
```

**Note**: The Heat Transfer Wall degenerates to an adiabatic wall when the heat transfer coefficient is zero. On the other extreme (a very high heat transfer coefficient) the Heat Transfer Wall degenerates to an isothermal wall with Temperature at infinity being the wall temperature.

## Isothermal (no-slip) Wall ##

| Solver | Version |
Expand Down
107 changes: 107 additions & 0 deletions _docs_v7/Streamwise-Periodicity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
title: Streamwise Periodicity
permalink: /docs_v7/Streamwise-Periodicity/
---

| Solver | Version |
| --- | --- |
| `INC_NAVIER_STOKES`, `INC_RANS` | 7.0.0 |


This page contains an overview of the theory behind streamwise periodic flow and builds upon [Incompressible Navier-Stokes](/docs_v7/Theory/#incompressible-navier-stokes). A tutorial for [Streamwise Periodic Flow](/tutorials/Inc_Streamwise_Periodic/) is available.

---

- [Limitations](#limitations)
- [Introduction](#introduction)
- [Pressure and Velocity Periodiciy](#pandv-periodiciy)
- [Massflow prescription](#massflow)
- [Temperature Periodiciy](#T-periodiciy)
- [Fake temperature periodicity via outlet heat sink](#fake-temperature-periodicity-via-outlet-heat-sink)
- [References](#references)

---

## Limitations
- can only be used with the incompressible solver, namely `INC_NAVIER_STOKES` and `INC_RANS`
- temperature dependent fluid properties (e.g. $$c_p, \mu_{lam}$$) cannot be used with real streamwise periodic flow

## Introduction

A flow can be modeled as streamwise periodic if the following statements hold true:

$$\begin{align}
\bar{v}\left( \bar{x} \right) &= \bar{v} \left( \bar{x}+\bar{t} \right), \\
p\left( \bar{x} \right) &= p \left( \bar{x}+\bar{t} \right) + \Delta p_0, \\
T\left( \bar{x} \right) &= T \left( \bar{x}+\bar{t} \right) - \Delta T_0.
\end{align}$$

With $$\bar{t}$$ being the translation vector between periodic interfaces and $$\Delta p_0, \Delta T_0$$ the constant pressure or temperature drop between the periodic interfaces.

## Pressure and Velocity Periodicity

The continuous relation between physical pressure $$p$$ and periodic/reduced pressure $$\tilde{p}$$ in space is:

$$p\left( \bar{x} \right) = \tilde p \left( \bar{x} \right) - \frac{\Delta p_0}{\left\lVert\bar{t}\right\rVert_2}t_p, \quad t_p =\frac{1}{\left\lVert\bar{t}\right\rVert_2} \left| \left( \bar{x} - \bar{x}^\star \right) \cdot \bar{t} \right|.$$

This separation into two parts can be interpreted as a "constant" and a "linear" (along the domain) contribution.
This relation is used to compute the recovered pressure for postprocessing.
Inserting this pressure formulation into the momentum equation of the incompressible Navier-Stokes equation (see [here](/docs_v7/Theory/#incompressible-navier-stokes)) results in:

$$\frac{\partial \bar{v}}{\partial t} + \nabla\cdot\left( \rho \bar{v} \otimes \bar{v} + \bar{\bar{I}}\tilde{p} - \bar{\bar \tau} \right) - \frac{\Delta p_0}{\left\lVert\bar{t}\right\rVert_2^2}\bar{t} = 0,$$

where two things changed:
1. Working variable of the pressure $$p$$ changed to the periodic pressure $$\tilde{p}$$.
2. A constant source term is added to the formulation of the momentum equation.

The source term is now the force that drives the flow and scales with the prescribed pressure drop $$\Delta p_0$$.

This substitution of the pressure variable has to be done in every place it appears. For pressure there is nothing further to do e.g. for the boundary conditions, which will be different for the derivation of periodic temperature.

### Massflow prescription

In applications often the massflux $$\dot{m}_0^2$$ is known and the pressure drop is the observable. If a massflow is prescribed the pressure drop $$\Delta p_0$$ in the source term is adapted with each iteration to match the current massflow $$\dot{m}^2$$ with the prescribed massflow:


$$\Delta p_0^{n+1} - \Delta p_0^{n} = \Delta \left( \Delta p_0 \right) = \frac{\frac{1}{2} \rho \left( \dot{m}_0^2 - \dot{m}^2 \right)}{\left( \rho A \right)^2}.$$

$$\rho$$ is the density and $$A$$ the flowed through inlet Area. For the pressure drop update a relaxation factor $$\phi$$ is used:

$$\Delta p_0^{n+1} = \Delta p_0^{n} + \phi \Delta \left( \Delta p_0 \right).$$

## Temperature Periodicity

The here presented approach for periodicity in temperature is only possible if only heatflux or symmetry boundary conditions are used, isothermal walls in particular are not allowed. In that case use the [method described below](#fake-temperature-periodicity-via-outlet-heat-sink) is used:

Similar to the pressure term for the momentum equation the Temperature can be split in a periodic and a linear part:

$$T\left( \bar{x} \right) = \tilde T \left( \bar{x} \right) + \frac{\Delta T_0}{\left\lVert\bar{t}\right\rVert_2}t_p, \quad t_p =\frac{1}{\left\lVert\bar{t}\right\rVert_2} \left| \left( \bar{x} - \bar{x}^\star \right) \cdot \bar{t} \right|$$

Just as with the pressure term, this relation is used to compute the recovered temperature for postprocessing.
Inserting the temperature formulation into the energy equation results in:

$$\frac{\partial \left( \rho c_p \tilde{T} \right)}{\partial t} + \nabla\cdot\left( \rho c_p \tilde{T} \bar{v} - \kappa\nabla \tilde{T} \right) + \frac{Q \rho }{ \dot{m}\left\lVert\bar{t}\right\rVert_2^2} \left[ \bar{t} \cdot \bar{v} \right] = 0$$

With $$Q$$ being the integrated heatflux across the domain boundaries in Watts. In contrast to the derivation for pressure periodicity in the momentum equations the boundary conditions have to adapted for the energy equation. The heatflux (Neumann) wall contribution for the energy equation becomes:

$$- \int_{\partial\Omega} \left( \kappa\nabla T \right) \cdot \bar{n} dS + \int_{\partial\Omega} \kappa\frac{Q}{\dot{m} c_p \left\lVert\bar{t}\right\rVert_2^2} \left[ \bar{t} \cdot \bar{n} \right] dS = 0 $$

### Temperature periodicity via outlet heat sink

In cases where the above requirements cannot be held (e.g. isothermal walls, CHT interfaces) a simple massflow averaged outlet heat sink is implemented. In these cases pressure is still periodic but temperature is solved in its non-periodic form. Energy is extracted from the domain just at the outlet such that the temperature profile via the periodic interface is approximately retained. This of course is a major simplification that enables the use of an approximated temperature profile over the periodic interface. Solution interpretation, especially if it involves surface temperature integrals near the periodic faces, should be done with the necessary care.

The residual contributions are in twofold. Firstly an either user provided or computed heat is extracted at the outlet with massflow averaged weighting which proved to be better than area averaged weighting:

$$Res -= \frac{\dot m_{local}}{\dot m_{global}} Q_{integrated}$$

The second term is adaptive and scales with the difference between the initial temperature `INC_TEMPERATURE_INIT` and the actual area averaged temperature on the inlet:

$$Res += \frac{1}{2} |\dot m| c_p \left( T_{inlet} - \frac{T_{init}}{T_{ref}} \right)$$

This allows to set the general temperature level in the domain and thereby also allows for the use of temperature material parameters, or isothermal walls and CHT interfaces.

## References

$$^1$$ S.V. Patankar, C.H. Liu, and E.M. Sparrow. Fully developed flow and heat transfer in ducts having streamwise-periodic variations of cross-sectional area. *Journal of Heat Transfer*, 99(2):180–186, 1977. doi: [https://doi.org/10.1115/1.3450666](https://doi.org/10.1115/1.3450666)

$$^2$$ Steven B. Beale. On the implementation of stream-wise periodic boundary conditions. In *ASME 2005 Summer Heat Transfer Conference collocated with the ASME 2005 Pacific Rim Technical Conference and Exhibition on Integration and Packaging of MEMS, NEMS, and ElectronicSystems*, pages 771–777. American Society of Mechanical Engineers, 2005. doi: [https://doi.org/10.1115/HT2005-72271](https://doi.org/10.1115/HT2005-72271)
Loading