Skip to content

Hemodynamic Metrics and Quantities of Interest

Overview

Wall shear stress (WSS) is the tangential frictional force exerted by flowing blood on the vessel wall endothelium. Abnormal WSS patterns are implicated in atherosclerotic plaque formation Malek 1999, intimal hyperplasia Glagov 1988, and aneurysm development Meng 2014. AortaCFD computes the principal hemodynamic indices from simulation results and exports percentile-based quantities of interest (QoIs) for clinical and research analysis.


Nomenclature

Symbol Description Unit
\(\boldsymbol{\tau}_w(t)\) Instantaneous wall shear stress vector Pa
\(T\) Cardiac cycle period s
TAWSS Time-averaged wall shear stress Pa
OSI Oscillatory shear index --
RRT Relative residence time Pa\(^{-1}\)
\(\Delta p\) Pressure drop (inlet to outlet) mmHg

Mathematical Formulation

Time-Averaged Wall Shear Stress (TAWSS)

TAWSS quantifies the time-averaged magnitude of the WSS vector over one cardiac cycle Ku 1985:

\[\text{TAWSS} = \frac{1}{T} \int_0^T \left| \boldsymbol{\tau}_w(t) \right| \, dt\]

where \(T\) is the cardiac period and \(\left| \cdot \right|\) denotes the Euclidean norm of the vector. TAWSS values below 0.4 Pa are associated with atherosclerosis-prone regions of the arterial wall Malek 1999.

Approximation Note

When runtime field averaging provides \(\left\langle \boldsymbol{\tau}_w \right\rangle\) (the mean of the WSS vector) rather than \(\left\langle \left| \boldsymbol{\tau}_w \right| \right\rangle\) (the mean of its magnitude), TAWSS is approximated as the magnitude of the mean vector. This approximation can introduce 5--20% error in regions with oscillatory flow. AortaCFD flags this condition in the output via the tawss_is_approximate field.

Oscillatory Shear Index (OSI)

OSI was introduced by He and Ku He & Ku 1996 to quantify the degree of directional change in the WSS vector during the cardiac cycle:

\[\text{OSI} = \frac{1}{2} \left( 1 - \frac{\displaystyle \left| \frac{1}{T} \int_0^T \boldsymbol{\tau}_w(t) \, dt \right|}{\displaystyle \frac{1}{T} \int_0^T \left| \boldsymbol{\tau}_w(t) \right| \, dt} \right)\]

OSI ranges from 0 (purely unidirectional flow) to 0.5 (fully oscillatory, equal forward and reverse components). Values exceeding 0.3 indicate highly disturbed flow conditions associated with endothelial dysfunction He & Ku 1996.

Relative Residence Time (RRT)

RRT was proposed by Himburg et al. Himburg 2004 to combine the effects of low time-averaged shear and high oscillation into a single metric:

\[\text{RRT} = \frac{1}{(1 - 2 \cdot \text{OSI}) \cdot \text{TAWSS}}\]

Higher RRT values indicate prolonged near-wall residence of blood constituents, promoting atherogenic particle deposition and inflammatory processes Himburg 2004.


Implementation

The hemodynamic post-processor is implemented in src/aortacfd_lib/hemodynamics_postprocessor.py via the HemodynamicsPostProcessor class. It supports two computation modes:

  1. Runtime field averaging -- TAWSS and OSI computed from fieldAverage function objects during the simulation. This is the recommended approach as it avoids storing all time steps.
  2. Post-simulation calculation -- WSS computed via postProcess -func wallShearStress on stored time steps.

Configuration

Hemodynamic computation requires runtime function objects enabled in the configuration:

{
  "hemodynamics": {
    "runtime_functions": {
      "wallShearStress": true,
      "fieldAverage": true,
      "pressureMonitoring": true
    },
    "tawss_settings": {
      "skip_cycles": 2,
      "periodicRestart": true
    }
  }
}

The skip_cycles parameter specifies the number of initial cardiac cycles to discard before averaging begins, allowing the flow to reach a periodic steady state. The minimum simulation duration is therefore \((\text{skip\_cycles} + 1) \times T\).

Standalone Post-Processing

Post-processing can be re-run on any completed simulation without re-executing the solver:

python run_patient.py --postprocess output/BPM120/run_xxx

This reads the merged_config.json from the run directory, recomputes all hemodynamic metrics, and exports updated QoI files.


Quantities of Interest (QoI) Export

Percentile-Based Descriptors

AortaCFD exports percentile-based metrics rather than maximum values. Maximum WSS is highly sensitive to mesh topology artifacts at refinement boundaries and corner cells, and does not converge reliably with mesh refinement Valen-Sendstad 2014. Percentile-based descriptors (p95, p99) provide robust statistical summaries that exhibit convergent behaviour under mesh refinement.

Exported QoIs

QoI Field Unit Description
pressure_drop_mean_mmhg mmHg Cycle-averaged pressure drop (inlet to outlet)
tawss_p99_pa Pa 99th percentile of TAWSS distribution
tawss_p95_pa Pa 95th percentile of TAWSS distribution
wss_p99_pa Pa 99th percentile of peak systolic WSS
wss_p95_pa Pa 95th percentile of peak systolic WSS
osi_mean_masked -- Mean OSI where TAWSS > 0.5 Pa

The OSI masking threshold (TAWSS > 0.5 Pa) follows the approach of Les et al. Les 2010 to exclude regions of near-zero WSS where OSI becomes numerically unreliable due to division by small TAWSS values.

Output Files

  • results/qoi_summary.json -- Structured format with metadata, units, and definitions
  • results/qoi_summary.csv -- Flat format for spreadsheet analysis and cohort comparison

Clinical Interpretation

Wall Shear Stress Thresholds

WSS Range Clinical Significance Reference
< 0.4 Pa Atherosclerosis-prone (low and oscillatory WSS) Malek et al. Malek 1999
1--7 Pa Physiological range for healthy arteries Ku et al. Ku 1985
> 7 Pa Risk of endothelial injury and erosion Dolan et al. Dolan 2013

Pressure Drop

For aortic coarctation (CoA), a resting pressure gradient exceeding 20 mmHg is a clinical threshold for intervention according to the ESC guidelines Erbel 2014. AortaCFD reports the mean pressure drop between the inlet patch and each outlet patch in both Pa and mmHg.

Interpreting OSI

  • OSI < 0.1: Predominantly unidirectional flow (e.g., straight segments)
  • OSI 0.1--0.3: Moderate oscillation (e.g., mild recirculation zones)
  • OSI > 0.3: Highly disturbed flow (e.g., post-stenotic regions, bifurcations)

References

Full bibliography on the References page.

Found an issue or have a suggestion for this page?

Open a GitHub issue