Compressible Flow Subroutine Library
Programming Reference Manual
Version 1.0 DD-00008-010

Compressible Flow Subroutine Library
Reference Manual (C/C++)
DD-00008-010

Jan Adelsbach

January 26, 2024
Contents
1 About this Guide
1.1 Legal Information
1.2 Feedback and Contact
1.3 Introduction
1.4 Audience for This Guide
1.5 How to Use This Guide
1.6 Conventions Used in This Guide
2 Overview
2.1 Introduction
2.2 Performance Characteristics
2.3 Error Behavior
3 Function Reference
3.1 System functions
3.1.1 Introduction
3.1.2 arsyver - Get version information
3.1.3 arsyerr - Retrieve and reset error code
3.2 Characteristic Mach Number
3.2.1 Introduction
3.2.2 armcmm - Compute given normal mach number, M
3.2.3 armcms - Compute given characteristic mach number,   *
M
3.3 Hugoniot compression
3.3.1 Introduction
3.3.2 arshud - Compute given density factor ρ2/ρ1
3.3.3 arshup - Compute given density factor p2/p1
3.4 Critical mach number
3.4.1 armcrm - Critical pressure coefficient given Mcrit
3.4.2 armcrc - Critical mach number given Cp
3.4.3 armcrpg - Critical mach number given Cp0   using Prandtl-Glauert pressure approximation
3.4.4 armcrla - Critical mach number given Cp0   using Laitone pressure approximation
3.4.5 armcrkt - Critical mach number given Cp0   using Karman-Tsien pressure approximation
3.5 Isentropic flow
3.5.1 Introduction
3.5.2 arfism - Isentropic relations given M
3.5.3 arfisp - Isentropic relations given p2/p1
3.5.4 arfisd - Isentropic relations given ρ2/ρ1
3.5.5 arfist - Isentropic relations given T2/T1
3.5.6 arfisa - Isentropic relations given    *
A/A
3.6 Fanno flow
3.6.1 Introduction
3.6.2 arffam - Fanno relations given M
3.6.3 arffap - Fanno relations given    *
p/p
3.6.4 arffad - Fanno relations given    *
ρ/ρ
3.6.5 arffat - Fanno relations given     *
T/T
3.6.6 arffav - Fanno relations given     *
V /V
3.6.7 arffap0 - Fanno relations given p01/p02
3.6.8 arffaf - Fanno relations given (4fL)/D
3.6.9 arffads - Fanno relations given     *
(s-s )/cp
3.7 Rayleigh Flow
3.7.1 Introduction
3.7.2 arfram - Rayleigh relations given M
3.7.3 arfrap - Rayleigh relations given   *
p/p
3.7.4 arfrad - Rayleigh relations given   *
ρ/ρ
3.7.5 arfrat - Rayleigh relations given    *
T/T
3.7.6 arfrav - Rayleigh relations given    *
V/V
3.7.7 arfrap0 - Rayleigh relations given p02/p01
3.7.8 arfrat0 - Rayleigh relations given T02/T01
3.7.9 arfrads - Rayleigh relations given     *
(s-s )/cp
3.8 Isothermal flow through long duct
3.8.1 Introduction
3.8.2 arfitm - Isothermal relations given M
3.8.3 arfitv - Isothermal relations given     *
V /V
3.8.4 arfits - Isothermal relations given  *    *    *
p /p,r /r,M /M
3.8.5 arfitp0 - Isothermal relations given p01/p02
3.8.6 arfitt0 - Isothermal relations given T02/T01
3.8.7 arfitf - Isothermal relations given (4fL)/D
3.9 DeLaval nozzle flow
3.9.1 Introduction
3.9.2 arfqism - DeLaval isentropic flow relations given M
3.9.3 arfqisp - DeLaval isentropic flow relations given p/p1
3.9.4 arfqisd - DeLaval isentropic flow relations given ρ/ρ1
3.9.5 arfqist - DeLaval isentropic flow relations given T/T1
3.9.6 arfqisa - DeLaval isentropic flow relations given    *
A/A
3.10 Normal Shock Waves
3.10.1 Introduction
3.10.2 arsnsm1 - Normal shock relations given M1n
3.10.3 arsnsm2 - Normal shock relations given M2n
3.10.4 arsnsp - Normal shock relations given p2/p1
3.10.5 arsnsd - Normal shock relations given ρ2/ρ1
3.10.6 arsnst - Normal shock relations given T2/T1
3.10.7 arsnsp0 - Normal shock relations given p02/p01
3.11 Oblique Shock Relations
3.11.1 Introduction
3.11.2 arsolmw - Oblique shock relations given M1   and δ
3.11.3 arsolpw - Oblique shock relations given p2/p1   and δ
3.11.4 arsoldw - Oblique shock relations given ρ2/ρ1   and δ
3.11.5 arsoltw - Oblique shock relations given T2/T1   and δ
3.11.6 arsolp0w - Oblique shock relations given p02/p01   and δ
3.11.7 arsolws - Oblique shock relations given θ and δ
3.11.8 arsolms - Oblique shock relations given M1   and θ
3.12 Oblique Shock Limits
3.12.1 Introduction
3.12.2 arsolld - Compute maximum wave and deflection surface angle before shock detachment
3.12.3 arsolls - Compute maximum wave and deflection surface angle that wil result in sonic downstream flow
3.13 Prandtl-Meyer function
3.13.1 Introduction
3.13.2 arspmm - Prandtl-Meyer properties given M
3.13.3 arspmv - Prandtl-Meyer properties given v(M)
3.13.4 arspmt - Prandtl-Meyer properties given θ
3.13.5 arspmfm - Prandtl-Meyer angle from M
3.13.6 arspmfv - Mach number from v(M)
3.14 Expansion Fan (Rarefaction Wave)
3.14.1 Introduction
3.14.2 arsefm - Expansion fan properties given M1   and M2
3.14.3 arsefp - Expansion fan properties given p2/p1   and either M1   or M2
3.14.4 arsefd - Expansion fan properties given ρ2/ρ1   and either M1   or M2
3.14.5 arseft - Expansion fan properties given T2/T1   and either M1   or M2
3.15 (Rayleigh-)Pitot Tube Relations
3.15.1 Introduction
3.15.2 arsptm - (Rayleigh-)Pitot relations given M
3.15.3 arsptp - (Rayleigh-)Pitot relations given p0/p or p02/p1
3.16 Reflected Shock Waves
3.16.1 Introduction
3.16.2 arsrsms - Reflected shock wave mach number given M
3.16.3 arsrsmr - Incident shock wave mach number given   ′
M
3.17 Quasi-2D Conical Flow
3.17.1 Introduction
3.17.2 arscomw - Conical flow given M and δ
3.17.3 arscoms - Conical flow given M and θ
3.18 Moving Normal Shock Waves
3.19 Moving Normal Shock Waves (Thermodynamic Properties)
3.19.1 Introduction
3.19.2 arsmnsm - Moving shock relations given M
3.19.3 arsmnsp - Moving shock relations given p2/p1
3.19.4 arsmnsd - Moving shock relations given ρ2/ρ1
3.19.5 arsmnst - Moving shock relations given T2/T1
3.20 Moving Normal Shock Waves (Dynamic Properties)
3.20.1 Introduction
3.20.2 arsmnvp - Dynamic moving shock relations given p2/p1
3.20.3 arsmnvw - Dynamic moving shock relations given V
3.20.4 arsmnvup - Dynamic moving shock relations given Up
3.21 Karman-Tsien Pressure Correction Coefficient
3.21.1 Introduction
3.21.2 arckarcp - Karman-Tsien pressure correction given M and Cp0
3.21.3 arckarci - Karman-Tsien pressure correction given M and Cp
3.22 Laitone Pressure Correction Coefficient
3.22.1 Introduction
3.22.2 arclaicp - Laitone pressure correction given M and Cp0
3.22.3 arclaici - Laitone pressure correction given M and Cp
3.23 Prandtl-Glauert Pressure Correction Coefficient
3.23.1 Introduction
3.23.2 arcpglcp - Prandtl-Glauert pressure correction given M and Cp0
3.23.3 arcpglci - Prandtl-Glauert pressure correction given M and Cp

[next]