Skip to content

Latest commit

 

History

History
263 lines (191 loc) · 10.5 KB

File metadata and controls

263 lines (191 loc) · 10.5 KB

CFD Framework Documentation

Welcome to the CFD Framework documentation. This page provides a comprehensive guide to all available documentation.

Quick Links

  • README - Project overview and quick start
  • Building - Build instructions for all platforms
  • Examples - Example programs and usage patterns
  • API Reference - Complete API documentation
  • Solvers - Numerical methods and performance
  • Architecture - Design principles and patterns

Documentation Structure

Getting Started

Document Description Audience
README Quick start, installation, basic usage All users
Building Detailed build instructions, platform-specific notes Developers
Examples Example programs with code walkthrough All users

Core Documentation

Document Description Audience
API Reference Complete function and type reference Developers
Solvers Numerical methods, algorithms, performance Researchers, advanced users
Architecture Design principles, patterns, best practices Contributors

Specialized Topics

Document Description Audience
Validation Benchmark results and validation Researchers
SIMD Optimization AVX2/NEON implementation details Performance engineers

Documentation by Role

For New Users

  1. Start with README for project overview
  2. Follow building instructions
  3. Run minimal example
  4. Explore other examples

Estimated time: 30 minutes to first simulation

For Application Developers

  1. Read API Reference for function documentation
  2. Study Examples for usage patterns
  3. Review Solvers for solver selection
  4. Check Error Handling patterns

Key resources:

For Performance Engineers

  1. Read Solvers Performance
  2. Study SIMD Optimization Analysis
  3. Review Backend Performance
  4. Run performance_comparison

Key resources:

For Researchers

  1. Study Numerical Methods
  2. Review Validation Results
  3. Check Lid-Driven Cavity benchmark
  4. Read Linear Solvers

Key resources:

For Contributors

  1. Read Architecture for design principles
  2. Study Backend Abstraction
  3. Review Cross-Backend Checklist
  4. Follow File Organization

Key resources:

Documentation by Topic

Numerical Methods

Performance Optimization

Software Design

Validation & Testing

API Quick Reference

Core Functions

// Initialization
cfd_status_t cfd_init(void);
void cfd_cleanup(void);

// Simulation
simulation_data* init_simulation(size_t nx, size_t ny, size_t nz,
                                  double xmin, double xmax,
                                  double ymin, double ymax,
                                  double zmin, double zmax);
simulation_data* init_simulation_with_solver(size_t nx, size_t ny, size_t nz,
                                              double xmin, double xmax,
                                              double ymin, double ymax,
                                              double zmin, double zmax,
                                              const char* solver_type);
cfd_status_t run_simulation_step(simulation_data* sim_data);
cfd_status_t run_simulation_solve(simulation_data* sim_data);
void free_simulation(simulation_data* sim_data);

// Output
void simulation_write_outputs(simulation_data* sim_data, int step);
void simulation_register_output(simulation_data* sim_data, output_field_type field_type,
                                int interval, const char* prefix);

// Error handling
const char* cfd_get_last_error(void);
const char* cfd_get_error_string(cfd_status_t status);

Full reference: API Reference

Common Tasks

How do I...

...build the library?

...run a simple simulation?

...choose the right solver?

...handle errors?

...optimize performance?

...add a new solver?

...validate my results?

External Resources

Papers & References

  • Chorin, A.J. (1968) - Projection method foundation
  • Ghia et al. (1982) - Lid-driven cavity benchmark
  • Ferziger & Peric - CFD methods textbook
  • Saad, Y. - Iterative linear solvers

Full bibliography: Solvers - References

Tools

Contributing

See Architecture Guide for:

  • Design principles to follow
  • Code organization patterns
  • Testing conventions
  • Cross-backend implementation checklist

Version Information

Current documentation corresponds to:

  • Version: 0.1.x
  • Status: Pre-release (approaching v1.0)
  • Last Updated: 2025-02-07

Getting Help

Document Index

Main Documentation

  1. README.md - Project overview
  2. Building.md - Build instructions
  3. Examples.md - Example programs
  4. API Reference.md - API documentation
  5. Solvers.md - Numerical methods
  6. Architecture.md - Design principles

Specialized Documentation

  1. Validation/ - Benchmark validation
  2. SIMD Optimization Analysis
  3. AVX2 Alignment Bug Fix

Development Documentation

  1. ROADMAP.md - Development roadmap
  2. CLAUDE.md - Development guidelines
  3. .claude/commands/ - Development tools

Navigation: