KnutAM / FESolvers.jl

Solvers for Ferrite.jl problems
https://knutam.github.io/FESolvers.jl/dev
MIT License
3 stars 0 forks source link

Kam/adaptive solving #25

Closed KnutAM closed 1 year ago

KnutAM commented 1 year ago

The AdaptiveNewtonSolver supports an experimental feature to switch between different update strategies. This PR goes in the direction that we should not ask the user for different system_matrices via the get_system_matrix, but rather tell the user problem which matrix to update in update_problem! (and expect that this matrix would be returned later).

Specifically, the struct UpdateSpec and associated query methods are introduced. The Rosenbrock test case is updated and tested with AdaptiveNewtonSolver.

codecov-commenter commented 1 year ago

Codecov Report

Merging #25 (9a36b35) into main (3aae793) will increase coverage by 2.34%. The diff coverage is 94.63%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##             main      #25      +/-   ##
==========================================
+ Coverage   93.92%   96.26%   +2.34%     
==========================================
  Files           7       11       +4     
  Lines         181      268      +87     
==========================================
+ Hits          170      258      +88     
+ Misses         11       10       -1     
Impacted Files Coverage Δ
src/QuasiStaticSolver.jl 95.83% <50.00%> (-0.60%) :arrow_down:
src/nlsolvers.jl 87.87% <85.71%> (-4.43%) :arrow_down:
src/nlsolvers/SteepestDescent.jl 94.44% <94.44%> (ø)
src/nlsolvers/Newton.jl 95.45% <95.45%> (ø)
src/nlsolvers/AdaptiveNewton.jl 96.49% <96.49%> (ø)
src/FESolvers.jl 100.00% <100.00%> (ø)
src/linesearchers.jl 100.00% <100.00%> (ø)
src/nlsolvers/LinearProblemSolver.jl 100.00% <100.00%> (ø)
src/problem.jl 88.88% <100.00%> (ø)

... and 1 file with indirect coverage changes

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more