Skip to content

Commit b5014f3

Browse files
committed
Fix warnings
1 parent 9196bce commit b5014f3

1 file changed

Lines changed: 19 additions & 8 deletions

File tree

src/solver.jl

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ function solve(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=n
575575
end
576576

577577
@inline @inbounds function calc_norm_array!(va_norm_dist, va_array)
578-
for i in 1:size(va_array, 1)
578+
for i in axes(va_array, 1)
579579
va_norm_dist[i] = sqrt(
580580
va_array[i,1]^2 + va_array[i,2]^2 +
581581
va_array[i,3]^2)
@@ -584,6 +584,7 @@ end
584584

585585
function solve_base!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=nothing;
586586
log=false, reference_point=solver.reference_point)
587+
reference_point
587588

588589
# check arguments
589590
isnothing(body_aero.panels[1].va) && throw(ArgumentError("Inflow conditions are not set, use set_va!(body_aero, va)"))
@@ -759,17 +760,26 @@ function gamma_loop!(
759760
end
760761

761762
if solver.solver_type == NONLIN
762-
if isnothing(solver.prob)
763+
prob = solver.prob
764+
if isnothing(prob)
763765
function f_nonlin!(d_gamma, gamma, p)
764766
calc_gamma_new!(solver.lr.gamma_new, gamma, p)
765767
d_gamma .= solver.lr.gamma_new .- gamma
766768
nothing
767769
end
768-
solver.prob = NonlinearProblem(f_nonlin!, solver.lr.gamma_new, nothing)
769-
solver.nonlin_cache = init(solver.prob, NewtonRaphson(autodiff=AutoFiniteDiff()); abstol=solver.atol, reltol=solver.rtol)
770+
prob = NonlinearProblem(f_nonlin!, solver.lr.gamma_new, nothing)
771+
solver.prob = prob
770772
end
773+
prob = prob::NonlinearProblem
774+
775+
nonlin_cache = solver.nonlin_cache
776+
if isnothing(nonlin_cache)
777+
nonlin_cache = init(prob, NewtonRaphson(autodiff=AutoFiniteDiff()); abstol=solver.atol, reltol=solver.rtol)
778+
solver.nonlin_cache = nonlin_cache
779+
end
780+
nonlin_cache = nonlin_cache::NonlinearSolveFirstOrder.GeneralizedFirstOrderAlgorithmCache
771781

772-
sol = NonlinearSolve.solve!(solver.nonlin_cache)
782+
sol = NonlinearSolve.solve!(nonlin_cache)
773783
gamma .= sol.u
774784
solver.lr.gamma_new .= sol.u
775785
solver.lr.converged = SciMLBase.successful_retcode(sol)
@@ -792,13 +802,14 @@ function gamma_loop!(
792802
damp .= 0.0
793803
is_damping_applied = false
794804
end
795-
nothing
805+
return is_damping_applied
796806
end
797807
iters = 0
808+
is_damping_applied = false
798809
for i in 1:solver.max_iterations
799810
iters += 1
800811

801-
f_loop!(solver.lr.gamma_new, gamma, damp)
812+
is_damping_applied = f_loop!(solver.lr.gamma_new, gamma, damp)
802813

803814
# Check convergence
804815
abs_gamma_new .= abs.(solver.lr.gamma_new)
@@ -808,7 +819,7 @@ function gamma_loop!(
808819
error = maximum(abs_gamma_new)
809820
normalized_error = error / reference_error
810821

811-
@debug "Iteration: $i, normalized_error: $normalized_error, is_damping_applied: $is_damping_applied"
822+
@debug "Iteration: $i, normalized_error: $normalized_error"
812823

813824
if normalized_error < solver.rtol
814825
solver.lr.converged = true

0 commit comments

Comments
 (0)