pyCALC-RANS


pyCALC-RANS with EARSM which was improved using Machine Learning (Neural Network)

pyCALC-RANS has now been extended with PINN (Physical-Informed-Neural-Network) for improving the k-omega turbulence model

pyCALC-RANS is a 2D finite volume code. It is fully vectorized (i.e. no for loops). The solution procedure is based on the pressure-correction method (SIMPLEC). Two methods for discretizing the convection terms are available, second-order central differencing and a hybrid scheme of first-order upwind and second-order central differencing. The discretized equations are solved with Pythons sparse matrix solvers. The standard k-omega model is implented.

pyCALC-RANS has now been extended with EARSM (Explicit Algebraic Reynolds Stress turbulence Model) which has been improved using Neural Network. To run the Neural Network code and the EARSM, please read the README file.

  • Download the code here (18 MB, 2 July 2025)
  • Flowchart
  • Download the pyCALC-RANS report. In Section 7.3 you find instructions on how to run the code.
  • The paper on Machine Learing
    • L. Davidson
      "Using Neural Network for Improving an Explicit Algebraic Stress Model in 2D Flow", J. Tyacke and N. R. Vadlamani (eds.), Proceedings of the Cambridge Unsteady Flow Symposium 2024, pp. 37--53, 2025, https://doi.org/10.1007/978-3-031-69035-8_2
      View PDF file
      Proceedings

    Download the 3D DNS/LES/DES pyCALC-LES code here








Department of Mechanics and Maritime Sciences
Division of Fluid Dynamice