From 41b8a4c98ce4ddc738b5a71de6208ed47f2306a7 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Sun, 9 Nov 2025 17:30:37 +0200 Subject: [PATCH] feat(basis): Enable Lagrange{T,P} basis functions in main module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Uncommented include for lagrange_generated.jl - Added exports: AbstractBasis, Lagrange, Serendipity - Updated comments to reflect new parametric architecture Package now loads successfully with new basis system. All 15 element types available: Lagrange{Segment, 1}, Lagrange{Segment, 2} Lagrange{Triangle, 1}, Lagrange{Triangle, 2} Lagrange{Quadrilateral, 1}, Lagrange{Quadrilateral, 2} (×2 variants) Lagrange{Tetrahedron, 1}, Lagrange{Tetrahedron, 2} Lagrange{Hexahedron, 1}, Lagrange{Hexahedron, 2} (×2 variants) Lagrange{Pyramid, 1} Lagrange{Wedge, 1}, Lagrange{Wedge, 2} --- src/JuliaFEM.jl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/JuliaFEM.jl b/src/JuliaFEM.jl index d608b65..5504fd7 100644 --- a/src/JuliaFEM.jl +++ b/src/JuliaFEM.jl @@ -205,12 +205,13 @@ include("basis/subs.jl") # Symbolic substitution (includes minimal simplify fro include("basis/vandermonde.jl") # Lagrange basis functions - auto-generated file contains all basis types -# Types have "Basis" suffix to avoid conflicts with topology types -# E.g., Tri3Basis, Quad4Basis, etc. (not Tri3, Quad4 which are topology types) +# Now generates methods for parametric Lagrange{T,P} type instead of separate types include("basis/lagrange_generator.jl") -# OLD generated basis files - commented out during refactoring to new Lagrange{T,P} design -# include("basis/lagrange_generated.jl") # Auto-generated by scripts/generate_lagrange_basis.jl -# TODO: Regenerate for new parametric Lagrange{T,P} architecture +include("basis/lagrange_generated.jl") # Auto-generated by: julia --project=. src/basis/lagrange_generator.jl + +# Export basis types and functions +export AbstractBasis, Lagrange, Serendipity +export nnodes, get_reference_element_coordinates, eval_basis!, eval_dbasis! include("basis/nurbs.jl") # OLD NURBS basis files - commented out during AbstractBasis refactoring