Running a Parametric Study in NPSS to Identify the Optimal Bypass Ratio
Learn how to automate turbine‑engine trade studies with NPSS’s parametric study feature, sweep design variables, collect results in HDF5, and extract a thrust‑specific fuel consumption curve to pinpoint the best bypass ratio.
18 Sept 2025, 08:25 UTC

Problem: Quickly evaluating engine trade‑offs without manual reruns
When assessing how a turbofan’s bypass ratio influences thrust‑specific fuel consumption (SFC), engineers traditionally create a series of individual NPSS cases, edit the input file for each value, run the solver, and collect the outputs. This process is tedious, error‑prone, and makes it difficult to compare results consistently.
Thesis: NPSS’s built‑in parametric study automates the sweep, stores all outcomes in a single HDF5 file, and lets you analyse the data with familiar tools.
1. Defining the design variable and study block
NPSS uses two special blocks in the input file: *DESIGN_VARIABLE to declare the parameter you want to vary, and *STUDY to specify the sampling method and range.
*DESIGN_VARIABLE
NAME = BYPASS_RATIO
TYPE = REAL
DEFAULT = 8.0
*STUDY
METHOD = LATIN_HYPERCUBE ! or FULL_FACTORIAL
SAMPLES = 15 ! number of points for LHC
VARIABLE = BYPASS_RATIO
MIN = 5.0
MAX = 12.0
OUTPUT_FILE = results.h5
Place these blocks anywhere in your existing NPSS deck; the solver will automatically substitute each sampled value into the deck before invoking the analysis.
2. Executing the study and handling failures
Run the study from a command line with the NPSS executable. You need read access to the NPSS license and write permission in the working directory.
# Run from the directory containing your .study file
npss turbofan_parametric.study
Each case inherits the solver tolerances, under‑relaxation factors, and any custom component models you have defined, so there is no need to rebuild the deck for every point.
If a particular sample fails to converge, the study will stop unless you enable the SKIP_FAILED_CASES flag. Adding this flag lets the run continue and records the failure in the log file.
*STUDY
...
SKIP_FAILED_CASES = YES
After execution, inspect study.log for any non‑zero return codes; a healthy run will show “SUCCESS” for each case.
3. Post‑processing the HDF5 output
The study writes a single HDF5 file (results.h5) containing datasets for every output you requested (e.g., thrust, SFC, bypass ratio). You can read it with Python (h5py) or MATLAB.
import h5py
import numpy as np
with h5py.File('results.h5', 'r') as f:
bpr = f['BYPASS_RATIO'][:]
sfc = f['SFC'][:]
# Find the point with minimum SFC
opt_idx = np.argmin(sfc)
opt_bpr = bpr[opt_idx]
opt_sfc = sfc[opt_idx]
print(f'Optimal BPR ≈ {opt_bpr:.2f}, SFC ≈ {opt_sfc:.4f}')
The resulting curve of SFC versus bypass ratio typically shows a convex shape; the minimum indicates the best trade‑off for the notional turbofan. In the NPSS documentation example, the optimum occurs near BPR ≈ 9.2.
Trade‑off and limitation
The number of cases grows rapidly with the design space. A full factorial of four variables each at ten levels yields 10 000 simulations, which can exceed desktop memory or license limits. Using a Latin Hypercube or reducing the number of levels keeps the study tractable while still capturing trends.
Because each case runs the NPSS solver, a few non‑convergent runs can corrupt the HDF5 file if failures are not skipped. Always verify the log and, when in doubt, enable SKIP_FAILED_CASES and re‑run the problematic points individually.
Actionable closing
Start by locating the sample script turbofan_parametric.study in your NPSS installation directory. Run it, confirm that results.h5 contains the datasets THRUST, SFC, and BYPASS_RATIO, and then reproduce the SFC curve with a quick Python snippet as shown above. Once you verify that the automated study matches a manual sweep within 0.1 %, adapt the design‑variable block to your own parameters (e.g., compressor pressure ratio, turbine inlet temperature) and begin exploring larger trade‑studies with confidence.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.