Developer corner

Here is a list of all modules:

[detail level 123456]

▼Core engine | Convinience core tools used throughout the code (date type, MPI and openMP routines, etc.) |

►Data structures | Definition of different data structures of the code |

►Miscellaneous | Miscellaneous core tools |

►MPI | MPI routines |

OpenMP | OpenMP routines |

►Pre-processing tools | Tools to initialize fields |

►System | System related routines |

▼Discretization of PDE | Discretization methods to solve partial differential equations (PDE) |

►Explicit discretization | Routines for discretizing explicit terms |

►Field level operators | High-level functions for interpolating/extrapolating/differenciating whole fields |

►Immersed Boundaries | Implement boundaries of arbitrary shapes in PDEs |

►Implicit discretization | Routines that fill the matrix and the right-hand side of linear systems associated to the discretization of PDE |

Lagrangian particles | Lagrangian particles transported by the flow |

►Multiphase methods | Interface advection equation resolution methods (Volume of Fluid, Level Set, etc.) |

►Node level schemes | Node level (cell, face, edge, vertex, point) discrete schemes |

►Partial Differential Equations | First level routines to discretize PDE term by term |

Time discretization | Routines relative to time discretization of PDEs |

Finite Volume fluxes | Finite Volume fluxes definition |

Advection | |

Geometry | |

Reinitialization | |

▼Geometry | Geometry description and manipulation (grid and 2D/3D objects) |

►Computational geometry | Routines relative to the computational geometry |

Domain | Domain and subdomains variables |

►Grid | Grid coordinates, spatial step, and various grid indices |

Immersed Sudomain and Boundary Metrics | Algorithms to create immersed subdomain and boundary metrics |

▼I/O | Input / Output |

Checkpoint / Restart | Perform checkpoint and restart of Notus |

Debug I/O | I/O routines for debugging purpose |

►Grids and fields I/O | Procedures to read and write grids and fields |

►JSON | Routines to manipulate JSON files |

►Lexer / Parser | Multi-purpose lexer/parser |

Probes | Define probes to plot fields on points or lines along time |

►System | System related I/O |

▼Modeling | Routines relative to the modeling of a physical problem to solve |

Energy equation | It prepares and solves the Energy equation |

Generic transport equations | It discretizes and solves the generic transport (advection/diffusion) equation |

Compute properties of materials | Compute local properties of materials (density, viscosity, etc.) from geometry, equation of state and reference properties of materials |

Navier-Stokes equations | Prepare and solve the Navier-Stokes equations |

Phase advection equation | Routines relative to the phase advection equations (multiphase flows) |

Poisson equation | It discretizes and solves the Poisson equation |

Species transport equations | It prepares and solves the species transport (or advection/diffusion) equations |

►Turbulence models | Turbulence models and methods |

▼Post processing | Computation of derived quantities, error estimates, etc |

Error tools | Routines to compute errors ( \(L^p\) norms) |

Grid Convergence | Define and manage grid convergence analysis |

Integration tools | Integration tools over the grid |

Diagnostic quantities | Post-treatment routines to compute physical quantities (Nusselt number, Q criterion, kinetic energy, etc.) |

Reference solutions | Definition of the reference solutions |

Statistics | Post-treatment routines to compute statistical quantities of turbulent fields (Mean time fields, fluctuations, etc.) |

Validation | Tools to validate Notus and compute grid convergence thanks to `notus_grid_convergence.py` script |

▼Linear system solvers | Linear system solvers and interface to third-party solvers |

►HYPRE linear system interface | Massively parallel HYPRE library interface routines |

LIS linear system interface | Parallel LIS library interface routines |

MUMPS linear system interface | Parallel MUMPS library interface routines |

▼User routines | Routines to adapt Notus to users specificities |

User fields | Define custom fields |

User variables | Define custom variables |

▼Notus | Notus main program and User Interface |

Read Command Line | Routines that read Notus command line |

►User interface | User interface |

▼Verification and Validation test cases | Verification and validation documentation and process |

V&V test cases processing | Procedures that will orient the program towards the right test case |

►Validation test cases | Validation test cases descriptions and results |

►Verification test cases | Verification test cases descriptions and results |