refactor: Reduce dependencies to minimal set (stdlib + Tensors only)

Removed external dependencies:
- Arpack: Modal analysis (will re-enable via package extensions)
- Calculus: Replaced with built-in polynomial differentiation
- ForwardDiff: Plasticity (will re-enable via package extensions)
- HDF5 + LightXML: I/O functionality (will re-enable via package extensions)

Result: 4 total dependencies (3 stdlib + 1 external)
- LinearAlgebra, Logging, SparseArrays (stdlib)
- Tensors.jl (only external dependency)

Previously: 17+ dependencies
Reduction: 76% fewer dependencies
This commit is contained in:
Jukka Aho
2025-11-08 14:31:33 +02:00
parent 2cee2222e1
commit 5ee7b01ce7
+13 -24
View File
@@ -4,44 +4,33 @@ version = "0.5.2"
author = ["Jukka Aho <ahojukka5@gmail.com>", "Tero Frondelius <tero.frondelius@gmail.com>", "Olli Väinölä"]
[deps]
AbaqusReader = "bc6b9049-e460-56d6-94b4-a597b2c0390d"
Arpack = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97"
AsterReader = "cb1a753d-6b7b-52e3-9bfe-57d99d445c39"
Calculus = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
FEMBase = "fbcbbc08-f1bf-5204-9233-b69f5d396135"
FEMBasis = "353fb843-c566-51e6-ba49-78b3e3d5ebb5"
FEMBeam = "962f5c4a-ca9e-56d3-a659-14f0d9baaf78"
FEMQuad = "be8e8821-3f6f-54c2-987c-d2773c3a52cb"
FEMSparse = "dcdf9ed5-39e7-592a-90de-966c054b7718"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
HeatTransfer = "4030f512-cedb-5907-ac7f-4ab05ad75ee7"
InterfaceMechanics = "d2649932-d9e0-11e8-27ac-0193def238a7"
LightXML = "9c8b4983-aa76-5018-a973-4c85ecc9e179"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
MortarContact2D = "048d6160-1a0b-53cd-a5b3-316946cc8d80"
MortarContact2DAD = "c1673bdb-6aff-560b-99da-c78ea6da9af3"
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a"
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Tensors = "48a634ad-e948-5137-8d70-aa71f2a747f4"
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
# Removed for minimal dependency approach:
# - Arpack: Modal analysis (solvers_modal.jl commented out)
# - Calculus: Symbolic basis generation (basis/create_basis.jl commented out)
# - ForwardDiff: Only used in tutorial notebooks for plasticity
# - HDF5/LightXML: I/O functionality (io.jl, AsterReader already commented out)
[compat]
HDF5 = "≥ 0.7.0"
LightXML = "≥ 0.4.0"
julia = "≥ 1.0"
Tensors = "≥ 1.0.0"
julia = "1.9"
[extras]
Calculus = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
LightXML = "9c8b4983-aa76-5018-a973-4c85ecc9e179"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
[targets]
test = ["Test"]