Me322 Cep 2018144 2018297 [PDF]

Page |1 Page |2 ME-322 CEP Fluid Mechanics II Simulation Report CFD ANALYSIS OF A NACA 0012 AIRFOIL HASSAN (2018144)

30 0 3MB

Report DMCA / Copyright

DOWNLOAD PDF FILE

Papiere empfehlen

Me322 Cep 2018144 2018297 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Page |1

Page |2

ME-322 CEP Fluid Mechanics II Simulation Report

CFD ANALYSIS OF A NACA 0012 AIRFOIL HASSAN (2018144) 0012 AYUB AIRFOIL M. MAAZ SIDDIQUI (2018297)

Page |3

Flow Around an Inclined NACA 0012 Airfoil

Author

COMSOL

Report date

Jun 5, 2021 12:58:31 PM

SUMMARY This example simulates the flow around an inclined NACA 0012 airfoil at different angles of attack using the SST turbulence model.

Page |4

Contents 1.

Global Definitions..............................................................................................................................4

1.1. 2.

Parameters................................................................................................................................................................. 4

Component 1.....................................................................................................................................5

2.1.

Definitions................................................................................................................................................................. 5

2.2.

Geometry 1................................................................................................................................................................ 5

2.3.

Materials..................................................................................................................................................................... 8

2.4.

Laplace Equation..................................................................................................................................................... 9

2.5.

Turbulent Flow, SST............................................................................................................................................. 15

2.6.

Mesh 1...................................................................................................................................................................... 44

3.

Study 1..............................................................................................................................................57

3.1.

Stationary................................................................................................................................................................ 57

3.2.

Solver Configurations......................................................................................................................................... 57

4.

Study 2..............................................................................................................................................60

4.1.

Wall Distance Initialization................................................................................................................................ 60

4.2.

Stationary................................................................................................................................................................ 60

4.3.

Solver Configurations......................................................................................................................................... 61

5.

Results...............................................................................................................................................68

5.1.

Datasets................................................................................................................................................................... 68

5.2.

Derived Values....................................................................................................................................................... 70

5.3.

Tables........................................................................................................................................................................ 70

5.4.

Plot Groups............................................................................................................................................................. 74

Page |5

1 Global Definitions Autho r

COMSOL

Date

June 5, 2021 11:48:01 AM

Global settings

Name

Naca0012 airfoil (1).mph

Path

C:\Users\maaz\Downloads\naca0012_airfoil (1).mph

Version

COMSOL Multiphysics 5.6 (Build: 280)

Used products

COMSOL Multiphysics CFD Module Computer information

CPU

Intel64 Family 6 Model 165 Stepping 2, 4 cores

Operating system

Windows 10

1.1 PARAMETERS Parameters 1

Name

Expression

Value

Description

U_inf

50[m*s^ - 1]

50 m/s

Free-stream velocity

rho_inf

1.2043[kg*m^ - 3]

1.2043 kg/m³

Free-stream density

mu_inf

1.81397e-5[kg*m^ - 1*s^ - 1]

1.814E−5 kg/(m·s)

Free-stream dynamic viscosity

L

180[m]

180 m

Domain reference length

c

1.8[m]

1.8 m

Chord length

k_inf

0.1*mu_inf*U_inf/(rho_inf*L)

4.184E−7 m²/s²

Free-stream turbulent kinetic energy

om_inf

10*U_inf/L

2.7778 1/s

Free-stream specific dissipation rate

alpha

0

0

Angle of attack

Page |6

2 Component 1 Settings

Descriptio n

Value

Unit system

Same as global system (SI)

2.1 DEFINITIONS 2.1.1

Coordinate Systems

Boundary System 1 Coordinate system type

Boundary system

Tag

sys1

Coordinate names

First

Second

Third

t1

n

to

2.2 GEOMETRY 1

Geometry 1 Units

Length unit

m

Angular

deg

Page |7 unit Geometry statistics

Description

Value

Space dimension

2

Number of domains

1

Number of boundaries

4

Number of vertices

4

2.2.1

Circle 1 (c1)

Position

Descriptio n

Value

Position

{0, 0}

Rotation angle

Descriptio n

Value

Rotation

90

Size and shape

Description

Value

Radius

L

Sector angle

90

2.2.2

Parametric Curve 1 (pc1)

Position

Descriptio n

Value

Position

{-c, 0}

Parameter

Description

Value

Name

s

Minimum

0

Maximum

1

Expressions

{c*s, c*0.594689181*(0.298222773*sqrt(s) - 0.127125232*s - 0.357907906*s^2 + 0.291984971*s^3 - 0.105174696*s^4)}

Page |8

2.2.3

Rectangle 1 (r1)

Position

Descriptio n

Value

Position

{0, 0}

Size

Descriptio n

Value

Width

L

Height

L

2.2.4

Mirror 1 (mir1)

Settings

Description

Value

Keep input objects

On

Point on line of reflection

Description

Value

Point in plane

{0, 0}

Normal vector to line of reflection

Description

Value

Plane normal

{0, 1}

Page |9

2.3 MATERIALS 2.3.1

Air

Air Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

Material parameters

Name

Value

Unit

Dynamic viscosity

eta(T)

Pa·s

Density

rho(pA,T )

kg/m³

Basic

Description

Value

Coefficient of thermal expansion

{{alpha_p(pA, T), 0, 0}, {0, alpha_p(pA, T), 0}, {0, 0, alpha_p(pA, T)}}

Mean molar mass

0.02897[kg/mol]

Bulk viscosity

muB(T)

thermalexpansioncoefficient_symmetry

3

molarmass_symmetry

0

bulkviscosity_symmetry

0

P a g e | 10 Description

Value

Dynamic viscosity

eta(T)

dynamicviscosity_symmetry

0

Ratio of specific heats

1.4

ratioofspecificheat_symmetry

0

Electrical conductivity

{{0[S/m], 0, 0}, {0, 0[S/m], 0}, {0, 0, 0[S/m]}}

electricconductivity_symmetry

3

Heat capacity at constant pressure

Cp(T)

heatcapacity_symmetry

0

Density

rho(pA, T)

density_symmetry

0

Thermal conductivity

{{k(T), 0, 0}, {0, k(T), 0}, {0, 0, k(T)}}

thermalconductivity_symmetry

3

Speed of sound

cs(T)

soundspeed_symmetry

0

Nonlinear model

Description

Value

Parameter of nonlinearity

(def.gamma + 1)/2

BA_symmetry

0

Ideal gas

Description

Value

Specific gas constant

R_const/Mn

Rs_symmetry

0

Heat capacity at constant pressure

Cp(T)

heatcapacity_symmetry

0

Ratio of specific heats

1.4

ratioofspecificheat_symmetry

0

Mean molar mass

0.02897

molarmass_symmetry

0

2.4 LAPLACE EQUATION Used products

COMSOL Multiphysics

P a g e | 11

Laplace Equation Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

2.4.1

Interface Settings

Discretization Settings

Description

Value

Shape function type

Lagrange

Element order

Quadratic

Frame

Spatial

Units Dependent variable quantity

Unit

Custom unit

m^2/s

Source term quantity

Unit

Custom unit

s^-1

P a g e | 12

2.4.2

Variables

Name

Expression

lpeq.nx

Description

Selection

Details

nx

Normal vector, x component

Boundaries 1–4

Meta

lpeq.ny

ny

Normal vector, y component

Boundaries 1–4

Meta

lpeq.nz

root.nz

Normal vector, z component

Boundaries 1–4

Meta

lpeq.nxmesh

nxmesh

Normal vector (mesh), x component

Boundaries 1–4

Meta

lpeq.nymesh

nymesh

Normal vector (mesh), y component

Boundaries 1–4

Meta

lpeq.nzmesh

root.nzmesh

Normal vector (mesh), z component

Boundaries 1–4

Meta

2.4.3

Unit

Laplace Equation 1

Laplace Equation 1 Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

Equations

P a g e | 13 Variables Name

Expression

Unit

Description

Selection

domflux.phix

-d(phi,x)

m/s

Domain flux, x component

Domain 1

domflux.phi y

-d(phi,y)

m/s

Domain flux, y component

Domain 1

Shape functions Name phi

Shape function Lagrange (Quadratic)

2.4.4

Unit

Description

Shape frame

Selection

m²/s

Dependent variable phi

Spatial

Domain 1

Zero Flux 1

Zero Flux 1 Selection

Geometric entity level

Boundary

Selection

Geometry geom1: Dimension 1: All boundaries

Equations

P a g e | 14

2.4.5

Initial Values 1

Initial Values 1 Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

Settings

Description

Value

Initial value for phi

0

Initial time derivative of phi

0

P a g e | 15

2.4.6

Dirichlet Boundary Condition 1

Dirichlet Boundary Condition 1 Selection

Geometric entity level

Boundary

Selection

Geometry geom1: Dimension 1: Boundary 2

Equations

Settings

Description

Value

Value on boundary

0

Prescribed value of phi

On

Constraints Constrain t

Constraint force

Shape function

Selection

Details

-phi

-test(phi)

Lagrange (Quadratic)

Boundary 2

Elemental

P a g e | 16

2.4.7

Flux/Source 1

Flux/Source 1 Selection

Geometric entity level

Boundary

Selection

Geometry geom1: Dimension 1: Boundary 1

Equations

Settings

Description

Value

Boundary absorption/impedance term

0

Boundary flux/source

-nx*U_inf

Variables Name

Expression

Unit

Description

Selection

Details

lpeq.g_ph i

-nx*U_inf

m/s

Boundary flux/source

Boundary 1

+ operation

2.5 TURBULENT FLOW, SST Used products

P a g e | 17 COMSOL Multiphysics CFD Module

Turbulent Flow, SST Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

Equations

P a g e | 18

2.5.1

Interface Settings

Discretization Settings

Description

Value

Discretization of fluids

P1 + P1

Physical Model Settings

Description

Value

Compressibility

Compressible flow (Ma=10,1. 3^min(10+niterCMP,7),0)+if( niterCMP>=35,9*1.3^ min(35+niterCMP,9),0)+if( niterCMP>=65,90*1.3 ^min(65+niterCMP,9),0)

Local CFL number

Domain 1

spf.locCFL

CFLCMP

1

Local CFL number

Domain 1

spf.geometryLength Scale

90

m

Geometry length scale

Domain 1

spf.time_step_inv

max(sqrt(emetric_spati al(u,v)*2^gmg_level^2 ),spf.nu/spf.geometryL engthScale^2)

Hz

Inverse time step

Domain 1

spf.tsti

nojac(spf.time_step_in v/spf.locCFL)

1/s

Help variable

Domain 1

spf.nx

dnx

1

Normal vector, x component

Boundaries 1– 4

spf.ny

dny

1

Normal vector, y component

Boundaries 1– 4

spf.nz

0

1

Normal vector, z component

Boundaries 1– 4

spf.nxmesh

dnxmesh

1

Normal vector,

Boundaries 1–

+ operation

P a g e | 22 Name

Expression

Unit

Description

Selection

x component

4

spf.nymesh

dnymesh

1

Normal vector, y component

Boundaries 1– 4

spf.nzmesh

0

1

Normal vector, z component

Boundaries 1– 4

2.5.3

Fluid Properties 1

Fluid Properties 1 Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

Equations

Fluid Properties Settings

Details

P a g e | 23 Description

Value

Density

From material

Dynamic viscosity

From material

Distance Equation Settings

Description

Value

Reference length scale

Manual

Reference length scale

0.2

Model Input Settings

Description

Value

Temperatur e

Common model input

Properties from material

Property

Materia l

Property group

Density

Air

Basic

Dynamic viscosity

Air

Basic

Variables Name

Expression

Unit

Description

Selection

Details

spf.geometryLengt hScale

0.5*spf.lref

m

Geometry length scale

Domain 1

spf.mu

material.mu

Pa·s

Dynamic viscosity

Domain 1

Meta

spf.rho

subst(material.rho,spf.f p1.minput_temperatur e,spf.Trho,spf.fp1.minp ut_pressure,spf.prho)

kg/m³

Density

Domain 1

Meta

spf.lref

0.2

m

Reference length scale

Domain 1

spf.Trho

spf.fp1.minput_temper ature

K

Temperature for density evaluation

Domain 1

spf.prho

spf.fp1.minput_pressur e

Pa

Pressure for the evaluation of density

Domain 1

P a g e | 24 Name

Expression

Unit

Description

Selection

Details

spf.rhoref

subst(material.rho,spf.f p1.minput_temperatur e,spf.Tref,spf.fp1.minp ut_pressure,spf.pref)

kg/m³

Reference density

Domain 1

Meta

spf.mumat

material.mu

Pa·s

Dynamic viscosity

Domain 1

Meta

spf.srijxx

ux

1/s

Strain rate tensor, xx component

Domain 1

spf.srijyx

0.5*(vx+uy)

1/s

Strain rate tensor, yx component

Domain 1

spf.srijzx

0

1/s

Strain rate tensor, zx component

Domain 1

spf.srijxy

0.5*(uy+vx)

1/s

Strain rate tensor, xy component

Domain 1

spf.srijyy

vy

1/s

Strain rate tensor, yy component

Domain 1

spf.srijzy

0

1/s

Strain rate tensor, zy component

Domain 1

spf.srijxz

0

1/s

Strain rate tensor, xz component

Domain 1

spf.srijyz

0

1/s

Strain rate tensor, yz component

Domain 1

spf.srijzz

0

1/s

Strain rate tensor, zz component

Domain 1

spf.rrijxx

0

1/s

Rotation rate tensor, xx component

Domain 1

Domain 1

spf.rrijyx

0.5*(vx-uy)

1/s

Rotation rate tensor, yx component

spf.rrijzx

0

1/s

Rotation rate tensor, zx component

Domain 1

Domain 1

spf.rrijxy

0.5*(uy-vx)

1/s

Rotation rate tensor, xy component

spf.rrijyy

0

1/s

Rotation rate tensor, yy component

Domain 1

spf.rrijzy

0

1/s

Rotation rate tensor, zy component

Domain 1

1/s

Rotation rate tensor, xz component

Domain 1

spf.rrijxz

0

P a g e | 25 Name

Expression

Unit

Description

Selection Domain 1

Details

spf.rrijyz

0

1/s

Rotation rate tensor, yz component

spf.rrijzz

0

1/s

Rotation rate tensor, zz component

Domain 1

spf.sr

sqrt(2*spf.srijxx^2+2*s pf.srijxy^2+2*spf.srijxz ^2+2*spf.srijyx^2+2*s pf.srijyy^2+2*spf.srijyz ^2+2*spf.srijzx^2+2*s pf.srijzy^2+2*spf.srijzz ^2+eps)

1/s

Shear rate

Domain 1

spf.rr

sqrt(2*spf.rrijxx^2+2*s pf.rrijxy^2+2*spf.rrijxz ^2+2*spf.rrijyx^2+2*s pf.rrijyy^2+2*spf.rrijyz ^2+2*spf.rrijzx^2+2*s pf.rrijzy^2+2*spf.rrijzz ^2+eps)

1/s

Rotation rate

Domain 1

spf.divu

ux+vy

1/s

Divergence of velocity field

Domain 1

spf.Fx

0

N/m³

Volume force, x component

Domain 1

+ operation

spf.Fy

0

N/m³

Volume force, y component

Domain 1

+ operation

spf.Fz

0

N/m³

Volume force, z component

Domain 1

+ operation

spf.U

sqrt(u^2+v^2)

m/s

Velocity magnitude

Domain 1

spf.vorticityx

0

1/s

Vorticity field, x component

Domain 1

spf.vorticityy

0

1/s

Vorticity field, y component

Domain 1

spf.vorticityz

vx-uy

1/s

Vorticity field, z component

Domain 1

spf.vort_magn

sqrt(spf.vorticityx^2+s pf.vorticityy^2+spf.vor ticityz^2)

1/s

Vorticity magnitude

Domain 1

spf.cellRe

0.25*spf.rho*sqrt(emet ric_spatial(ud(x,TIME),vd(y,TIME))/emetric2_s patial)/spf.mu

1

Cell Reynolds number

Domain 1

P a g e | 26 Name

Expression

Unit

Description

Selection

Details

spf.nu

spf.mu/spf.rho

m²/s

Kinematic viscosity

Domain 1

spf.betaT

d(spf.rho,p)/spf.rho

1/Pa

Isothermal compressibility coefficient

Domain 1

spf.Qm

0

kg/(m³·s)

Source term

Domain 1

+ operation

spf.Fgtotx

0

N/m³

Gravity force, x component

Domain 1

+ operation

spf.Fgtoty

0

N/m³

Gravity force, y component

Domain 1

+ operation

spf.Fgtotz

0

N/m³

Gravity force, z component

Domain 1

+ operation

spf.mu_eff

spf.mu+spf.muT

Pa·s

Dynamic viscosity

Domain 1

spf.muT

nojac(min(spf.rho*spf.l substar*sqrt(spf.k_nn), spf.rho*spf.a1*spf.k_n n/ (max(sqrt(2*(ux^2+0.5 *(uy+vx)^2+vy^2)),ep s)*spf.fv2)))

Pa·s

Turbulent dynamic viscosity

Domain 1

spf.T_stress_tensorx x

spf.K_stress_tensorxxp-2*spf.rho*k/3

N/m²

Total stress tensor, xx component

Domain 1

+ operation

Domain 1

+ operation

spf.T_stress_tensory x

spf.K_stress_tensoryx

N/m²

Total stress tensor, yx component

spf.T_stress_tensorz x

spf.K_stress_tensorzx

N/m²

Total stress tensor, zx component

Domain 1

+ operation

spf.T_stress_tensorx y

spf.K_stress_tensorxy

N/m²

Total stress tensor, xy component

Domain 1

+ operation

spf.T_stress_tensory y

spf.K_stress_tensoryyp-2*spf.rho*k/3

N/m²

Total stress tensor, yy component

Domain 1

+ operation

spf.T_stress_tensorz y

spf.K_stress_tensorzy

N/m²

Total stress tensor, zy component

Domain 1

+ operation

Domain 1

+ operation

Domain 1

+ operation

spf.T_stress_tensorx z

spf.K_stress_tensorxz

N/m²

Total stress tensor, xz component

spf.T_stress_tensory z

spf.K_stress_tensoryz

N/m²

Total stress tensor, yz component

P a g e | 27 Name

Expression

Unit

Description

Selection

Details

spf.T_stress_tensorz z

spf.K_stress_tensorzzp-2*spf.rho*k/3

N/m²

Total stress tensor, zz component

Domain 1

+ operation

spf.K_stress_tensor xx

spf.mu_eff*(2*ux2*spf.divu/3)

N/m²

Viscous stress tensor, xx component

Domain 1

+ operation

Domain 1

+ operation

spf.K_stress_tensor yx

spf.mu_eff*(vx+uy)

N/m²

Viscous stress tensor, yx component

spf.K_stress_tensorz x

0

N/m²

Viscous stress tensor, zx component

Domain 1

+ operation

spf.K_stress_tensor xy

spf.mu_eff*(uy+vx)

N/m²

Viscous stress tensor, xy component

Domain 1

+ operation

spf.K_stress_tensor yy

spf.mu_eff*(2*vy2*spf.divu/3)

N/m²

Viscous stress tensor, yy component

Domain 1

+ operation

spf.K_stress_tensorz y

0

N/m²

Viscous stress tensor, zy component

Domain 1

+ operation

Domain 1

+ operation

spf.K_stress_tensor xz

0

N/m²

Viscous stress tensor, xz component

spf.K_stress_tensor yz

0

N/m²

Viscous stress tensor, yz component

Domain 1

+ operation

spf.K_stress_tensorz z

2*spf.mu_eff*spf.divu/ 3

N/m²

Viscous stress tensor, zz component

Domain 1

+ operation

spf.K_stress_tensor_ testxx

spf.mu_eff*(2*test(ux)2*test(ux+vy)/3)

N/m²

Viscous stress tensor test, xx component

Domain 1

+ operation

spf.K_stress_tensor_ testyx

spf.mu_eff*(test(vx) +test(uy))

N/m²

Viscous stress tensor test, yx component

Domain 1

+ operation

Domain 1

+ operation

Domain 1

+ operation

Domain 1

+ operation

spf.K_stress_tensor_ testzx

0

N/m²

Viscous stress tensor test, zx component

spf.K_stress_tensor_ testxy

spf.mu_eff*(test(uy) +test(vx))

N/m²

Viscous stress tensor test, xy component

spf.K_stress_tensor_ testyy

spf.mu_eff*(2*test(vy)2*test(ux+vy)/3)

N/m²

Viscous stress tensor test, yy

P a g e | 28 Name

Expression

Unit

Description

Selection

Details

Domain 1

+ operation

component spf.K_stress_tensor_ testzy

0

N/m²

Viscous stress tensor test, zy component

spf.K_stress_tensor_ testxz

0

N/m²

Viscous stress tensor test, xz component

Domain 1

+ operation

Domain 1

+ operation

spf.K_stress_tensor_ testyz

0

N/m²

Viscous stress tensor test, yz component

spf.K_stress_tensor_ testzz

2*spf.mu_eff*test(ux+v y)/3

N/m²

Viscous stress tensor test, zz component

Domain 1

+ operation

spf.upwind_helpx

u-d(x,TIME)

m/s

Upwind term, x component

Domain 1

+ operation

spf.upwind_helpy

v-d(y,TIME)

m/s

Upwind term, y component

Domain 1

+ operation

spf.upwind_helpz

0

m/s

Upwind term, z component

Domain 1

+ operation

spf.muinit

subst(material.mu,spf.f p1.minput_temperatur e,spf.Tref,spf.fp1.minp ut_pressure,spf.pref)

Pa·s

Dynamic viscosity

Domain 1

Meta

spf.rhoinit

spf.rho

kg/m³

Density

Domain 1

spf.om_global

if(spf.Wall_spf,spf.om_ w,om)

1/s

Specific dissipation rate, (all cells)

Domain 1

spf.om_w

if(spf.Wall_spf,nojac(6* spf.mu/ (spf.rho*spf.beta1*spf.l _w2Pos)),0)

1/s

Specific dissipation rate, wall region

Domain 1

spf.k_nn

max(k,0)

m²/s²

Regularized turbulent kinetic energy

Domain 1

Domain 1

Domain 1

spf.k_pos

spf.k_nn+eps

m²/s²

Regularized turbulent kinetic energy

spf.om_nn

max(spf.om_global,0)

1/s

Regularized turbulent dissipation rate

spf.om_pos

spf.om_nn+eps

1/s

spf.Sxx

ux-(ux+vy)/3

1/s

Strain rate, xx component

Domain 1

+ operation

spf.Syx

0.5*(vx+uy)

1/s

Strain rate, yx

Domain 1

+ operation

Domain 1

P a g e | 29 Name

Expression

Unit

Description

Selection

Details

component spf.Szx

0

1/s

Strain rate, zx component

Domain 1

+ operation

spf.Sxy

0.5*(uy+vx)

1/s

Strain rate, xy component

Domain 1

+ operation

spf.Syy

vy-(ux+vy)/3

1/s

Strain rate, yy component

Domain 1

+ operation

spf.Szy

0

1/s

Strain rate, zy component

Domain 1

+ operation

spf.Sxz

0

1/s

Strain rate, xz component

Domain 1

+ operation

spf.Syz

0

1/s

Strain rate, yz component

Domain 1

+ operation

spf.Szz

-(ux+vy)/3

1/s

Strain rate, zz component

Domain 1

+ operation

spf.AbsS

sqrt(max(spf.Sxx^2+s pf.Sxy^2+spf.Sxz^2+s pf.Syx^2+spf.Syy^2+s pf.Syz^2+spf.Szx^2+s pf.Szy^2+spf.Szz^2,0) )

1/s

Absolute strain rate

Domain 1

spf.rF

sqrt(2)/ (3*max(spf.AbsS,eps))

s

Help variable

Domain 1

spf.rFInv

3*spf.AbsS/sqrt(2)

1/s

Help variable

Domain 1

spf.lcore

min(sqrt(spf.k_nn)/spf. om_pos,sqrt(spf.k_nn)* spf.rF)

m

Help variable

Domain 1

spf.lsubstar

nojac(min(spf.lcore,2*s pf.l_w))

m

Limited mixing length

Domain 1

spf.nuT

spf.muT/spf.rho

m²/s

Turbulent kinematic viscosity

Domain 1

spf.linSCk

nojac(spf.rho*(spf.om_nn*sp f.beta0smin(spf.Pkb_mul,0)/m ax(spf.rho,eps)))

kg/(m³·s)

Linear source term coefficient, kequation

Domain 1

spf.linSCom

nojac(spf.rho*(spf.beta*spf.o m_nnmin(spf.Pomb_mul,0)/ max(spf.rho,eps)))

kg/(m³·s)

Linear source term coefficient

Domain 1

spf.PCore

2*ux^2+uy*(uy+vx) +vx*(uy+vx)+2*vy^22*(ux+vy)^2/3

1/s²

Turbulent kinetic energy source term

Domain 1

+ operation

P a g e | 30 Name

Expression

Unit

Description

Selection

spf.Pk

nojac(max(min(ux*spf. tauxx+uy*spf.tauxy+vx *spf.tauyx+vy*spf.tauy y,10*spf.beta0s*spf.rh o*spf.om_nn*spf.k_nn) ,0)) +nojac(max(spf.Pkb_m ul,0)*k)

W/m³

Turbulent kinetic energy source term

Domain 1

spf.Pom

nojac(spf.gamma*spf. Pk*spf.rho/max(spf.mu T,eps)) +nojac(max(spf.Pomb_ mul,0)*om)

kg/(m³·s²)

spf.kinit

(100*spf.muinit/ (spf.rhoinit*spf.lref))^2

m²/s²

Turbulent kinetic energy

Domain 1

spf.omInit

10*spf.kinit^0.5/spf.lre f

1/s

Turbulent dissipation rate

Domain 1

spf.l_w

nojac(max(spf.Dw,0))

m

Closest wall distance

Domain 1

spf.l_w2Pos

max(spf.l_w^2,spf.lref ^2*eps)



Intermediate variable

Domain 1

spf.l_mix_lim

2*spf.l_w

m

Mixing length limit

Domain 1

spf.lsupstar

spf.l_w*(spf.rho*spf.o m_global/spf.mu)^0.5

1

Dimensionless wall distance

Domain 1

spf.cd_kom

max(2*spf.rho*spf.sig maom2*(kx*d(log(spf. om_pos),x) +ky*d(log(spf.om_pos) ,y)),1.0E-10)

Turbulence help variable

Domain 1

spf.f_om1

tanh(min(max(spf.frac 1,spf.frac2),spf.frac3)^ 4)

Turbulence help variable

Domain 1

spf.f_om2

tanh(max(2*spf.frac1,s pf.frac2)^2)

Turbulence help variable

Domain 1

spf.frac1

sqrt(spf.k_nn)/ (spf.beta0s*spf.om_po s*sqrt(spf.l_w2Pos))

1

Turbulence help variable

Domain 1

spf.frac2

500*spf.nu/ (spf.l_w2Pos*spf.om_p os)

1

Turbulence help variable

Domain 1

spf.frac3

4*spf.rho*spf.sigmaom 2*spf.k_nn/ (spf.cd_kom*spf.l_w2P

kg/(m³·s²)

Domain 1

Turbulence help variable

Domain 1

Details

P a g e | 31 Name

Expression

Unit

Description

Selection

Details

os) spf.fv2

nojac(spf.f_om2)

Turbulence help variable

Domain 1

spf.fv1

nojac(spf.f_om1)

Turbulence help variable

Domain 1

spf.beta

spf.fv1*spf.beta1+(1spf.fv1)*spf.beta2

1

Turbulence model parameter

Domain 1

spf.gamma

spf.fv1*spf.gamma1+( 1-spf.fv1)*spf.gamma2

1

Turbulence model parameter

Domain 1

spf.sigmak

spf.fv1*spf.sigmak1+(1 -spf.fv1)*spf.sigmak2

1

Turbulence model parameter

Domain 1

spf.sigmaom

spf.fv1*spf.sigmaom1 +(1spf.fv1)*spf.sigmaom2

1

Turbulence model parameter

Domain 1

spf.tauxx

2*spf.muT*spf.Sxx2*spf.rho*spf.k_nn/3

Pa

Strain rate, xx component

Domain 1

+ operation

spf.tauyx

2*spf.muT*spf.Syx

Pa

Strain rate, yx component

Domain 1

+ operation

spf.tauzx

2*spf.muT*spf.Szx

Pa

Strain rate, zx component

Domain 1

+ operation

spf.tauxy

2*spf.muT*spf.Sxy

Pa

Strain rate, xy component

Domain 1

+ operation

spf.tauyy

2*spf.muT*spf.Syy2*spf.rho*spf.k_nn/3

Pa

Strain rate, yy component

Domain 1

+ operation

spf.tauzy

2*spf.muT*spf.Szy

Pa

Strain rate, zy component

Domain 1

+ operation

spf.tauxz

2*spf.muT*spf.Sxz

Pa

Strain rate, xz component

Domain 1

+ operation

spf.tauyz

2*spf.muT*spf.Syz

Pa

Strain rate, yz component

Domain 1

+ operation

spf.tauzz

2*spf.muT*spf.Szz2*spf.rho*spf.k_nn/3

Pa

Strain rate, zz component

Domain 1

+ operation

spf.crossDiff

nojac(2*(1spf.fv1)*spf.rho*spf.sig maom2*(kx*d(log(spf. om_pos),x) +ky*d(log(spf.om_pos) ,y)))

kg/(m³·s²)

Cross diffusion term

Domain 1

spf.gammaT

nojac(spf.beta0s*max( spf.om_nn,spf.rFInv))

1/s

Turbulence help variable

Domain 1

spf.tauT

1/nojac(spf.beta0s*ma x(spf.om_pos,spf.rFInv) )

s

Turbulence time scale

Domain 1

P a g e | 32 Name

Expression

Unit

Description

Selection

Details

Domain 1

+ operation

spf.Pkb

spf.Pkb_mul*k

W/m³

Buoyancy-induced production of turbulence kinetic energy

spf.Pkb_mul

0

kg/(m³·s)

Help variable

Domain 1

+ operation

spf.Pomb_mul

0

kg/(m³·s)

Help variable

Domain 1

+ operation

spf.ep

spf.beta0s*k*om

m²/s³

Turbulent dissipation rate

Domain 1

spf.l_wPlus

spf.lsupstarInv(spf.lsup star)

Wall distance in viscous units

Domain 1

spf.G0

nojac(2/spf.lref)

1/m

Auxiliary wall variable

Domain 1

spf.Dw

1/max(G,eps)-1/spf.G0

m

Wall distance

Domain 1

spf.Ddirx

Gx/sqrt(max(Gx^2+Gy ^2,eps))

1

Direction toward nearest wall, x component

Domain 1

spf.Ddiry

Gy/sqrt(max(Gx^2+Gy ^2,eps))

1

Direction toward nearest wall, y component

Domain 1

spf.Ddirz

0

1

Direction toward nearest wall, z component

Domain 1

spf.tau_vdxx

2*spf.mu*spf.srijxx+2* spf.muT*spf.srijxx2*spf.mu*(ux+vy)/32*spf.muT*(ux+vy)/3

Pa

Viscous stress tensor, xx component

Domain 1

+ operation

spf.tau_vdyx

2*spf.srijyx*(spf.mu+s pf.muT)

Pa

Viscous stress tensor, yx component

Domain 1

+ operation

spf.tau_vdzx

2*spf.srijzx*(spf.mu+s pf.muT)

Pa

Viscous stress tensor, zx component

Domain 1

+ operation

spf.tau_vdxy

2*spf.srijxy*(spf.mu+s pf.muT)

Pa

Viscous stress tensor, xy component

Domain 1

+ operation

spf.tau_vdyy

2*spf.mu*spf.srijyy+2* spf.muT*spf.srijyy2*spf.mu*(ux+vy)/32*spf.muT*(ux+vy)/3

Pa

Viscous stress tensor, yy component

Domain 1

+ operation

spf.tau_vdzy

2*spf.srijzy*(spf.mu+s pf.muT)

Pa

Viscous stress tensor, zy component

Domain 1

+ operation

Domain 1

+ operation

spf.tau_vdxz

2*spf.srijxz*(spf.mu+s pf.muT)

Pa

Viscous stress tensor, xz

P a g e | 33 Name

Expression

Unit

Description

Selection

Details

Domain 1

+ operation

component spf.tau_vdyz

2*spf.srijyz*(spf.mu+s pf.muT)

Pa

Viscous stress tensor, yz component

spf.tau_vdzz

2*spf.mu*spf.srijzz+2* spf.muT*spf.srijzz2*spf.mu*(ux+vy)/32*spf.muT*(ux+vy)/3

Pa

Viscous stress tensor, zz component

Domain 1

+ operation

spf.Qvd

spf.tau_vdxx*ux+spf.ta u_vdxy*uy+spf.tau_vd yx*vx+spf.tau_vdyy*vy

W/m³

Viscous dissipation

Domain 1

+ operation

spf.epsilon_p

1

1

Porosity

Domain 1 Domain 1

+ operation

spf.Fst_tensorxx

0

N/m²

Surface tension force, xx component

spf.Fst_tensoryx

0

N/m²

Surface tension force, yx component

Domain 1

+ operation

spf.Fst_tensorzx

0

N/m²

Surface tension force, zx component

Domain 1

+ operation

spf.Fst_tensorxy

0

N/m²

Surface tension force, xy component

Domain 1

+ operation

spf.Fst_tensoryy

0

N/m²

Surface tension force, yy component

Domain 1

+ operation

Domain 1

+ operation

spf.Fst_tensorzy

0

N/m²

Surface tension force, zy component

spf.Fst_tensorxz

0

N/m²

Surface tension force, xz component

Domain 1

+ operation

spf.Fst_tensoryz

0

N/m²

Surface tension force, yz component

Domain 1

+ operation

spf.Fst_tensorzz

0

N/m²

Surface tension force, zz component

Domain 1

+ operation

spf.continuityEquat ion

d(spf.rho*spf.epsilon_ p,t)+d(spf.rho*u,x) +d(spf.rho*v,y)

kg/(m³·s)

Continuity equation

Domain 1

spf.contCoeff

spf.rho

kg/m³

Help variable

Domain 1

spf.res_k

-

W/m³

Turbulent kinetic

Domain 1

P a g e | 34 Name

Expression

Unit

(spf.mu+spf.muT*spf.s igmak)*(kxx+kyy)spf.linSCk*kspf.Pk+spf.rho*u*kx+s pf.rho*v*ky

Description

Selection

Details

energy equation residual

spf.res_om

(spf.mu+spf.muT*spf.s igmaom)*(omxx+omy y)spf.linSCom*om+spf.r ho*u*omx+spf.rho*v* omy-spf.Pomspf.crossDiff

kg/(m³·s²)

Specific dissipation rate equation residual

Domain 1

spf.res_u

if(spf.isFluidHasBeenS olved==0,0,px+spf.rh o*u*ux+spf.rho*v*uy(d(2*ux-2*spf.divu/3,x) +d(uy+vx,y))*(spf.mu+ spf.muT)spf.Fx+2*d(spf.rho*ma x(k,0),x)/3)

N/m³

Equation residual

Domain 1

spf.res_v

if(spf.isFluidHasBeenS olved==0,0,spf.rho*u* vx+py+spf.rho*v*vy(d(vx+uy,x)+d(2*vy2*spf.divu/3,y))*(spf.m u+spf.muT)spf.Fy+2*d(spf.rho*ma x(k,0),y)/3)

N/m³

Equation residual

Domain 1

spf.res_p

spf.rho*spf.divu+u*d(s pf.rho,x) +v*d(spf.rho,y)

kg/(m³·s)

Pressure equation residual

Domain 1

Shape functions Name

Shape function

Unit

Description

Shape frame

Selection

u

Lagrange (Linear)

m/s

Velocity field, x component

Spatial

Domain 1

v

Lagrange (Linear)

m/s

Velocity field, y component

Spatial

Domain 1

p

Lagrange (Linear)

Pa

Pressure

Spatial

Domain 1

k

Lagrange (Linear)

m²/s²

Turbulent kinetic energy

Spatial

Domain 1

om

Lagrange (Linear)

1/s

Specific dissipation rate

Spatial

Domain 1

G

Lagrange (Linear)

1/m

Reciprocal wall distance

Spatial

Domain 1

P a g e | 35

2.5.4

Initial Values 1

Initial Values 1 Selection

Geometric entity level

Domain

Selection

Geometry geom1: Dimension 2: All domains

Initial Values Settings

Description

Value

Velocity field, x component

-phix

Velocity field, y component

-phiy

Velocity field, z component

0

Pressure

-spf.rho/2*(phix^2 + phiy^2)

Turbulent kinetic energy

k_inf

Specific dissipation rate

om_inf

Reciprocal wall distance

spf.G0

Coordinate System Selection Settings

Description

Value

Coordinate system

Global coordinate system

P a g e | 36 Variables Name

Expression

Unit

Description

Selection

spf.u_initx

-phix

m/s

Velocity field, x component

Domain 1

spf.u_inity

-phiy

m/s

Velocity field, y component

Domain 1

spf.u_initz

0

m/s

Velocity field, z component

Domain 1

spf.p_init

-0.5*spf.rho*(phix^2+phiy^2)

Pa

Pressure

Domain 1

spf.G_init

spf.G0

1/m

Reciprocal wall distance

Domain 1

spf.k_init

k_inf

m²/s²

Turbulent kinetic energy

Domain 1

spf.om_init

om_inf

1/s

Specific dissipation rate

Domain 1

2.5.5

Wall 1

Wall 1 Selection

Geometric entity level

Boundary

Selection

Geometry geom1: Dimension 1: All boundaries

Equations

P a g e | 37

Boundary Condition Settings

Description

Value

Wall condition

No slip

Wall Movement Settings

Description

Value

Translational velocity

Automatic from frame

Sliding wall

Off

Variables Name

Expression

Unit

Description

Selection

spf.k0

0

m²/s²

Turbulent kinetic energy

Boundaries 3– 4 Boundaries 3– 4

spf.ubndx

spf.utrx+spf.usx

m/s

Velocity at boundary, x component

spf.ubndy

spf.utry+spf.usy

m/s

Velocity at boundary, y component

Boundaries 3– 4

spf.ubndz

spf.utrz+spf.usz

m/s

Velocity at boundary, z component

Boundaries 3– 4

spf.usx

0

m/s

Velocity of sliding wall, x component

Boundaries 3– 4

spf.usy

0

m/s

Velocity of sliding wall, y component

Boundaries 3– 4 Boundaries 3– 4

spf.usz

0

m/s

Velocity of sliding wall, z component

spf.utrx

0

m/s

Velocity of moving wall, x component

Boundaries 3– 4

spf.utry

0

m/s

Velocity of moving wall, y component

Boundaries 3– 4

Details

P a g e | 38 Name

Expression

Unit

Description

Selection Boundaries 3– 4

Details

spf.utrz

0

m/s

Velocity of moving wall, z component

spf.uLeakagex

0

m/s

Leakage velocity, x component

Boundaries 3– 4

+ operation

Boundaries 3– 4

+ operation

+ operation

spf.uLeakagey

0

m/s

Leakage velocity, y component

spf.uLeakagez

0

m/s

Leakage velocity, z component

Boundaries 3– 4

spf.noSlipWall

1

1

Help variable

Boundaries 3– 4

spf.tau_w

sqrt((spf.T_stressx(spf.T_stressx*spf.nxme sh+spf.T_stressy*spf.ny mesh+spf.T_stressz*spf .nzmesh)*spf.nxmesh)^ 2+(spf.T_stressy(spf.T_stressx*spf.nxme sh+spf.T_stressy*spf.ny mesh+spf.T_stressz*spf .nzmesh)*spf.nymesh)^ 2+(spf.T_stressz(spf.T_stressx*spf.nxme sh+spf.T_stressy*spf.ny mesh+spf.T_stressz*spf .nzmesh)*spf.nzmesh)^ 2)

N/m²

Wall shear stress

Boundaries 3– 4

spf.u_tau

sqrt(spf.tau_w/down(sp f.rho))

m/s

Friction velocity

Boundaries 3– 4

spf.lplus_cc

down(spf.rho)*spf.u_ta u*down(root.comp1.sp f.elemint(spf.l_w)/root.c omp1.spf.elemint(1))/d own(spf.mu)

1

Distance to cell center in viscous units

Boundaries 3– 4

Boundaries 3– 4 Boundaries 3– 4

spf.WRHeightExpr

spf.Delta_wPlus

1

Wall resolution height expression

spf.Delta_wPlus

2*spf.lplus_cc

1

Wall resolution in viscous units

P a g e | 39

2.5.6

Inlet 1

Inlet 1 Selection

Geometric entity level

Boundary

Selection

Geometry geom1: Dimension 1: Boundary 1

Equations

Boundary Condition Settings

Description

Value

Boundary condition

Velocity

Velocity Settings

Description

Value

Velocity field componentwise

Velocity field

Velocity field, x component

U_inf*cos(alpha*pi/180)

Velocity field, y component

U_inf*sin(alpha*pi/180)

P a g e | 40 Description

Value

Velocity field, z component

0

Turbulence Conditions Settings

Description

Value Specify turbulence variables

Turbulent kinetic energy

k_inf

Specific dissipation rate

om_inf

Variables Name

Expression

Unit

Description

Selection

spf.k0

k_inf

m²/s²

Turbulent kinetic energy

Boundary 1

spf.om0

om_inf

1/s

Specific dissipation rate

Boundary 1

spf.k0_init

0.005

m²/s²

Turbulent kinetic energy

Boundary 1

spf.om0_init

20

1/s

Specific dissipation rate

Boundary 1

spf.zeta0_init

2/3

1

Turbulent relative fluctuations

Boundary 1

spf.alpha0_init

1

1

Elliptic blending function

Boundary 1

spf.u0x

U_inf*cos(alpha*pi/180)

m/s

Velocity field, x component

Boundary 1

spf.u0y

U_inf*sin(alpha*pi/180)

m/s

Velocity field, y component

Boundary 1

spf.u0z

0

m/s

Velocity field, z component

Boundary 1

spf.inl1.dz

spf.dz

m

Channel thickness

Boundary 1

spf.inl1.volumeFlowRate

spf.inl1.intop((u*spf.nxmesh+v *spf.nymesh)*spf.inl1.dz)

m³/s

Outward volume flow rate across feature selection

Global

spf.inl1.massFlowRate

spf.inl1.intop(spf.rho*(u*spf.nx mesh+v*spf.nymesh)*spf.inl1. dz)

kg/s

Outward mass flow rate across feature selection

Global

Pa

Pressure average over feature selection

Global

spf.inl1.pAverage

spf.inl1.aveop(p)

P a g e | 41

2.5.7

Open Boundary 1

Open Boundary 1 Selection

Geometric entity level

Boundary

Selection

Geometry geom1: Dimension 1: Boundary 2

Equations

Boundary Condition Settings

Description

Value

Boundary condition

Normal stress

Normal stress

0

Turbulence Conditions Settings

Description

Value Specify turbulence variables

Turbulent kinetic energy

k_inf

P a g e | 42 Description

Value

Specific dissipation rate

om_inf

Variables Name

Expression

Unit

Description

Selection

spf.meshVol

meshvol_spatial

m

spf.meshVolInt

down(meshvol_spatial)



Volume of interior mesh element

Boundary 2

spf.k0

k_inf

m²/s²

Turbulent kinetic energy

Boundary 2

spf.om0

om_inf

1/s

Specific dissipation rate

Boundary 2

spf.k0_init

0.0025

m²/s²

Turbulent kinetic energy

Boundary 2

spf.om0_init

0.5

1/s

Specific dissipation rate

Boundary 2

spf.zeta0_init

2/3

1

Turbulent relative fluctuations

Boundary 2

spf.alpha0_init

1

1

Elliptic blending function

Boundary 2

spf.f0

0

N/m²

Normal stress

Boundary 2

spf.kjumpext

k-spf.k0

m²/s²

Boundary 2

spf.Dk

down(spf.mu) +spf.muT*spf.sigmak

Pa·s

Boundary 2

spf.gammakn_ext

spf.Dk*(kx*spf.nxmesh+ky* spf.nymesh)*test(k)

kg·m²/s⁵

Boundary 2

spf.gammakn_ext_test

spf.Dk*(test(kx)*spf.nxmesh +test(ky)*spf.nymesh)*spf.k jumpext

kg·m²/s⁵

Boundary 2

spf.ck_here

12*nojac(spf.Dk)*spf.mesh Vol/spf.meshVolInt

Pa·s/m

spf.sigma_dgext_k

4*spf.ck_here

Pa·s/m

spf.upwindext_k

if(spf.upwind_helpx*spf.nx mesh+spf.upwind_helpy*s pf.nymesh+spf.upwind_hel pz*spf.nzmesh