30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# 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:
|
|
|
|
```mermaid
|
|
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](python/code_gen.md)**: Automatically parsed API and signatures for the DSL parsers, topological compiler stages, and Python wrappers.
|
|
- **[Fortran Core Reference](fortran.md)**: 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.*
|