Code Monkey home page Code Monkey logo

verification_mms_tools's Introduction

Verification MMS Tools: FreeFlow_Euler/NS/RANS-SA

This branch provides tools for the verification of Euler/NS/RANS-SA solvers via the method of manufactured solutions (MMS).


-> Please Cite us upon utilization <-

The reference describing the test cases is: https://doi.org/10.1016/j.ast.2018.07.006

"A comprehensive high-order solver verification methodology for free fluid flows"

Farshad Navah ([email protected]) ; Siva Nadarajah

McGill University


Description of cases:

  • MS-1: Free subsonic inviscid flow on Cartesian domain
  • MS-2: Free supersonic inviscid flow on Curved domain
  • MS-3: Free laminar flow on Cartesian domain
  • MS-4: Free turbulent flow with RANS and the original Spalart-Allmaras turbulence model¹ on Cartesian domain / The same as MS-1 in the "FreeFlow_RANS-SA" branch
  • MS-5: Free turbulent flow with RANS and the negative Spalart-Allmaras turbulence model¹ on Cartesian domain / The same as MS-2 in the "FreeFlow_RANS-SA" branch

¹Allmaras, S. R., Johnson, F. T., Spalart, P. R., "Modifications and Clarifications for the Implementation of the Spalart-Allmaras Turbulence Model". ICCFD7-1902.

Description of files:

  • IPython3 notebook: allows to generate the manufactured solution fields as well as the forcing functions for each of the cases. For the above MSs, the resulting expressions are already injected in the .c file.

  • C file: provides a structure for the implementation of the verification methodology of MMS in any (including high-order) CFD code. One call to the routine with proper identification tags for a given solution variable and one of its fields (U, dUdx, dUdy, etc. or FFU (forcing function of x-momentum)) allows to initiate a series of recursive calls to the same routine (and its sub-routines) until all the terms of the demanded field are computed and the answer is reported back to the calling instance. This allows for a facilitated and point-wise application of the verification methodology to the solver. The calls are necessary for balancing the residuals, computing the boundary conditions and initializing the solution only. Furthermore, the structure of the routines is designed to allow an optimal debugging experience. Please read the comment section in the "MS_qnt_2D" routine for more details.

verification_mms_tools's People

Contributors

fanav avatar

Stargazers

Will Jordan avatar  avatar  avatar Taher Chegini avatar  avatar Tristan Montoya avatar Aditya avatar

Watchers

 avatar  avatar  avatar

Forkers

weich97

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.