Commit Graph

1 Commits

Author SHA1 Message Date
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