Single-concept demonstrations organized by category. Each example focuses on one core feature and can be run standalone.
# Run any example
python examples/basic/core_infrastructure/solve_mfg_demo.py
python examples/basic/geometry/2d_crowd_motion_fdm.py
# Outputs saved to examples/outputs/basic/New to MFGArchon? Start with tutorials/ for structured learning path.
Core API usage and basic MFG setups:
solve_mfg_demo.py- Basicsolve_mfg()function usagelq_mfg_demo.py- Linear-Quadratic MFG problemcustom_hamiltonian_derivs_demo.py- Custom Hamiltonian derivatives
Domain and geometry examples:
2d_crowd_motion_fdm.py- 2D crowd motion with FDM solversgeometry_first_api_demo.py- Geometry-first API patternamr_geometry_protocol_demo.py- Adaptive mesh refinementdual_geometry_simple_example.py- Dual geometry basicsdual_geometry_multiresolution.py- Multi-resolution grids
Solver method comparisons:
policy_iteration_lq_demo.py- Policy iteration for LQ problemsacceleration_comparison.py- JAX vs NumPy acceleration
Tools and utilities:
hdf5_save_load_demo.py- HDF5 I/O for resultscommon_noise_lq_demo.py- Stochastic MFG with common noisesolver_result_analysis_demo.py- Result analysis toolsutility_demo.py- General utility functions
Recommended order for exploring basic examples:
- Start:
core_infrastructure/lq_mfg_demo.py- Simplest MFG setup - API:
core_infrastructure/solve_mfg_demo.py- Main solver interface - 2D:
geometry/2d_crowd_motion_fdm.py- Multi-dimensional problems - Customize:
core_infrastructure/custom_hamiltonian_derivs_demo.py- Custom Hamiltonians - Performance:
solvers/acceleration_comparison.py- Optimization techniques - I/O:
utilities/hdf5_save_load_demo.py- Save/load results - Advanced:
utilities/common_noise_lq_demo.py- Stochastic MFG
Foundation examples for basic MFG setup and API usage. Start here if you've completed the tutorials.
When to use:
- Learning the
solve_mfg()API - Understanding Linear-Quadratic problems
- Implementing custom Hamiltonians
Spatial domain configuration and multi-dimensional problems.
When to use:
- 2D/3D problems
- Adaptive mesh refinement
- Multi-resolution grids
- Non-standard geometries
Different numerical methods and acceleration techniques.
When to use:
- Comparing solver performance
- Enabling GPU acceleration
- Policy iteration methods
Tools for analysis, I/O, and post-processing.
When to use:
- Saving/loading large results
- Stochastic MFG problems
- Result analysis and metrics
Core (always available):
pip install numpy scipy matplotlibOptional (for specific examples):
pip install jax jaxlib # Acceleration
pip install h5py # HDF5 I/O
pip install plotly # Interactive plotsAll examples save to examples/outputs/basic/:
- PNG plots with visualizations
- Convergence data (CSV)
- Structured logs
Note: Output directory is gitignored. Use examples/outputs/reference/ for tracked reference outputs.
- ⭐ Easiest: Basic API usage, good starting point
- ⭐⭐ Moderate: One new concept, requires tutorials completed
- ⭐⭐⭐ Advanced: Multiple concepts, see
advanced/directory
When adding basic examples:
- One concept per example - Keep focused
- Under 300 lines - Split complex examples into basic + advanced
- Comprehensive docstrings - Include theory references
- Save to correct category - core_infrastructure, geometry, solvers, or utilities
- Update this README - Add entry in appropriate section
See CLAUDE.md for full coding standards.
Last Updated: 2025-11-11 Total Examples: 14 files across 4 categories Coverage: Core API, 2D geometry, solvers, utilities