diff --git a/src/JuliaFEM.jl b/src/JuliaFEM.jl index 6dc60dd..202323e 100644 --- a/src/JuliaFEM.jl +++ b/src/JuliaFEM.jl @@ -105,6 +105,12 @@ about JuliaFEM, please visit our website at """ module JuliaFEM +# Import Base functions FIRST before defining any methods +import Base: getindex, setindex!, convert, length, size, isapprox, + similar, first, last, vec, + ==, +, -, *, /, haskey, copy, push!, isempty, empty!, + append!, read + using SparseArrays, LinearAlgebra, Statistics using Reexport, ForwardDiff, LightXML, HDF5, Parameters using Tensors # For basis functions (Vec type) @@ -157,11 +163,6 @@ include("deprecated_fembase.jl") # Deprecated/legacy methods from FEMBase (l using TimerOutputs export @timeit, print_timer -import Base: getindex, setindex!, convert, length, size, isapprox, - similar, first, last, vec, - ==, +, -, *, /, haskey, copy, push!, isempty, empty!, - append!, read, copy - # TODO: Consolidate these vendor packages later # using AbaqusReader # using AsterReader diff --git a/test_minimal.jl b/test_minimal.jl new file mode 100644 index 0000000..3ead1db --- /dev/null +++ b/test_minimal.jl @@ -0,0 +1,41 @@ +#!/usr/bin/env julia +# Minimal test to debug what's broken + +using JuliaFEM + +println("✓ JuliaFEM loaded") + +# Test 1: Can we create an element? +try + element = Element(Seg2, (1, 2)) + println("✓ Element created: ", typeof(element)) + println(" length: ", length(element)) +catch e + println("✗ Element creation failed: ", e) +end + +# Test 2: Can we create a Problem? +try + problem = Problem(Dirichlet, "test", 1, "temperature") + println("✓ Problem created: ", typeof(problem)) +catch e + println("✗ Problem creation failed: ", e) +end + +# Test 3: Can we update element fields? +try + element = Element(Seg2, (1, 2)) + X = Dict(1 => [0.0, 0.0], 2 => [6.0, 0.0]) + update!(element, "geometry", X) + println("✓ Element update successful") +catch e + println("✗ Element update failed: ", e) + println(" Stacktrace:") + for (exc, bt) in Base.catch_stack() + showerror(stdout, exc, bt) + println() + end +end + +println("\n=== Summary ===") +println("If all checks pass, the core API works!")