|
|
This tutorial analyses the flow through a backward_facing_step discretized with a 3D tetrahedral unstructured mesh.
|
|
|
|
|
|
* [Steady state & turbulent flows](case_backward_facing_step.html#Steady_state_flow_3) : description of the problem
|
|
|
* [Domain Boundaries](case_backward_facing_step.html#Domain_boundaries_3) : boundaries of the computational domain
|
|
|
* [Case convergence](case_backward_facing_step.html#Convergence_3) : numerical convergence of the model
|
|
|
* [Moffat eddies](case_backward_facing_step.html#Moffat_eddies) : Moffat eddies subscales
|
|
|
* [Recirculating zone](case_backward_facing_step.html#Recirculating_zone) : pressure drop vs. Reynolds number
|
|
|
* [Input files](case_backward_facing_step.html#Input_files_3) : detailed description of case input files
|
|
|
* [backward_facing_step.dat (case global parameters)](case_backward_facing_step.html#backward_facing_step_dat)
|
|
|
* [backward_facing_step.dom.dat (domain input data)](case_backward_facing_step.html#backward_facing_step_dom_dat)
|
|
|
* [backward_facing_step.geo.dat (mesh geometry definition)](case_backward_facing_step.html#backward_facing_step_geo_dat)
|
|
|
* [backward_facing_step.set.dat (groups for post-processing, optional)](case_backward_facing_step.html#backward_facing_step_set_dat)
|
|
|
* [backward_facing_step.fix.dat (boundary conditions data9](case_backward_facing_step.html#backward_facing_step_fix_dat)
|
|
|
* [backward_facing_step.ker.dat](case_backward_facing_step.html#backward_facing_step_ker_dat)
|
|
|
* [backward_facing_step.nsi.dat (incompressible Navier-Stokes solver parameters)](case_backward_facing_step.html#backward_facing_step_nsi_dat)
|
|
|
* [backward_facing_step.post.alya.dat](case_backward_facing_step.html#backward_facing_step_post_alya_dat)
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Steady_state_flow_3"></a>Steady state & turbulent flows
|
|
|
|
|
|
This tutorial analyses the flow through a rectangular section duct with a backward facing step, discretized with a 2D quadrilateral structured mesh. Simulation settings are specified to converge steady state flows. Diverse runs have been performed for diferent Reynolds numbers up to 800\. Flow is expected to be steady for this Re values, allthough the transition to turbulent flow starts roughly at Re=400 [(see animation from a transient simulation of turbulent flow)](http://www.youtube.com/watch?feature=player_embedded&v=zlZId0YMjJs) .
|
|
|
|
|
|
![image](uploads/961c2f78806534fa4b9a125b842d85b0/image.png)
|
|
|
|
|
|
<center>backward facing step - turbulent flow</center>
|
|
|
|
|
|
The above figure belongs to the simulation with Re=650, where two recirculation zones appear. Left plot is inlet velocity profile. Center plot shows the velocity profile in a vertical plane roughly at primary eddy center. Right plot graphs the pressure at the bottom wall, exhibiting a maximum at the point of reatachement (X=10,6 in this case).
|
|
|
The plots under the figure are, from left to right: inlet section velocity, recirculation eddy center section velocity, and wall pressure along recirculatiion lenght.
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Domain_boundaries_3"></a>Domain Boundaries
|
|
|
|
|
|
Boundary numbers are as follow, outlet on the short straight. Inlet velocity is specifyed with a paraboloid surface function.
|
|
|
|
|
|
![image](uploads/ae6c1a8df7a1e179d2e531466170fe7e/image.png)
|
|
|
|
|
|
<center>backward facing step - domain boundaries</center>
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Convergence_3"></a>Case convergence
|
|
|
|
|
|
The graphs in the figure show the numerical convergence (alya-all-nsi app plot) of this run which takes about 3500 time-step iterations to converge.
|
|
|
|
|
|
![image](uploads/3de194d6aa175c983d613059f5d78b05/image.png)
|
|
|
|
|
|
<center>backward facing step - numerical convergence</center>
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Moffat_eddies"></a>Moffat eddies
|
|
|
|
|
|
By looking in detail the lower corner of the backward step, the phenomena of Moffatt eddies can be observed, as it is shown in the following figure.
|
|
|
|
|
|
![image](uploads/f730c6fe0c8670ff452b5b3be586c389/image.png)
|
|
|
|
|
|
<center>elbow case – velocity distribution (Re = 100)</center>
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Recirculating_zone"></a>Recirculating zone
|
|
|
|
|
|
The following figures show the streamlines patterns found for the diferent values of Re: from left to right and from top to bottom, 1, 10, 100, 250, 400, 600 and 800, respectively.
|
|
|
|
|
|
![image](uploads/eabb75caea48bdf26fd8ad3941beaebb/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 1)</center>
|
|
|
|
|
|
![image](uploads/05190e37e88fa2cb4b7ae9b10df0dc2a/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 10)</center>
|
|
|
|
|
|
![image](uploads/eae06eefb344d6525e9a8fd10555df66/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 100)</center>
|
|
|
|
|
|
![image](uploads/87c413f08e7edc3daf5b8be3f33fd7de/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 250)</center>
|
|
|
|
|
|
![image](uploads/e1f046c2b165916d2673112076c1736b/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 400)</center>
|
|
|
|
|
|
![image](uploads/9fe100d2ebb966ac5fd93784effecaa0/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 600)</center>
|
|
|
|
|
|
![image](uploads/6dc3ea02136bc2c335c44fa29023e942/image.png)
|
|
|
|
|
|
<center>elbow case – recirculation zone (Re = 800)</center>
|
|
|
|
|
|
The graphs on nexts figures represent the dependency of recirculation length and pressurre drop on the Reynolds number.
|
|
|
|
|
|
![image](uploads/edb9ab28a0dce50f78b9558048d0de55/image.png)
|
|
|
|
|
|
<center>backward facing step - recirculation length vs Re</center>
|
|
|
|
|
|
![image](uploads/bcc567f8269d763d6e4f5ceae8d67953/image.png)
|
|
|
|
|
|
<center>backward facing step - pressure drop vs Re</center>
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Bibliography"></a>Bibliography
|
|
|
|
|
|
* (1) Backward-Facing Step Flows for Various Expansion Ratios at Low and Moderate Reynolds Numbers G. Biswas, M. Breuer, F. Durst (Universität Erlangen-Nürnberg) Transactions of the ASME, Vol. 126 / May 2004
|
|
|
* (2) Fluid Dynamics with a Computational Perspective Paul A. Durbin, Gorazd Medic Cambridge University Press / 2007
|
|
|
|
|
|
* * *
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="Input_files_3"></a>Input files
|
|
|
|
|
|
* * *
|
|
|
|
|
|
# <a class="anchor" id="backward_facing_step_dat"></a>backward_facing_step.dat (case global parameters)
|
|
|
```
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
RUN_DATA
|
|
|
|
|
|
ALYA: backward_facing_step $ case name
|
|
|
|
|
|
|
|
|
END_RUN_DATA
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
PROBLEM_DATA
|
|
|
|
|
|
TIME_COUPLING: Global, Prescribed $ global time step is prescribed
|
|
|
TIME_INTERVAL= 0.0, 1.0e6 $ integration time domain (infinite)
|
|
|
NUMBER_OF_STEPS= 1e5 $ infinite time steps
|
|
|
NASTIN_MODULE: On $ nastin module (Incompressible Navier-Stokes) is used
|
|
|
END_NASTIN_MODULE
|
|
|
PARALL_SERVICE: On
|
|
|
END_PARALL_SERVICE
|
|
|
|
|
|
|
|
|
END_PROBLEM_DATA
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
```
|
|
|
# <a class="anchor" id="backward_facing_step_dom_dat"></a>backward_facing_step.dom.dat (domain input data)
|
|
|
```
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
DIMENSIONS
|
|
|
|
|
|
NODAL_POINTS= 3741 $ number of nodes
|
|
|
ELEMENTS= 3600 $ number of elements
|
|
|
SPACE_DIMENSIONS= 2 $ 3D mesh
|
|
|
TYPES_OF_ELEMENTS= 12 $ 2D quadrilateral elements
|
|
|
BOUNDARIES= 280 $ number of boundary edges
|
|
|
|
|
|
|
|
|
END_DIMENSIONS
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
STRATEGY
|
|
|
|
|
|
INTEGRATION_RULE: Open $ open rule is the default
|
|
|
DOMAIN_INTEGRATION_POINTS: 0 $ 0 = automatic, depending on each element type
|
|
|
|
|
|
|
|
|
END_STRATEGY
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
GEOMETRY $ mesh definition
|
|
|
|
|
|
GROUPS= 20 $ number of groups (for deflation based solvers)
|
|
|
INCLUDE backward_facing_step.geo.dat $ include geometry file (nodes, elements & boundaries)
|
|
|
|
|
|
|
|
|
END_GEOMETRY
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
SETS
|
|
|
|
|
|
INCLUDE backward_facing_step.set.dat $ include set file (groups for post-processing)
|
|
|
|
|
|
|
|
|
END_SETS
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
BOUNDARY_CONDITIONS, EXTRAPOLATE $ edge BC’s extrapolate to nodes
|
|
|
|
|
|
INCLUDE backward_facing_step.fix.dat $ include boundary conditions file
|
|
|
|
|
|
|
|
|
END_BOUNDARY_CONDITIONS
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
```
|
|
|
# <a class="anchor" id="backward_facing_step_geo_dat"></a>backward_facing_step.geo.dat (mesh geometry definition)
|
|
|
```
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
NODES_PER_ELEMENT $ nodes per element list
|
|
|
|
|
|
1 4 $ element number, # nodes
|
|
|
2 4
|
|
|
3 4
|
|
|
:
|
|
|
:
|
|
|
3599 4
|
|
|
3600 4
|
|
|
|
|
|
|
|
|
END_NODES_PER_ELEMENT
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
ELEMENTS $ element connectivity list
|
|
|
|
|
|
1 82 79 20 41 $ element number, node number 1, node number 2, ...
|
|
|
2 123 120 79 82
|
|
|
3 164 161 120 123
|
|
|
:
|
|
|
:
|
|
|
3599 1762 1875 1988 1879
|
|
|
3600 1679 1761 1875 1762
|
|
|
|
|
|
|
|
|
END_ELEMENTS
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
COORDINATES
|
|
|
|
|
|
1 3.000000e+01 1.971719e+00 $ node number, coord X, coord Y
|
|
|
2 3.000000e+01 1.938348e+00
|
|
|
3 3.000000e+01 1.899638e+00
|
|
|
:
|
|
|
:
|
|
|
3740 0.000000e+00 2.828066e-02
|
|
|
3741 0.000000e+00 0.000000e+00
|
|
|
|
|
|
|
|
|
END_COORDINATES
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
BOUNDARIES, ELEMENT
|
|
|
|
|
|
1 1761 1875 3600 $ boundary element #, node #s, element # boundary belongs to
|
|
|
2 1875 1988 3599
|
|
|
3 1988 2097 3598
|
|
|
:
|
|
|
:
|
|
|
:
|
|
|
279 901 942 1999
|
|
|
280 860 901 2000
|
|
|
|
|
|
|
|
|
END_BOUNDARIES MATERIALS, NUMBER=0, DEFAULT=1 $ all elements have material 1 END_MATERIALS CHARACTERISTICS END_CHARACTERISTICS
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
# <a class="anchor" id="backward_facing_step_set_dat"></a>backward_facing_step.set.dat (groups for post-processing, optional)
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
ELEMENTS $ element sets definition
|
|
|
|
|
|
1 1 $ element number, set number
|
|
|
2 1
|
|
|
3 1
|
|
|
:
|
|
|
:
|
|
|
:
|
|
|
3599 5
|
|
|
3600 5
|
|
|
|
|
|
|
|
|
END_ELEMENTS
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
BOUNDARIES
|
|
|
|
|
|
1 1 $ boundary element number, boundary set number
|
|
|
2 1
|
|
|
3 1
|
|
|
:
|
|
|
:
|
|
|
:
|
|
|
279 15
|
|
|
280 15
|
|
|
|
|
|
|
|
|
END_BOUNDARIES
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
NODES (node sets definition)
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
END_NODES
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
# <a class="anchor" id="backward_facing_step_fix_dat"></a>backward_facing_step.fix.dat (boundary conditions data9
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
|
|
|
ON_BOUNDARIES
|
|
|
|
|
|
1 3 $ boundary element number, boundary set number
|
|
|
2 3
|
|
|
3 3
|
|
|
:
|
|
|
:
|
|
|
:
|
|
|
279 3
|
|
|
280 3
|
|
|
|
|
|
|
|
|
END_ON_BOUNDARIES
|
|
|
|
|
|
$----------------------------------------------------------—
|
|
|
```
|
|
|
# <a class="anchor" id="backward_facing_step_ker_dat"></a>backward_facing_step.ker.dat
|
|
|
```
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
PHYSICAL_PROBLEM
|
|
|
|
|
|
MATERIAL=1
|
|
|
PROPERTIES $ fluid physical properties (water)
|
|
|
DENSITY: CONSTANT, PARAMETERS = 1.0 $ mass density
|
|
|
VISCOSITY: CONSTANT, PARAMETERS = 1.0e-2 $ dynamic viscosity (μ)
|
|
|
END_PROPERTIES
|
|
|
END_MATERIAL
|
|
|
|
|
|
|
|
|
END_PHYSICAL_PROBLEM
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
NUMERICAL_TREATMENT
|
|
|
|
|
|
MESH
|
|
|
DIVISION=1 $ 1 automatic mesh subdivisions
|
|
|
END_MESH
|
|
|
ELSEST $ element search strategy
|
|
|
STRATEGY: BIN $ BIN divide mesh into boxes to find elements that host
|
|
|
witness points (suited for structured meshes)
|
|
|
NUMBER: 100,33
|
|
|
DATAF: LINKED_LIST
|
|
|
END_ELSEST
|
|
|
SPACE_&_TIME_FUNCTIONS
|
|
|
FUNCTION=INFLOW
|
|
|
-6*y**2+18*y-12 $ paraboloid surface function (Uxmax=1.5)
|
|
|
END_FUNCTION
|
|
|
END_SPACE_&_TIME_FUNCTIONS
|
|
|
|
|
|
|
|
|
END_NUMERICAL_TREATMENT
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
OUTPUT_&_POST_PROCESS
|
|
|
|
|
|
ON_LAST_MESH
|
|
|
STEPS=20 $ post-process every ‘STEPS’ time steps
|
|
|
|
|
|
|
|
|
END_OUTPUT_&_POST_PROCESS
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
# <a class="anchor" id="backward_facing_step_nsi_dat"></a>backward_facing_step.nsi.dat (incompressible Navier-Stokes solver parameters)
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
PHYSICAL_PROBLEM
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
PROBLEM_DEFINITION
|
|
|
|
|
|
TEMPORAL_DERIVATIVES: On $ transient problem
|
|
|
CONVECTIVE_TERM: On $ off for Stokes flow (negligible for high viscosity fluids)
|
|
|
VISCOUS_TERM: LAPLACIAN $ suitable for constant viscosity fluid assumption
|
|
|
|
|
|
|
|
|
END_PROBLEM_DEFINITION
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
END_PHYSICAL_PROBLEM
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
NUMERICAL_TREATMENT
|
|
|
|
|
|
ELEMENT_LENGTH: Minimum $ element length for Alya to calculate critical time step
|
|
|
STABILIZATION: ASGS $ numerical stabilization method
|
|
|
TRACKING: TIME
|
|
|
TIME_INTEGRATION: Trapezoidal, ORDER: 1, EULER=20 $ time integration scheme
|
|
|
SAFETY_FACTOR: 100.0 $ multiply global time step: Alya calculates critical time step as required by explicit solvers, which is suited for transient analysis but makes stationary solutions converge very slowly
|
|
|
STEADY_STATE_TOLER: 1.0e-10 $ convergence tolerance for steady state
|
|
|
MAXIMUM_NUMBER_OF_IT: 1 $ max number of inner NS iterations
|
|
|
CONVERGENCE_TOLERANCE: 1.0e-3 $ convergence tolerance for inner NS loop
|
|
|
ALGORITHM: SCHUR $ NS solution algorithm (uncouples p & V)
|
|
|
SOLVER: ORTHOMIN, CONTINUITY_PRESERVING
|
|
|
PRECONDITION: DT
|
|
|
END_ALGORITHM
|
|
|
MOMENTUM $ velocity solver
|
|
|
ALGEBRAIC_SOLVER
|
|
|
SOLVER: GMRES, KRYLOV=10 $ solver suited for asymmetric matrix
|
|
|
CONVERGENCE: ITERA=1000, TOLER=1.0e-12, ADAPTIVE, RATIO=0.01 $ max iter #, convergence criteria
|
|
|
ADAPTIVE, RATIO=0.01 means that the loop will end also if the difference of the norm of convergence value changes less than 1% in two consecutive iterations
|
|
|
OUTPUT: CONVERGENCE $ solver convergence file (.cso) is generated
|
|
|
PRECONDITIONER: DIAGONAL $ matrix preconditioner type
|
|
|
END_ALGEBRAIC_SOLVER
|
|
|
END_MOMENTUM
|
|
|
CONTINUITY $ pressure solver
|
|
|
ALGEBRAIC_SOLVER
|
|
|
SOLVER: DEFLATED_CG, COARSE: SPARSE $ CG solvers are suited for symmetric matrix
|
|
|
CONVERGENCE: ITERA=1000, TOLER=1.0e-12, ADAPTIVE, RATIO=0.01 $ max iter #, convergence criteria
|
|
|
ADAPTIVE, RATIO=0.01 means that the loop will end also if the difference of the norm of convergence value changes less than 1% in two consecutive iterations
|
|
|
OUTPUT: CONVERGENCE $ solver convergence file (.cso) is generated
|
|
|
PRECONDITIONER: DIAGONAL $ matrix preconditioner type
|
|
|
END_ALGEBRAIC_SOLVER
|
|
|
END_CONTINUITY
|
|
|
|
|
|
|
|
|
END_NUMERICAL_TREATMENT
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
OUTPUT_&_POST_PROCESS
|
|
|
|
|
|
START_POSTPROCES_AT STEP = 0 $ initial step to post process
|
|
|
POSTPROCESS VELOCITY STEPS = 1 $ post process velocity every 10 steps (prevails ker.dat)
|
|
|
POSTPROCESS PRESSURE STEPS = 1 $ post process pressure every 10 steps (prevails ker.dat)
|
|
|
POSTPROCESS MEAN_PRESSURE, STEPS = 1
|
|
|
BOUNDARY_SET
|
|
|
FORCE
|
|
|
TORQUE, CENTER=0,0,0
|
|
|
MASS
|
|
|
MEAN_PRESSURE
|
|
|
END_BOUNDARY_SET
|
|
|
|
|
|
|
|
|
END_OUTPUT_&_POST_PROCESS
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
|
|
|
BOUNDARY_CONDITIONS
|
|
|
|
|
|
PARAMETERS
|
|
|
VARIATION: NON_CONSTANT
|
|
|
INITIAL: CONSTANT, COARSE $ domain velocity initialization (solution from a coarser mesh)
|
|
|
END_PARAMETERS
|
|
|
CODES, NODES $ Boundary Conditions
|
|
|
1 11 1.000000 0.000000, SPACE_TIME_FUNCTION=INFLOW $ inlet
|
|
|
2 00 0.000000 0.000000 $ outlet
|
|
|
3 11 0.000000 0.000000 $ wall
|
|
|
1 & 3 11 0.000000 0.000000 , SPACE_TIME_FUNCTION=INFLOW $ vertex...
|
|
|
2 & 3 11 0.000000 0.000000
|
|
|
END_CODES $ (note that BC’s apply to boundaries, not to boundary sets)
|
|
|
|
|
|
|
|
|
END_BOUNDARY_CONDITIONS
|
|
|
|
|
|
$---------------------------------------------------------—
|
|
|
```
|
|
|
|
|
|
# <a class="anchor" id="backward_facing_step_post_alya_dat"></a>backward_facing_step.post.alya.dat
|
|
|
|
|
|
```
|
|
|
$----------------------------------------------------------------—
|
|
|
|
|
|
DATA
|
|
|
|
|
|
FORMAT: visit $ also valid for ParaView
|
|
|
MARK_ELEMENTS: type $ to create automatic layers in post process according to some criterion
|
|
|
ELIMINATE_BOUNDARY_NODES: yes $ for parallel runs, to avoid node duplicity between subdomain
|
|
|
BOUNDARY: ON $ to post process boundary mesh
|
|
|
SUBDOMAINS, ALL $ subdomains (parallel partitions) to post process
|
|
|
END_SUBDOMAINS
|
|
|
|
|
|
|
|
|
END_DATA
|
|
|
|
|
|
$----------------------------------------------------------------—
|
|
|
```
|
|
|
* * * |