HPC DNS Post-Processing Reference Manual
Welcome to the automated documentation suite for the high-order compact difference post-processing project! This manual includes reference documentation for both the compiled Fortran core and the Python binds/algebraic generators.
Architecture Overview
This post-processor compiles algebraic equations defined in a custom DSL (Domain Specific Language), computes high-order derivatives (1st & 2nd spatial derivatives) using tridiagonal finite differences, and leverages parallel MPI-IO blocks. Below is the primary compiler pipeline:
graph TD
A[code_gen.py / DSL Input] -->|AST Compiler Pipeline| B[post.py / Code Gen]
B -->|Generates budget kernels| C[m_calculate.f90]
C -->|LU Tridiagonal Solvers| D[Compact.f90]
C -->|Array allocations| E[m_arrays.f90]
F[post.f90 / Main Driver] -->|Orchestrates calculations| C
F -->|Parallelizes domain| G[m_openmpi.f90]
F -->|Loads run configuration| H[m_parameters.f90]
I[pycompact.py / Legacy Bindings - Archived] -.->|Transitional| C
Navigation Guide
- Python API Reference: Automatically parsed API and signatures for the DSL parsers, topological compiler stages, and code generation routines.
- Fortran Core Reference: Standard documentation compiled by
FORDcovering tridiagonal compact solvers, math kernels, and MPI bindings. - Archived Python Bindings: Legacy bindings wrapping calculation kernels.
Generated automatically using industry-standard tools: FORD, MkDocs, and Material theme.