mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-10 04:50:49 +00:00
7bba4e7174
- Comprehensive benchmark for 10-node quadratic tetrahedron (Tet10)
- Tests 3 strategies for accessing individual basis functions/derivatives
- Strategy 1: Tuple indexing with runtime index (N_all[i])
- Strategy 2: Val dispatch with compile-time index (::Val{I})
- Strategy 3: @generated function computing only requested function
- Tet10 basis functions: 4 vertex nodes + 6 edge midpoint nodes
- Derivatives: ∇N_i = (∂N_i/∂u, ∂N_i/∂v, ∂N_i/∂w) as Vec{3}
- Use cases: stiffness assembly (derivatives), mass assembly (functions), nodal assembly (single access)
- Node numbering: vertices 1-4, edges 5-10 (5: 1-2, 6: 2-3, 7: 3-1, 8: 1-4, 9: 2-4, 10: 3-4)
- Focus: zero allocation, type stability, inlineability for hot paths
- 504 lines benchmarking realistic 3D element access patterns