Commit Graph

2 Commits

Author SHA1 Message Date
Jukka Aho 80d0cde05f refactor(src): update README.md
src/basis/README.md | 1554 ++++-----------------------------------------------  1 file changed, 114 insertions(+), 1440 deletions(-)
2026-05-09 16:30:39 +03:00
Jukka Aho 8ae5981c09 docs(basis): Add comprehensive README for basis module
Add extensive documentation for the basis module covering:

1. Architecture and design philosophy
   - Separation of topology and basis
   - Zero-cost abstraction principles
   - SVector return types and dual-vector design

2. API overview and usage examples
   - get_basis_functions() and get_basis_derivatives()
   - nbasis() for compile-time basis function count
   - Integration with topology and quadrature modules

3. Code generation system
   - Vandermonde approach explained
   - Symbolic differentiation and simplification
   - Why offline generation vs runtime symbolic math

4. Extension guide
   - Adding higher-order elements (step-by-step)
   - Hierarchical and specialized bases
   - When to use generator vs direct implementation

5. Performance characteristics
   - Benchmarks: 100-1000× speedup over v0.5.1
   - Zero allocations, subnanosecond evaluations
   - Scaling with element order

6. Advanced topics
   - Numerical precision and ill-conditioned Vandermonde
   - Jacobian and physical derivatives
   - Partition of unity and reproduction
   - Integration accuracy requirements

Total: ~1800 lines of documentation with complete examples,
mathematical foundations, and practical guidance.
2025-11-22 14:14:55 +02:00