Skip to content

Commit 06d1d1a

Browse files
Docstring for forcing alg
1 parent 1ff888f commit 06d1d1a

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

lib/NonlinearSolveFirstOrder/src/eisenstat_walker.jl

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
"""
2-
EisenstatWalkerForcing2(; η₀, γ, α)
2+
EisenstatWalkerForcing2(; η₀ = 0.5, ηₘₐₓ = 0.9, γ = 0.9, α = 2, safeguard = true, safeguard_threshold = 0.1)
33
4-
Algorithm 2 from the classical work by Eisenstat and Walker (1996) as described by formula (2.6).
4+
Algorithm 2 from the classical work by Eisenstat and Walker (1996) as described by formula (2.6):
5+
ηₖ = γ * (||rₖ|| / ||rₖ₋₁||)^α
6+
7+
Here the variables denote:
8+
rₖ residual at iteration k
9+
η₀ ∈ [0,1) initial value for η
10+
ηₘₐₓ ∈ [0,1) maximum value for η
11+
γ ∈ [0,1) correction factor
12+
α ∈ [1,2) correction exponent
13+
14+
Furthermore, the proposed safeguard is implemented:
15+
ηₖ = max(ηₖ, γ*ηₖ₋₁^α) if γ*ηₖ₋₁^α > safeguard_threshold
16+
to prevent ηₖ from shrinking too fast.
517
"""
618
@concrete struct EisenstatWalkerForcing2
719
η₀

0 commit comments

Comments
 (0)