Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • B backward_facing_step2d
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • alyaalya
  • benchmarksbenchmarks
  • backward_facing_step2d
  • Wiki
  • Home

Home · Changes

Page history
Create home authored Apr 23, 2020 by Guillaume Houzeaux's avatar Guillaume Houzeaux
Hide whitespace changes
Inline Side-by-side
home.md 0 → 100644
View page @ f1f7350c
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
$----------------------------------------------------------------—
```
* * *
Clone repository
  • Home