Turbine cascade

Download this example

Input file

# Turbine cascade
#
# Run a stationary turbine cascade with prescribed flow angles.
#


# Use a new workdir for each run
workdir: runs/*

# Perfect gas inlet condition
inlet:
  Po: 1e5
  To: 300.
  cp: 1005.
  gamma: 1.4

# Set viscosity from Reynolds number
Re_surf: 4e5

# Turbine cascade design variables
mean_line:
  type: turbine_cascade
  span: [0.01, 0.011]
  Alpha: [40., -65.0]
  Ma2: 0.6
  Yh: 0.029
  htr: 0.99

# Setup annulus using fixed aspect ratios
annulus:
  AR_gap: [1.0, 1.0]
  AR_chord: 2.0

# Specify camber and thickness one one mid-span section
blades:
    - spf: 0.5
      thick: [0.05, 0.12, 0.3, 0., 0.03, 0.18]
      camber: [10., -2., 0.0]

# Discretise fluid domain using a coarse H-mesh
mesh:
  type: h
  AR_cusp: 2.0
  ni_cusp: 5
  yplus: 30.0
  resolution_factor: 0.5

# Use circulation for number of blades
nblade:
  - Co: 0.7

# Configure the built-in flow solver
solver:
  type: ember
  n_step: 2000
  n_step_avg: 500

post_process:
  - type: sections
  - type: contour
    coord: spf
    value: 0.5
    variable: Ma_rel

Log output

*** TURBIGEN v2.7.0 ***
Starting at 2025-08-15T16:13:59
Working directory: /builds/jb753/turbigen/runs/0001
Inlet: PerfectState(P=1.000 bar, T=300.0 K)
MeanLine(
    Po=[1.     0.9927] bar,
    To=[300. 300.] K,
    Ma=[0.311 0.6  ],
    Vx=[81.9 85.1] m/s,
    Vr=[0. 0.] m/s,
    Vt=[  68.7 -182.4] m/s,
    Vt_rel=[  68.7 -182.4] m/s,
    Al=[ 40. -65.] deg,
    Al_rel=[ 40. -65.] deg,
    rpm=[0. 0.],
    mdot=[5.66 5.66] kg/s
    )
Designing annulus...
FixedAR(nrow=1, x=[0.002625], r=[0.995], AR=[2.], span=0.010499999988979991, cm=[0.00525])
Designing blades...
Nblade: [1286]
Tip gaps/span: [0.]
Re_surf=[4e+05]
Generating mesh...
Making an H-mesh...
irow=0, nj=41
is_axial=True
(3, 41)
W_TE[jmid]=np.float64(0.0002503957610089178)
L_cusp=0.000507
Adding cusps
ncell/1e6=0.1
Applying 2D guess...
Initialising ember...
Tu0=300K
Patitioning onto 1 processors...
Starting the main time-stepping loop...
500: tpnps=3.096e-07, remaining=0m49s
  block 0: 6.20e-05 2.87e-02 5.58e-04 2.41e-02 5.48e+00
1000: tpnps=3.080e-07, remaining=0m33s
  block 0: 3.21e-05 1.30e-02 3.44e-04 6.94e-03 3.26e+00
1500: tpnps=3.077e-07, remaining=0m16s
  block 0: 9.34e-06 2.91e-03 5.99e-05 2.56e-03 7.57e-01
1999: tpnps=3.127e-07, remaining=0m0s
  block 0: 2.24e-06 9.75e-04 1.58e-05 7.44e-04 1.97e-01
Elapsed time 1.11 min
Average tpnps=3.095e-07
mdot_in/out=5.63/5.63, err=-0.1%
Calculating yplus...
Block 0: A-avg yplus=53.8, median yplus=56.0
Post-processing...
Plotting sections at span fractions: {0: array([0.5])}
Plotting section row=0 at spf=0.5
Done post-processing.
Variable  Nominal  Actual  Err_abs  Err_rel/%
---------------------------------------------
Alpha[0]       40    39.8      0.2        0.5
Alpha[1]      -65     -64       -1        1.5
     Ma2      0.6   0.592   0.0081        1.3
      Yh    0.029  0.0582   -0.029     -100.5
     htr     0.99    0.99        0        0.0
 span[0]     0.01    0.01        0          0
 span[1]    0.011  0.0107  0.00029        2.6
      Ys           0.0583
      RR                1
 Beta[0]           0.0579
 Beta[1]           0.0447
Efficiency/%: eta_tt=2.5, eta_ts=0.2
Total time: 1.25 min
Working directory was: /builds/jb753/turbigen/runs/0001

Plots

../_images/turbine_cascade.yaml_post_1.svg ../_images/turbine_cascade.yaml_post_2.svg ../_images/turbine_cascade.yaml_post_3.svg ../_images/turbine_cascade.yaml_post_4.svg ../_images/turbine_cascade.yaml_post_5.svg ../_images/turbine_cascade.yaml_post_6.svg