Shock code current version – updated in May 2022

Version Access Note
Shock 1.1
rev 122
(may 2022)
  • update of the formation enthalpies of all species with precise references
  • complete reorganization and update of the chemical network with the inclusion of ~1500 additional reactions. Verification of the completness of the network. Precise references are given for all reactions
  • implementation of a "-1" type in the chemical network to offer the possibility to disregard a reaction or a set of reactions
  • complete revision of the algorithm used for the integration of C* and CJ type shocks. The revision includes improvements and simplifications of the perturbation algorithm, possible acceleration of the ionized fluid in the subsonic regime, identification of immediate fluid recoupling, higher precision of the stable trajectory, and modification of the algorithm used to cross the downstream sonic point
  • implementation of proton exchanges of H2 with H3+, H3O+, and HCO+
  • apodisation of the Kaufmann and Neufeld cooling to force the cooling to drop at low temperature
  • correction of the derivative of the populations of H2 to include the detailed treatment of photodissociation
  • correction of the initialization of the populations of H2 in the static run
  • modification of the outputs (HDF5 files, mhd_info.out, and energetics.out) to include all parameters, correct the units, save more meaningful quantities, and add important information on the run (final shock type, iteration number, duration of the run, ...)
  • implementation of a new value for the "F_W_ASCII" flag (F_W_ASCII=2) to save the intermediary trajectories of C* and CJ type shocks
  • force the initial column densities of H2 and CO to be read in the file if the run is not a static run
  • switch from python 2.7 to python 3.6
  • allow the compatibility of the HDF5 output files with the new analysis tools, IDAT and the chemistry analyser
  • update and development of the python scripts provided to make easy first plots of the shock results
Citation: If you publish results produced by the Paris-Durham Shock code, we would appreciate if you could mention it in your publications, in order for us to keep track of usage statistics for the code. A typical sentence could be:
Shock models published in this paper have been produced with the Paris-Durham shock code (Flower & Pineau des Forêts 2003, Godard et al. 2019,

Part of the output files of the Paris-Durham Shock code are in HDF5 format and can be read with the dedicated tools: IDAT and Chemistry Analyser included in the source code package.



Archive versions – updated in January 2019

The following versions of the Paris-Durham shock code are not maintained anymore. In particular the output HDF5 files they produce can only be read with outdated versions of the Extractor and Chemistry analyser tools. Note that the current version of the shock code includes all the physics of the old versions.

Version Access Note
Shock 1.1
rev 89
(January 2019)
  • computation of C* and CJ stationary shocks
  • change grain treatments – adsorption / erosion widths
  • add thermal desorption mechanisms
  • update chemical network
  • add photoelectric effect for grain charge
  • update photoreaction rates with those given by Heays et al. (2017)
  • update the computation of secondary photon processes
  • add option to set up an external grid of radiation field
  • include radiation field spectrum and radiative transfer
  • integrate photoreaction using cross sections
  • include dust absorption properties and heat capacities
  • compute the grain temperature through thermal balance
  • add radiative pumping of H2 and CO electronic lines
  • compute H2 and CO self-shielding using the FGK approximation
  • change the way of computing H2 heating or cooling
  • modification of dvode for absolute error control on log variables
  • possibility of sorting reactions when computing the derivatives
  • possibility of enforcing elements conserv for unbalanced network
  • add individual species velocities for S and SH
  • introduce an energy criterium to compute the shock size
  • change input / output file – plug ISM services
Shock 1.0
rev 90
(January 2019)
  • add variables NH2, NH for self-shielding
  • add individual species velocities for CH
  • update treatment of photo-reactions
  • Include analytical self-shielding
  • Allow the interface with dumses
  • Add python fitting routines: in fit/*py

Requirements for the archive versions

  • Fortran 90 compiler
  • (optional) lapack and blas libraries
  • (optional) Python 2.7 with numpy, h5py and PyQt4