incomp-flame-post/docs/index.md

1.5 KiB

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 / Bindings] -->|Wraps CPU calculations| C

Navigation Guide

  • Python API Reference: Automatically parsed API and signatures for the DSL parsers, topological compiler stages, and Python wrappers.
  • Fortran Core Reference: Standard documentation compiled by FORD covering tridiagonal compact solvers, math kernels, and MPI bindings.

Generated automatically using industry-standard tools: FORD, MkDocs, and Material theme.