Poshax3

Poshax3 is the latest installment of the Post-SHock relAXation solver first developed by Rowan Gollan. The code solves for the spatial variation in flow properties behind a strong shock assuming inviscid and one-dimensional flow. Source terms due to chemical reactions, thermal energy exchange and radiative cooling are able to be considered. A key feature of Poshax3 is the ability to treat these source terms in a loosely or fully coupled manner.

Typical build and run procedure

Poshax3 is built from source into an installation directory $HOME/e3bin/. A typical build procedure (using the default TARGET=for_gnu) might be:

$ cd $HOME/cfcfd3/app/poshax3/build
$ make install

Poshax3 calculations tend not to be very processor intensive, and therefore a parallelised version has not been developed. To see an example simulation, do:

$ cd $HOME/cfcfd3/examples/poshax3/air-Mach-12.3
$ ./run.sh

This shell script invokes the poshax3 calculation via:

$ poshax3.x air-Mach-12.3.cfg

where air-Mach-12.3.cfg is the configuration script controlling the calculation.

Configuration script

The parameters able to be set in a configuration script are listed in app/poshax3/source/poshax_spec.cfg. Note the parameters must be located in their respective [sections]. A brief description of each is given here.

[controls]
source_term_coupling = string(default=loose)
dx                   = float(default=1.0e-9)
adaptive_dx          = boolean(default=true)
final_x              = float(default=1.0e-3)
plot_dx              = float(default=final_x*1.0e-3)
dx_scale             = float(default=1.0)
output_file          = float(default=poshax_output.data)
apply_udpedx         = boolean(default=false)

[models]
gas_model_file       = string(default=None)
reaction_file        = string(default=None)
energy_exchange_file = string(default=None)
radiation_file       = string(default=None)

[radiation]
rad_dx               = float(default=0.0)
TS_dx                = float(default=0.0)
path_length          = float(default=0.0)
fwhm_Ang             = float(default=0.0)
write_rad_level_pops = boolean(default=false)
write_rad_emissions  = boolean(default=false)
write_spectra        = boolean(default=false)
lambda_min           = float_list(default=None)
lambda_max           = float_list(default=None)
dx_smear             = float_list(default=None)

[initial-conditions]
rho_inf      = float(default=None)
p_inf        = float(default=None)
T_inf        = float(default=None)
u_inf        = float(default=None)
M_inf        = float(default=None)
mass_f       = float_list(default=None)
mole_f       = float_list(default=None)