mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-26 11:51:31 +00:00
refactor: Comment out old basis and problem files incompatible with new API
Commented out files using AbstractBasis{dim}:
- basis/lagrange_generated.jl (449 lines, uses AbstractBasis{1/2/3})
- basis/nurbs_segment.jl (NSeg <: AbstractBasis{1})
- basis/nurbs_surface.jl (NSurf <: AbstractBasis{2})
- basis/nurbs_solid.jl (NSolid <: AbstractBasis{3})
- basis/math.jl (jacobian, grad functions use AbstractBasis{dim})
- elements/elements_lagrange.jl (Poi1 <: AbstractBasis{0})
- elements/integrate.jl (references NSeg, Poi1, old basis types)
Commented out problem files using old Element API:
- problems_heat.jl (uses Seg2, Tri3, Quad4, element.sfields)
- problems_truss.jl (uses Seg2, Poi1, element.sfields)
- problems_elasticity.jl (uses old element types, element.sfields)
- problems_dirichlet.jl (uses old API)
- problems_mortar.jl (uses old API)
- problems_mortar_3d.jl (uses old API)
Status after this commit:
- Package loads successfully ✓
- ~70% of functionality removed (intentional)
- All 43 tests fail (expected - old API incompatible)
- Next: Regenerate basis functions for Lagrange{T,P}
- Then: Rewrite math.jl, integrate.jl, rebuild problems
Rationale: Clean break from old Dict-based, type-unstable architecture.
New GPU-ready Element requires complete rebuild of dependent code.
This commit is contained in:
+28
-22
@@ -208,13 +208,19 @@ include("basis/vandermonde.jl")
|
||||
# Types have "Basis" suffix to avoid conflicts with topology types
|
||||
# E.g., Tri3Basis, Quad4Basis, etc. (not Tri3, Quad4 which are topology types)
|
||||
include("basis/lagrange_generator.jl")
|
||||
include("basis/lagrange_generated.jl") # Auto-generated by scripts/generate_lagrange_basis.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/nurbs.jl")
|
||||
include("basis/nurbs_segment.jl")
|
||||
include("basis/nurbs_surface.jl")
|
||||
include("basis/nurbs_solid.jl")
|
||||
include("basis/math.jl")
|
||||
# OLD NURBS basis files - commented out during AbstractBasis refactoring
|
||||
# These use AbstractBasis{dim} syntax which conflicts with new non-parametric AbstractBasis
|
||||
# include("basis/nurbs_segment.jl") # NSeg <: AbstractBasis{1}
|
||||
# include("basis/nurbs_surface.jl") # NSurf <: AbstractBasis{2}
|
||||
# include("basis/nurbs_solid.jl") # NSolid <: AbstractBasis{3}
|
||||
# TODO: Rewrite for new AbstractBasis (non-parametric)
|
||||
# include("basis/math.jl") # Uses AbstractBasis{dim} throughout (jacobian, grad, interpolate, etc.)
|
||||
# TODO: Rewrite math functions for new AbstractBasis
|
||||
|
||||
# Consolidate FEMBase.jl into src/ (Phase 1 continued)
|
||||
# Order matters: fields → types → sparse → elements → integrate → problems → assembly
|
||||
@@ -227,8 +233,8 @@ include("fembase_compat.jl")
|
||||
|
||||
include("sparse/sparse.jl") # SparseMatrixCOO, SparseVectorCOO
|
||||
include("elements/elements.jl") # Element type and interface
|
||||
include("elements/elements_lagrange.jl") # Lagrange element specifics
|
||||
include("elements/integrate.jl") # Integration utilities
|
||||
# include("elements/elements_lagrange.jl") # OLD - uses AbstractBasis{0} (Poi1)
|
||||
# include("elements/integrate.jl") # OLD - references NSeg, Poi1, etc.
|
||||
include("assembly/problems.jl") # Problem types
|
||||
include("assembly/assembly.jl") # Assembly framework
|
||||
include("solvers/solvers_base.jl") # Base solver types
|
||||
@@ -245,19 +251,19 @@ include("graph/graph_ordering.jl")
|
||||
# using AbaqusReader # Consolidated into src/readers.jl
|
||||
# using AsterReader # Consolidated into src/readers.jl
|
||||
|
||||
# Problem types
|
||||
include("problems_heat.jl")
|
||||
export Heat, PlaneHeat
|
||||
include("problems_truss.jl")
|
||||
export Truss
|
||||
include("problems_elasticity.jl")
|
||||
export Elasticity
|
||||
# Problem types (OLD - all reference old basis types like Seg2, Tri3, Poi1, etc.)
|
||||
# include("problems_heat.jl")
|
||||
# export Heat, PlaneHeat
|
||||
# include("problems_truss.jl")
|
||||
# export Truss
|
||||
# include("problems_elasticity.jl")
|
||||
# export Elasticity
|
||||
# include("materials_plasticity.jl") # Requires ForwardDiff for automatic differentiation
|
||||
# export plastic_von_mises
|
||||
include("problems_dirichlet.jl")
|
||||
export Dirichlet
|
||||
# include("problems_dirichlet.jl")
|
||||
# export Dirichlet
|
||||
|
||||
export assemble!, postprocess!
|
||||
# export assemble!, postprocess!
|
||||
|
||||
# TODO: Consolidate vendor packages (FEMBeam, Mortar) later
|
||||
# Structural elements: beams
|
||||
@@ -268,11 +274,11 @@ export assemble!, postprocess!
|
||||
# @reexport using MortarContact2D
|
||||
# @reexport using MortarContact2DAD
|
||||
|
||||
include("problems_mortar.jl")
|
||||
include("problems_mortar_3d.jl")
|
||||
export calculate_normals, calculate_normals!, project_from_slave_to_master,
|
||||
project_from_master_to_slave, Mortar, get_slave_elements,
|
||||
get_polygon_clip
|
||||
# include("problems_mortar.jl")
|
||||
# include("problems_mortar_3d.jl")
|
||||
# export calculate_normals, calculate_normals!, project_from_slave_to_master,
|
||||
# project_from_master_to_slave, Mortar, get_slave_elements,
|
||||
# get_polygon_clip
|
||||
# include("io.jl") # Requires HDF5 and LightXML - skip for minimal deps
|
||||
# export Xdmf, h5file, xmffile, xdmf_filter, new_dataitem, update_xdmf!, save!
|
||||
include("solvers.jl")
|
||||
|
||||
Reference in New Issue
Block a user