@@ -3317,11 +3317,11 @@ function write_block_solution!(𝓂,
33173317
33183318 prob = 𝒮. LinearProblem (chol_buff, ϵ, 𝒮. CholeskyFactorization ())
33193319
3320- chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization ())
3320+ chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
33213321
33223322 prob = 𝒮. LinearProblem (buffer, ϵ, 𝒮. LUFactorization ())
33233323
3324- lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization ())
3324+ lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
33253325
33263326 if lennz > nnz_parallel_threshold
33273327 parallel = Symbolics. ShardedForm (1500 ,4 )
@@ -3382,11 +3382,11 @@ function write_block_solution!(𝓂,
33823382
33833383 prob = 𝒮. LinearProblem (ext_chol_buff, ϵᵉ, 𝒮. CholeskyFactorization ())
33843384
3385- ext_chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization ())
3385+ ext_chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
33863386
33873387 prob = 𝒮. LinearProblem (ext_buffer, ϵᵉ, 𝒮. LUFactorization ())
33883388
3389- ext_lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization ())
3389+ ext_lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
33903390
33913391 if lennz > nnz_parallel_threshold
33923392 parallel = Symbolics. ShardedForm (1500 ,4 )
@@ -4731,11 +4731,11 @@ function solve_steady_state!(𝓂::ℳ;
47314731
47324732 prob = 𝒮. LinearProblem (chol_buff, ϵ, 𝒮. CholeskyFactorization ())
47334733
4734- chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization ())
4734+ chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
47354735
47364736 prob = 𝒮. LinearProblem (buffer, ϵ, 𝒮. LUFactorization ())
47374737
4738- lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization ())
4738+ lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
47394739
47404740 if lennz > nnz_parallel_threshold
47414741 parallel = Symbolics. ShardedForm (1500 ,4 )
@@ -4796,11 +4796,11 @@ function solve_steady_state!(𝓂::ℳ;
47964796
47974797 prob = 𝒮. LinearProblem (ext_chol_buff, ϵᵉ, 𝒮. CholeskyFactorization ())
47984798
4799- ext_chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization ())
4799+ ext_chol_buffer = 𝒮. init (prob, 𝒮. CholeskyFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
48004800
48014801 prob = 𝒮. LinearProblem (ext_buffer, ϵᵉ, 𝒮. LUFactorization ())
48024802
4803- ext_lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization ())
4803+ ext_lu_buffer = 𝒮. init (prob, 𝒮. LUFactorization (), verbose = isdefined (𝒮, :LinearVerbosity ) ? 𝒮 . LinearVerbosity (𝒮 . SciMLLogging . Minimal ()) : false )
48044804
48054805 if lennz > nnz_parallel_threshold
48064806 parallel = Symbolics. ShardedForm (1500 ,4 )
@@ -5352,22 +5352,25 @@ function block_solver(parameters_and_solved_vars::Vector{T},
53525352
53535353 if cold_start
53545354 guesses = any (guess .< 1e12 ) ? [guess, fill (1e12 , length (guess))] : [guess] # if guess were provided, loop over them, and then the starting points only
5355+ start_vals = (fail_fast_solvers_only ? [false ] : Any[false , 1.206 , 1.5 , 0.7688 , 2.0 , 0.897 ])
53555356
53565357 for g in guesses
53575358 for p in parameters
53585359 for ext in [true , false ] # try first the system where values and parameters can vary, next try the system where only values can vary
5359- if ! isfinite (sol_minimum) || sol_minimum > tol. NSSS_acceptance_tol# || rel_sol_minimum > rtol
5360- if solved_yet continue end
5361-
5362- sol_values, total_iters, rel_sol_minimum, sol_minimum = solve_ss (SS_optimizer, SS_solve_block, parameters_and_solved_vars, closest_parameters_and_solved_vars, lbs, ubs, tol, total_iters, n_block, verbose,
5363- # sol_values, total_iters, rel_sol_minimum, sol_minimum = solve_ss(SS_optimizer, ss_solve_blocks, parameters_and_solved_vars, closest_parameters_and_solved_vars, lbs, ubs, tol, total_iters, n_block, verbose,
5364- g,
5365- p,
5366- ext,
5367- false )
5368-
5369- if isfinite (sol_minimum) && sol_minimum < tol. NSSS_acceptance_tol
5370- solved_yet = true
5360+ for s in start_vals
5361+ if ! isfinite (sol_minimum) || sol_minimum > tol. NSSS_acceptance_tol# || rel_sol_minimum > rtol
5362+ if solved_yet continue end
5363+
5364+ sol_values, total_iters, rel_sol_minimum, sol_minimum = solve_ss (SS_optimizer, SS_solve_block, parameters_and_solved_vars, closest_parameters_and_solved_vars, lbs, ubs, tol, total_iters, n_block, verbose,
5365+ # sol_values, total_iters, rel_sol_minimum, sol_minimum = solve_ss(SS_optimizer, ss_solve_blocks, parameters_and_solved_vars, closest_parameters_and_solved_vars, lbs, ubs, tol, total_iters, n_block, verbose,
5366+ g,
5367+ p,
5368+ ext,
5369+ s)
5370+
5371+ if isfinite (sol_minimum) && sol_minimum < tol. NSSS_acceptance_tol
5372+ solved_yet = true
5373+ end
53715374 end
53725375 end
53735376 end
0 commit comments