diff --git a/.gitignore b/.gitignore index 8b479a8b..b8098178 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ # bundler snapshot of all gems and versions that it installed # https://bundler.io/rationale.html Gemfile.lock + +.jekyll-metadata diff --git a/_data/docs_v7.yml b/_data/docs_v7.yml index 840fd876..bcf13fe6 100644 --- a/_data/docs_v7.yml +++ b/_data/docs_v7.yml @@ -29,6 +29,7 @@ - title: Theory docs_v7: - Theory + - Streamwise-Periodicity - title: Users Guide docs_v7: diff --git a/_data/tutorials.yml b/_data/tutorials.yml index d3da1adb..254fc2cc 100644 --- a/_data/tutorials.yml +++ b/_data/tutorials.yml @@ -25,7 +25,8 @@ - Inc_Turbulent_NACA0012 - Inc_Laminar_Step - Inc_Laminar_Cavity - + - Inc_Streamwise_Periodic + - title: Structural Mechanics tutorials: - Linear_Elasticity diff --git a/_docs_v7/Streamwise-Periodicity.md b/_docs_v7/Streamwise-Periodicity.md new file mode 100644 index 00000000..e239e87b --- /dev/null +++ b/_docs_v7/Streamwise-Periodicity.md @@ -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) \ No newline at end of file diff --git a/_tutorials/incompressible_flow/Inc_Streamwise_Periodic/Inc_Streamwise_Periodic.md b/_tutorials/incompressible_flow/Inc_Streamwise_Periodic/Inc_Streamwise_Periodic.md new file mode 100644 index 00000000..209f97e0 --- /dev/null +++ b/_tutorials/incompressible_flow/Inc_Streamwise_Periodic/Inc_Streamwise_Periodic.md @@ -0,0 +1,207 @@ +--- +title: Streamwise Periodic Flow +permalink: /tutorials/Inc_Streamwise_Periodic/ +written_by: TobiKattmann +for_version: 7.1.0 +revised_by: +revision_date: +revised_version: +solver: INC_RANS +requires: SU2_CFD +complexity: intermediate +follows: Inc_Laminar_Flat_Plate +--- + + +## Goals + +Upon completing this tutorial, the user will be familiar with performing streamwise periodic simulations using the incompressible solver. All available features and limitations of streamwise periodic flow will be discussed. Consequently, the following capabilities of SU2 will be showcased in this tutorial: +- How to activate streamwise periodic flow without energy equation +- Switch between pressure drop and massflow prescription +- Adding the energy equation as true streamwise periodic flow and limitations +- Alternative to streamwise periodic temperature + +## Resources + +The resources can be found in the [incompressible_flow/Inc_Streamwise_Periodic](https://github.com/su2code/Tutorials/tree/master/incompressible_flow/Inc_Streamwise_Periodic) directory in the [tutorial repository](https://github.com/su2code/Tutorials). It contains the mesh file and two configuration files which will be discussed in this tutorial. Additionally, the script to create the used mesh with [gmsh](https://gmsh.info/) can be found that folder as well. + +A more detailed theory description is available in the Docs [here](/docs_v7/Streamwise-Periodicity). + +## Tutorial + +The following tutorial will walk you through the steps required when solving for a streamwise periodic flow using the incompressible solver. 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_v7/Download/) and [Installation](/docs_v7/Installation/) pages. +Users unfamiliar with using the incompressible solver can take a look at the other incompressible testcases, especially the [Laminar Flat Plate with Heat Transfer](/tutorials/Inc_Laminar_Flat_Plate/). + +### Background + +Flows through periodically repeating geometries can be approximated by just simulating a unit cell with streamwise periodicity. This model assumption of fully developed flow can be a justified approximation but has to be checked whether it is suitable. A 2D slice through a pin-fin heat-exchanger unit-cell is presented in this tutorial. + +### Problem Setup + +This problem will solve for the incompressible RANS flow the following conditions: +- Density (constant) = 1045.0 kg/m^3 +- Viscosity (constant) = 0.001385 kg/(m-s) +- Specific Heat Capacity (constant)= 3540.0 J/(kg-K) +- laminar Prandtl number (constant) = 11.7 + +As streamwise periodic flow is simulated, periodic boundaries are used instead of in-/outlets boundaries. The pin surfaces are heatlfux markers and are heated with 5e5 W/m^2. The remaining boundaries are symmetry markers. + +![Structured quad mesh](../../tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/mesh_bc.png) + +*Figure (1)*: Figure of the computational mesh with the used boundary conditions. + +### Mesh Description + +The computational mesh for the fluid has 8477 quad elements and is therefore fully structured. In- and outlet are meshed with 50 points and a progression such that y+<1 everywhere as the SST turbulence model is used. Each quarter-pin is meshed with 45 points in streamwise direction. A [gmsh script](https://github.com/su2code/Tutorials/tree/master/incompressible_flow/Inc_Streamwise_Periodic/chtPinArray_2d.geo) is available to recreate/modify the mesh. + +### Configuration File Options + +The available options for streamwise periodic flow are explained in this section. + +Note that streamwise periodic flow is only available for the incompressible solver. + +Using streamwise periodic flow requires having a periodic marker pair which can be set using `MARKER_PERIODIC= (, , ...)`. The designated inlet has to be set first as a convention. The vector between periodic points on the in- and outlet has to be given as well in the case for translational periodicity as is discussed here. From the `config_template.cfg`: +``` +% Periodic boundary marker(s) (NONE = no marker) +% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, +% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, +% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) +MARKER_PERIODIC= ( NONE ) +``` +For the rotation center and angle a zero has to provided such that in this case the marker definition looks like: +``` +MARKER_PERIODIC= ( fluid_inlet, fluid_outlet, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0111544,0.0,0.0 ) +``` +At the moment, only one periodic marker pair is allowed, i.e. the combination with spanwise periodic flow is not possible. + +`KIND_STREAMWISE_PERIODIC` activates streamwise periodic flow with the choice between a prescribed `PRESSURE_DROP` or `MASSFLOW`. With `PRESSURE_DROP` the prescribed value is set using `STREAMWISE_PERIODIC_PRESSURE_DROP` which also serves as a starting value if `MASSFLOW` is chosen. + +Use `STREAMWISE_PERIODIC_MASSFLOW` for the respective massflow. With a precribed massflow the necessary pressure drop is determined iteratively, i.e. based on the difference between actual and target massflow an update to the pressure drop is estimated. This update can be relaxed using `INC_OUTLET_DAMPING`. Starting with a conservative guess to `STREAMWISE_PERIODIC_PRESSURE_DROP` and `INC_VELOCITY_INIT` will most likely a wise move. + +If the energy equation is active then one can use `STREAMWISE_PERIODIC_TEMPERATURE= YES` if only heatflux and symmetry boundaries are used additional to the periodic markers. If that is not possible (i.e. if isothermal walls are used or a CHT interface is present), a heatsink at the outlet will automatically extract energy from the domain and will force the area-averaged inlet temperature to be identical to `INC_TEMPERATURE_INIT`. In order to support this process the user can provide an amount via `STREAMWISE_PERIODIC_OUTLET_HEAT` in Watts. If the value `0.0` (or none for that matter) is given, the integrated heat via `MARKER_HEATFLUX` is used. + +Below the relevant excerpt from the `config_template.cfg` is shown. +``` +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +% Generally for streamwise periodicity one has to set MARKER_PERIODIC= (, , ...) +% appropriately as a boundary condition. +% +% Specify type of streamwise periodicity (default=NONE, PRESSURE_DROP, MASSFLOW) +KIND_STREAMWISE_PERIODIC= NONE +% +% Delta P [Pa] value that drives the flow as a source term in the momentum equations. +% Defaults to 1.0. +STREAMWISE_PERIODIC_PRESSURE_DROP= 1.0 +% +% Target massflow [kg/s]. Necessary pressure drop is determined iteratively. +% Initial value is given via STREAMWISE_PERIODIC_PRESSURE_DROP. Default value 1.0. +% Use INC_OUTLET_DAMPING as a relaxation factor. Default value 0.1 is a good start. +STREAMWISE_PERIODIC_MASSFLOW= 0.0 +% +% Use streamwise periodic temperature (default=NO, YES) +% If NO, the heatflux is taken out at the outlet. +% This option is only necessary if INC_ENERGY_EQUATION=YES +STREAMWISE_PERIODIC_TEMPERATURE= NO +% +% Prescribe integrated heat [W] extracted at the periodic "outlet". +% Only active if STREAMWISE_PERIODIC_TEMPERATURE= NO. +% If set to zero, the heat is integrated automatically over all present MARKER_HEATFLUX. +% Upon convergence, the area averaged inlet temperature will be INC_TEMPERATURE_INIT. +% Defaults to 0.0. +STREAMWISE_PERIODIC_OUTLET_HEAT= 0.0 +% +``` + +Additional `SCREEN_OUTPUT` for streamwise periodic flow is `STREAMWISE_MASSFLOW`, `STREAMWISE_DP` (i.e. Delta P or pressure drop) and `STREAMWISE_HEAT` which shows the heatflux integrated over HEATFLUX_MARKERS. By adding `STREAMWISE_PERIODIC` to `HISTORY_OUTPUT` those values are written the history file. + +In this tutorial, 2 configuration files are provided which differ in the streamwise periodic options. + +[First](https://github.com/su2code/Tutorials/tree/master/incompressible_flow/Inc_Streamwise_Periodic/sp_pinArray_dp_hf_tp.cfg), one of the simplest setups with a user provided pressure drop over the domain is chosen. Temperature periodicity is activated. +``` +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= PRESSURE_DROP +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +% +STREAMWISE_PERIODIC_TEMPERATURE= YES +% +``` +For the [second configuration](https://github.com/su2code/Tutorials/tree/master/incompressible_flow/Inc_Streamwise_Periodic/sp_pinArray_mf_hf.cfg) a massflow is prescribed. The initial pressure drop matches the final value but changes within the first iterations until the flow converges. Streamwise periodic temperature is deactivated so the outlet heatsink is used. In this case the 3 heatflux markers form a full circle which makes an exact computation of the introduced heatflux possible which can be then specified using the `STREAMWISE_PERIODIC_OUTLET_HEAT`. Note that an exact computation of this value is not always possible and also not necessary as the area-averaged inlet temperature must match `INC_TEMPERATURE_INIT` upon convergence which serves as an anchor for the temperature. +``` +% --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% +% +KIND_STREAMWISE_PERIODIC= MASSFLOW +STREAMWISE_PERIODIC_MASSFLOW= 0.85 +STREAMWISE_PERIODIC_PRESSURE_DROP= 208.023676 +INC_OUTLET_DAMPING= 0.01 +% +STREAMWISE_PERIODIC_TEMPERATURE= NO +% Computation of outlet heat: Heatflux * Area = Heatflux * pi * radius (as we have an accumulated full circle) +% 5e5[W/m] * pi * 2e-3[m] +STREAMWISE_PERIODIC_OUTLET_HEAT= -3141.5926 +% +``` + +### Running SU2 + +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 sp_pinArray_2d_dp_hf_tp.cfg + ``` + at the command line for the first configuration. The filename makes use of some abbreviations: sp=streamwise periodic, 2d=2 dimensions, dp= delta p (prescribed), hf= heatflux (markers only), tp=temperature periodicity. The second configuration is run with + + ``` + $ SU2_CFD sp_pinArray_2d_mf_hf.cfg + ``` + + If SU2 is compiled with MPI support then you can execute SU2 in parallel + + ``` + $ mpirun -n <#cores> SU2_CFD sp_pinArray_2d_mf_hf.cfg + ``` + + where more than 8 cores do not provide major speedups due to the small mesh size. + 3. SU2 will print residual updates with each outer iteration of the flow solver, and the simulation will terminate after reaching the specified convergence criteria. + 4. Files containing the results will be written upon exiting SU2. The provided configuration files will write Paraview Multiblock files (.vtm) by default. The flow solution can be visualized in ParaView (.vtk) or Tecplot (.dat for ASCII) by setting the respective `OUTPUT_FILES` fields. + +### Results + +The results for both simulations are discussed in this section. The difference is only visible for Temperature as both configurations end up having the same pressure drop and massflow by construction. + +The visualizations are done using [Paraview](https://www.paraview.org/). To better visualize the differences, the `Reflect` (along symmetry axes) and `Transform` (at periodic interface) filters were used. + +The velocity contour lines are shown in Figure (2). The turquoise line delimits the simulation domain. Demonstrating the computation of a fully developed flow on just a representative unit cell. + +![Structured quad mesh](../../tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/velocity_magnitude.png) + +*Figure (2)*: Velocity magnitude contour lines. The turquoise line delimits the simulation domain. + +In Figure (3) the pressure is visualized. On the top the periodic pressure which is used as solution variable does not exhibit a pressure drop over the domain and can be interpreted to show only local phenomena. On the bottom the recovered ("physical") pressure subtracts a linear term over the domain and therefore recovers the expected pressure drop. Note that negative pressures are possible in the incompressible solver as only pressure differences are used and the absolute pressure value is irrelevant. + +![Structured quad mesh](../../tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/pressure_comparison_to_recovered.png) + +*Figure (3)*: Pressure contour lines. Top: Periodic pressure that is used as solution variable. Bottom: Recovered pressure computed as postprocessing variable. + +Similar to pressure is the handling of the streamwise periodic temperature. The visualization in Figure (4) is from the first discussed configuration. On the top the temperature filed is truly periodic and on the bottom the recoverd temperature allows a real world interpretation. + +![Structured quad mesh](../../tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_comparison_to_recovered.png) + +*Figure (4)*: Temperature contour lines. Top: Periodic temperature that is used as solution variable. Bottom: Recovered temperature computed as postprocessing variable. + +The temperature of the second configuration with the outlet heat sink is shown in Figure (5). Of course in this case only one temperature to be analyzed. Note that the temperature on the periodic in- and outlet are identical. The outlet heat sink is necessary to prevent an infinite rise in temperature in the case of only heatflux boundaries. + +![Structured quad mesh](../../tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_outlet_heatsink.png) + +*Figure (5)*: Temperature contour lines for simulation with an outlet heatsink. + +### Additional remarks + +The **extension to CHT** cases is straight forward as the options in the fluid zone remain the same. `STREAMWISE_PERIODIC_TEMPERATURE= NO` has to be set as that feature is not compatible with the conjugate heat interfaces. A `STREAMWISE_PERIODIC_OUTLET_HEAT` can be provided by just integrating all heatflux markers of the combined fluid and heat zones. This of course does not handle possible isothermal walls but the excess energy is automatically balanced. A [2D CHT testcase](https://github.com/su2code/TestCases/tree/master/incomp_navierstokes/streamwise_periodic/chtPinArray_2d) based on the geometry presented here and a [3D CHT testcase](https://github.com/su2code/TestCases/tree/master/incomp_navierstokes/streamwise_periodic/chtPinArray_3d) are available in the testcases of SU2 under `TestCases/incomp_navierstokes/streamwise_periodic/`. + +**Temperature depended material properties** are only reasonable to be used with `STREAMWISE_PERIODIC_TEMPERATURE= NO` as the solution variable Temperature would be truly periodic and therefore non-physical. The recovered Temperature would need to be used instead which is not available in the code at the moment. + +The **discrete adjoint** does not work with `KIND_STREAMWISE_PERIODIC= MASSFLOW` in the moment. All other features are working with the discrete adjoint solver. \ No newline at end of file diff --git a/_tutorials/index.md b/_tutorials/index.md index 502e1761..eeeff8d6 100644 --- a/_tutorials/index.md +++ b/_tutorials/index.md @@ -63,6 +63,8 @@ Simulation of external, viscous, incompressible flow around the NACA 0012 using Simulation of internal, laminar, incompressible flow over a backward-facing step with an inlet velocity profile input from file. * [Laminar Buoyancy-driven Cavity](/tutorials/Inc_Laminar_Cavity/) Simulation of internal, laminar, incompressible flow in a differentially-heated cavity under the influence of gravity (classical natural convection case). +* [Streamwise Periodicity](/tutorials/Inc_Streamwise_Periodic/) +Simulation of internal, turbulent, incompressible flow in a unit cell of a 2D pin-fin heat exchanger. #### Structural Mechanics * [Linear Elasticity](/tutorials/Linear_Elasticity/) diff --git a/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/mesh_bc.png b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/mesh_bc.png new file mode 100644 index 00000000..922bf06e Binary files /dev/null and b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/mesh_bc.png differ diff --git a/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/pressure_comparison_to_recovered.png b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/pressure_comparison_to_recovered.png new file mode 100644 index 00000000..5f662bf4 Binary files /dev/null and b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/pressure_comparison_to_recovered.png differ diff --git a/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_comparison_to_recovered.png b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_comparison_to_recovered.png new file mode 100644 index 00000000..f3d0d0a5 Binary files /dev/null and b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_comparison_to_recovered.png differ diff --git a/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_outlet_heatsink.png b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_outlet_heatsink.png new file mode 100644 index 00000000..cf4fcf5c Binary files /dev/null and b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/temperature_outlet_heatsink.png differ diff --git a/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/velocity_magnitude.png b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/velocity_magnitude.png new file mode 100644 index 00000000..d72002dd Binary files /dev/null and b/tutorials_files/incompressible_flow/Inc_Streamwise_Periodic/images/velocity_magnitude.png differ