Skip to content

Commit 7996c30

Browse files
Merge pull request #16 from ChrisRackauckas-Claude/fix/docs-pages-ordering-map
Fix docs page ordering when new benchmark folders are added
2 parents a1f5d28 + 38d1dc5 commit 7996c30

1 file changed

Lines changed: 59 additions & 47 deletions

File tree

docs/pages.jl

Lines changed: 59 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -37,50 +37,62 @@ for folder in readdir(benchmarksdir)
3737
end
3838

3939

40-
# The result is in alphabetical order, change to the wanted order
41-
42-
permute!(pages,
43-
[1, 18, 15, 13, 24, 4, 5, 22, 33, 7, 3, 9, 20, 31, 17, 30, 8, 11, 19, 23, 34, 21, 32, 14, 12, 26, 10, 25, 29, 6, 16, 27, 28, 2, 35, 36]
44-
)
45-
46-
names = [
47-
"SciMLBenchmarks.jl: Benchmarks for Scientific Machine Learning (SciML) and Equation Solvers",
48-
"Multi-Language Wrapper Benchmarks",
49-
"Linear Solvers",
50-
"Interval Rootfinding",
51-
"Nonlinear Solvers",
52-
"Automatic Differentiation",
53-
"Sparse Automatic Differentiation",
54-
"Non-Stiff Ordinary Differential Equations (ODEs)",
55-
"Stiff Ordinary Differential Equations (ODEs)",
56-
"Biological Differential Equations",
57-
"Astrochemistry Differential Equations",
58-
"Differential-Algebraic Equations (DAEs)",
59-
"Non-Stiff Boundary Value Problems (BVPs)",
60-
"Stiff Boundary Value Problems (BVPs)",
61-
"ModelingToolkit Acausal Modeling / Symbolic-Numeric Benchmarks",
62-
"Simple Handwritten Partial Differential Equations (PDEs) as ODEs",
63-
"Complicated Partial Differential Equations (PDEs)",
64-
"Dynamical ODEs (Hamiltonian and Second Order)",
65-
"N-Body Problem Benchmarks",
66-
"Non-Stiff Stochastic Differential Equations (SDEs)",
67-
"Stiff Stochastic Differential Equations (SDEs)",
68-
"Non-Stiff Delay Differential Equations (DDEs)",
69-
"Stiff Delay Differential equations (DDEs)",
70-
"Jump Process Equations (Gillespie Benchmarks)",
71-
"Hybrid (Time-Dependent) Jump Processes",
72-
"Nonlinear Optimization Solver Benchmarks",
73-
"Global Optimization Benchmarks",
74-
"Optimization Framework Benchmarks",
75-
"Parameter Estimation and Inverse Problem Benchmarks",
76-
"Bayesian Inference and Probabilistic Inverse Problem Benchmarks",
77-
"MethodOfLines.jl Partial Differential Equation (PDE) Formulations",
78-
"Physics-Informed Neural Network (Neural Network PDE Solver) Cost Function Benchmarks",
79-
"Physics-Informed Neural Network (Neural Network PDE Solver) Optimizer Benchmarks",
80-
"SDE Adaptivity Benchmarks",
81-
"Surrogate Benchmarks",
82-
"Symbolic Manipulation Benchmarks"]
83-
84-
for i in 1:length(pages)
85-
pages[i] = names[i] => pages[i][2]
86-
end
40+
# The result is in alphabetical order, change to the wanted order
41+
42+
section_titles = [
43+
"MultiLanguage" => "Multi-Language Wrapper Benchmarks",
44+
"LinearSolve" => "Linear Solvers",
45+
"IntervalNonlinearProblem" => "Interval Rootfinding",
46+
"NonlinearProblem" => "Nonlinear Solvers",
47+
"AutomaticDifferentiation" => "Automatic Differentiation",
48+
"AutomaticDifferentiationSparse" => "Sparse Automatic Differentiation",
49+
"NonStiffODE" => "Non-Stiff Ordinary Differential Equations (ODEs)",
50+
"StiffODE" => "Stiff Ordinary Differential Equations (ODEs)",
51+
"Bio" => "Biological Differential Equations",
52+
"AstroChem" => "Astrochemistry Differential Equations",
53+
"DAE" => "Differential-Algebraic Equations (DAEs)",
54+
"NonStiffBVP" => "Non-Stiff Boundary Value Problems (BVPs)",
55+
"StiffBVP" => "Stiff Boundary Value Problems (BVPs)",
56+
"ModelingToolkit" => "ModelingToolkit Acausal Modeling / Symbolic-Numeric Benchmarks",
57+
"SimpleHandwrittenPDE" => "Simple Handwritten Partial Differential Equations (PDEs) as ODEs",
58+
"ComplicatedPDE" => "Complicated Partial Differential Equations (PDEs)",
59+
"DynamicalODE" => "Dynamical ODEs (Hamiltonian and Second Order)",
60+
"NBodySimulator" => "N-Body Problem Benchmarks",
61+
"NonStiffSDE" => "Non-Stiff Stochastic Differential Equations (SDEs)",
62+
"StiffSDE" => "Stiff Stochastic Differential Equations (SDEs)",
63+
"NonStiffDDE" => "Non-Stiff Delay Differential Equations (DDEs)",
64+
"StiffDDE" => "Stiff Delay Differential equations (DDEs)",
65+
"Jumps" => "Jump Process Equations (Gillespie Benchmarks)",
66+
"HybridJumps" => "Hybrid (Time-Dependent) Jump Processes",
67+
"Optimizaton" => "Nonlinear Optimization Solver Benchmarks",
68+
"OptimizationCUTEst" => "CUTEst Optimization Solver Benchmarks",
69+
"GlobalOptimization" => "Global Optimization Benchmarks",
70+
"OptimizationFrameworks" => "Optimization Framework Benchmarks",
71+
"ParameterEstimation" => "Parameter Estimation and Inverse Problem Benchmarks",
72+
"BayesianInference" => "Bayesian Inference and Probabilistic Inverse Problem Benchmarks",
73+
"MethodOfLinesPDE" => "MethodOfLines.jl Partial Differential Equation (PDE) Formulations",
74+
"PINNErrorsVsTime" => "Physics-Informed Neural Network (Neural Network PDE Solver) Cost Function Benchmarks",
75+
"PINNOptimizers" => "Physics-Informed Neural Network (Neural Network PDE Solver) Optimizer Benchmarks",
76+
"AdaptiveSDE" => "SDE Adaptivity Benchmarks",
77+
"Surrogates" => "Surrogate Benchmarks",
78+
"Symbolics" => "Symbolic Manipulation Benchmarks"
79+
]
80+
81+
renamed_index = "SciMLBenchmarks.jl: Benchmarks for Scientific Machine Learning (SciML) and Equation Solvers" =>
82+
pages[1][2]
83+
remaining_pages = Dict{String,Any}(pages[2:end])
84+
ordered_pages = Any[renamed_index]
85+
86+
for (folder, title) in section_titles
87+
if haskey(remaining_pages, folder)
88+
push!(ordered_pages, title => remaining_pages[folder])
89+
delete!(remaining_pages, folder)
90+
end
91+
end
92+
93+
# Keep docs generation robust when new benchmark folders are added.
94+
for folder in sort!(collect(keys(remaining_pages)))
95+
push!(ordered_pages, folder => remaining_pages[folder])
96+
end
97+
98+
pages = ordered_pages

0 commit comments

Comments
 (0)