From c1d4d404b4865ac6e32b28a8a48289b560bcb3c7 Mon Sep 17 00:00:00 2001 From: RJDennis Date: Sat, 10 Sep 2022 23:55:22 +0100 Subject: [PATCH] Update to reflect change in NLboxsolve.jl --- Project.toml | 2 +- .../model_aiyagari_processed.txt | 226 ++++++++++++++++++ .../solution_file_nkdsge_zlb.jl | 2 +- src/solution_functions.jl | 68 +++--- 4 files changed, 262 insertions(+), 36 deletions(-) create mode 100644 examples/example_aiyagari/model_aiyagari_processed.txt diff --git a/Project.toml b/Project.toml index 180c17b..e628995 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "SolveDSGE" uuid = "00bf1f32-23ad-54cc-bf6e-3216db8a43a2" authors = ["Richard Dennis "] -version = "0.5.4" +version = "0.5.5" [deps] Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" diff --git a/examples/example_aiyagari/model_aiyagari_processed.txt b/examples/example_aiyagari/model_aiyagari_processed.txt new file mode 100644 index 0000000..6b6208d --- /dev/null +++ b/examples/example_aiyagari/model_aiyagari_processed.txt @@ -0,0 +1,226 @@ +nx = 2 + +ny = 5 + +ns = 1 + +nv = 7 + +ne = 7 + +jumps_to_approximate = [2] + +eqns_to_approximate = [6] + +variables = OrderedDict("l" => 1, "k" => 2, "c" => 3, "muc" => 4, "lm" => 5, "rbar" => 6, "wbar" => 7) + +function nlsolve_static_equations(f::Array{T,1},x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f[1] = x[1] - ((0.60)*x[1] + (0.20)*sqrt(1.0-(0.60)^2)*0.0) + f[2] = x[6] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[7] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[5]*(x[2]-(0.00)) - (0.0) + f[5] = x[3]^(-(1.00)) - (x[4]) + f[6] = x[4] - (x[5] + (0.96)*(1.0+x[6])*x[4]) + f[7] = x[3] + x[2] - (x[7]*(1.0)*exp(x[1]) + (1.0+x[6])*x[2]) + +end + +function static_equations(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = Array{T,1}(undef,length(x)) + + f[1] = x[1] - ((0.60)*x[1] + (0.20)*sqrt(1.0-(0.60)^2)*0.0) + f[2] = x[6] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[7] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[5]*(x[2]-(0.00)) - (0.0) + f[5] = x[3]^(-(1.00)) - (x[4]) + f[6] = x[4] - (x[5] + (0.96)*(1.0+x[6])*x[4]) + f[7] = x[3] + x[2] - (x[7]*(1.0)*exp(x[1]) + (1.0+x[6])*x[2]) + + return f + +end + +function dynamic_equations(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = Array{T,1}(undef,7) + + f[1] = x[8] - ((0.60)*x[1] + (0.20)*sqrt(1.0-(0.60)^2)*x[15]) + f[2] = x[6] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[7] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[5]*(x[2]-(0.00)) - (0.0) + f[5] = x[3]^(-(1.00)) - (x[4]) + f[6] = x[4] - (x[5] + (0.96)*(1.0+x[6])*x[11]) + f[7] = x[3] + x[9] - (x[7]*(1.0)*exp(x[1]) + (1.0+x[6])*x[2]) + + return f + +end + +function dynamic_eqn_1(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[8] - ((0.60)*x[1] + (0.20)*sqrt(1.0-(0.60)^2)*x[15]) + + return f + +end + +function dynamic_eqn_2(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[6] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + + return f + +end + +function dynamic_eqn_3(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[7] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + + return f + +end + +function dynamic_eqn_4(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[5]*(x[2]-(0.00)) - (0.0) + + return f + +end + +function dynamic_eqn_5(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[3]^(-(1.00)) - (x[4]) + + return f + +end + +function dynamic_eqn_6(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[4] - (x[5] + (0.96)*(1.0+x[6])*x[11]) + + return f + +end + +function dynamic_eqn_7(x::Array{T,1},p::Array{T1,1}) where {T<:Number,T1<:Real} + + f = x[3] + x[9] - (x[7]*(1.0)*exp(x[1]) + (1.0+x[6])*x[2]) + + return f + +end + +individual_equations = Array{Function}(undef,7) +individual_equations[1] = dynamic_eqn_1 +individual_equations[2] = dynamic_eqn_2 +individual_equations[3] = dynamic_eqn_3 +individual_equations[4] = dynamic_eqn_4 +individual_equations[5] = dynamic_eqn_5 +individual_equations[6] = dynamic_eqn_6 +individual_equations[7] = dynamic_eqn_7 + +function closure_chebyshev_equations(state,scaled_weights,order,domain,p) + + function chebyshev_equations(f::Array{T,1},x::Array{T,1}) where {T<:Number} + + approx2 = chebyshev_evaluate(scaled_weights[1],x[5+1:end],order,domain) + + #f = Array{T,1}(undef,7) + + f[1] = x[6] - ((0.60)*state[1] + (0.20)*sqrt(1.0-(0.60)^2)*0.0) + f[2] = x[4] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[5] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[3]*(state[2]-(0.00)) - (0.0) + f[5] = x[1]^(-(1.00)) - (x[2]) + f[6] = x[2] - (x[3] + (0.96)*(1.0+x[4])*approx2) + f[7] = x[1] + x[7] - (x[5]*(1.0)*exp(state[1]) + (1.0+x[4])*state[2]) + + #return f + + end + + return chebyshev_equations + +end + +function closure_smolyak_equations(state,scaled_weights,order,domain,p) + + function smolyak_equations(f::Array{T,1},x::Array{T,1}) where {T<:Number} + + poly = smolyak_polynomial(x[5+1:end],order,domain) + approx2 = smolyak_evaluate(scaled_weights[1],poly) + + #f = Array{T,1}(undef,7) + + f[1] = x[6] - ((0.60)*state[1] + (0.20)*sqrt(1.0-(0.60)^2)*0.0) + f[2] = x[4] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[5] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[3]*(state[2]-(0.00)) - (0.0) + f[5] = x[1]^(-(1.00)) - (x[2]) + f[6] = x[2] - (x[3] + (0.96)*(1.0+x[4])*approx2) + f[7] = x[1] + x[7] - (x[5]*(1.0)*exp(state[1]) + (1.0+x[4])*state[2]) + + #return f + + end + + return smolyak_equations + +end + +function closure_hcross_equations(state,scaled_weights,order,domain,p) + + function hcross_equations(f::Array{T,1},x::Array{T,1}) where {T<:Number} + + poly = hyperbolic_cross_polynomial(x[5+1:end],order,domain) + approx2 = hyperbolic_cross_evaluate(scaled_weights[1],poly) + + #f = Array{T,1}(undef,7) + + f[1] = x[6] - ((0.60)*state[1] + (0.20)*sqrt(1.0-(0.60)^2)*0.0) + f[2] = x[4] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[5] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[3]*(state[2]-(0.00)) - (0.0) + f[5] = x[1]^(-(1.00)) - (x[2]) + f[6] = x[2] - (x[3] + (0.96)*(1.0+x[4])*approx2) + f[7] = x[1] + x[7] - (x[5]*(1.0)*exp(state[1]) + (1.0+x[4])*state[2]) + + #return f + + end + + return hcross_equations + +end + +function closure_piecewise_equations(variables,grid,state,integrals,p) + + function piecewise_equations(f::Array{T,1},x::Array{T,1}) where {T<:Number} + + approx2 = piecewise_linear_evaluate(variables[2],grid,x[5+1:end],integrals) + + #f = Array{T,1}(undef,7) + + f[1] = x[6] - ((0.60)*state[1] + (0.20)*sqrt(1.0-(0.60)^2)*0.0) + f[2] = x[4] - ((0.36)*((p[1])/(1.0))^((0.36)-1.0) - (0.08)) + f[3] = x[5] - ((1.0-(0.36))*((p[1])/(1.0))^((0.36))) + f[4] = x[3]*(state[2]-(0.00)) - (0.0) + f[5] = x[1]^(-(1.00)) - (x[2]) + f[6] = x[2] - (x[3] + (0.96)*(1.0+x[4])*approx2) + f[7] = x[1] + x[7] - (x[5]*(1.0)*exp(state[1]) + (1.0+x[4])*state[2]) + + #return f + + end + + return piecewise_equations + +end + +unassigned_parameters = ["kbar"] + +solvers = "Projection" \ No newline at end of file diff --git a/examples/example_nkdsge_zlb/solution_file_nkdsge_zlb.jl b/examples/example_nkdsge_zlb/solution_file_nkdsge_zlb.jl index 80ffe3a..28e4f4e 100644 --- a/examples/example_nkdsge_zlb/solution_file_nkdsge_zlb.jl +++ b/examples/example_nkdsge_zlb/solution_file_nkdsge_zlb.jl @@ -25,7 +25,7 @@ data = simulate(soln_nla,ss[1:4],100_000) # Use previous solution as initialization to solve with zlb imposed -COBC = ChebyshevSchemeOBCStoch(ss,chebyshev_nodes,[11,11,11,15],11,6,[0.045 0.2 0.02 0.345; -0.045 -0.21 -0.03 0.31],lb,ub,tol,1e-8,maxiters,:lm) +COBC = ChebyshevSchemeOBCStoch(ss,chebyshev_nodes,[11,11,11,15],11,6,[0.045 0.2 0.02 0.345; -0.045 -0.21 -0.03 0.31],lb,ub,tol,1e-8,maxiters,:lm_ar) soln_nlb = solve_model(dsge_nk_zlb,soln_nla,COBC,2) data_obc = simulate(soln_nlb,ss[1:4],lb,ub,100_000) diff --git a/src/solution_functions.jl b/src/solution_functions.jl index dff50f2..aebe1c1 100644 --- a/src/solution_functions.jl +++ b/src/solution_functions.jl @@ -18,7 +18,7 @@ function compute_steady_state(model::REModel,x::Array{T,1},tol::T,maxiters::S,me #nlsoln = nlsolve(equations, x, xtol = tol, iterations = maxiters, autodiff = :forward, inplace = :false) equations = model.nlsolve_static_function nlsoln = nlsolve(equations,x,ftol = tol,xtol = tol,iterations = maxiters,autodiff = :forward,inplace = :true,method = method) - #nlsoln = nlboxsolve(equations,x,xtol = xtol,ftol = ftol,maxiters = maxiters,method = method) + #nlsoln = nlboxsolve(equations,x,xtol = xtol,ftol = ftol,iterations = maxiters,method = method) return nlsoln @@ -993,7 +993,7 @@ function solve_nonlinear(model::REModel,scheme::Union{ChebyshevSchemeDet,Chebysh projection_equations = model.closure_function_chebyshev(state,weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters, iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1107,7 +1107,7 @@ function solve_nonlinear(model::REModel,scheme::Union{ChebyshevSchemeDet,Chebysh projection_equations = model.closure_function_chebyshev(state,weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1237,7 +1237,7 @@ function solve_nonlinear(model::REModel,scheme::Union{ChebyshevSchemeStoch,Cheby projection_equations = model.closure_function_chebyshev(state,scaled_weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1368,7 +1368,7 @@ function solve_nonlinear(model::REModel,scheme::Union{ChebyshevSchemeStoch,Cheby projection_equations = model.closure_function_chebyshev(state,scaled_weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1500,7 +1500,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{ChebyshevSchemeDet projection_equations = model.closure_function_chebyshev(state,weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1634,7 +1634,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{ChebyshevSchemeDet projection_equations = model.closure_function_chebyshev(state,weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1795,7 +1795,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{ChebyshevSchemeSto projection_equations = model.closure_function_chebyshev(state,scaled_weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -1963,7 +1963,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{ChebyshevSchemeSto projection_equations = model.closure_function_chebyshev(state,scaled_weights,order,domain) if typeof(scheme) <: ChebyshevSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2053,7 +2053,7 @@ function solve_nonlinear(model::REModel,scheme::Union{SmolyakSchemeDet,SmolyakSc projection_equations = model.closure_function_smolyak(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2141,7 +2141,7 @@ function solve_nonlinear(model::REModel,scheme::Union{SmolyakSchemeDet,SmolyakSc projection_equations = model.closure_function_smolyak(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2248,7 +2248,7 @@ function solve_nonlinear(model::REModel,scheme::Union{SmolyakSchemeStoch,Smolyak projection_equations = model.closure_function_smolyak(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2354,7 +2354,7 @@ function solve_nonlinear(model::REModel,scheme::Union{SmolyakSchemeStoch,Smolyak projection_equations = model.closure_function_smolyak(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2456,7 +2456,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{SmolyakSchemeDet,S projection_equations = model.closure_function_smolyak(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2559,7 +2559,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{SmolyakSchemeDet,S projection_equations = model.closure_function_smolyak(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2696,7 +2696,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{SmolyakSchemeStoch projection_equations = model.closure_function_smolyak(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2834,7 +2834,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{SmolyakSchemeStoch projection_equations = model.closure_function_smolyak(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: SmolyakSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -2928,7 +2928,7 @@ function solve_nonlinear(model::REModel,scheme::Union{PiecewiseLinearSchemeDet,P projection_equations = model.closure_function_piecewise(variables,grid,state) if typeof(scheme) <: PiecewiseLinearSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3020,7 +3020,7 @@ function solve_nonlinear(model::REModel,scheme::Union{PiecewiseLinearSchemeDet,P projection_equations = model.closure_function_piecewise(variables,grid,state) if typeof(scheme) <: PiecewiseLinearSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3129,7 +3129,7 @@ function solve_nonlinear(model::REModel,scheme::Union{PiecewiseLinearSchemeStoch projection_equations = model.closure_function_piecewise(variables,grid,state,integrals) if typeof(scheme) <: PiecewiseLinearSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3236,7 +3236,7 @@ function solve_nonlinear(model::REModel,scheme::Union{PiecewiseLinearSchemeStoch projection_equations = model.closure_function_piecewise(variables,grid,state,integrals) if typeof(scheme) <: PiecewiseLinearSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3346,7 +3346,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{PiecewiseLinearSch projection_equations = model.closure_function_piecewise(variables,grid,state) if typeof(scheme) <: PiecewiseLinearSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3457,7 +3457,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{PiecewiseLinearSch projection_equations = model.closure_function_piecewise(variables,grid,state) if typeof(scheme) <: PiecewiseLinearSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3604,7 +3604,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{PiecewiseLinearSch projection_equations = model.closure_function_piecewise(variables,grid,state,integrals) if typeof(scheme) <: PiecewiseLinearSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3752,7 +3752,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{PiecewiseLinearSch projection_equations = model.closure_function_piecewise(variables,grid,state,integrals) if typeof(scheme) <: PiecewiseLinearSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3842,7 +3842,7 @@ function solve_nonlinear(model::REModel,scheme::Union{HyperbolicCrossSchemeDet,H projection_equations = model.closure_function_hcross(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -3931,7 +3931,7 @@ function solve_nonlinear(model::REModel,scheme::Union{HyperbolicCrossSchemeDet,H projection_equations = model.closure_function_hcross(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4039,7 +4039,7 @@ function solve_nonlinear(model::REModel,scheme::Union{HyperbolicCrossSchemeStoch projection_equations = model.closure_function_hcross(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4146,7 +4146,7 @@ function solve_nonlinear(model::REModel,scheme::Union{HyperbolicCrossSchemeStoch projection_equations = model.closure_function_hcross(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4249,7 +4249,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{HyperbolicCrossSch projection_equations = model.closure_function_hcross(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4354,7 +4354,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{HyperbolicCrossSch projection_equations = model.closure_function_hcross(grid[i,:],weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCDet - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4492,7 +4492,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{HyperbolicCrossSch projection_equations = model.closure_function_hcross(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4631,7 +4631,7 @@ function solve_nonlinear(model::REModel,soln::R,scheme::Union{HyperbolicCrossSch projection_equations = model.closure_function_hcross(grid[i,:],scaled_weights,multi_ind,domain) if typeof(scheme) <: HyperbolicCrossSchemeOBCStoch - nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,maxiters = scheme.maxiters,method = scheme.method) + nlsoln = nlboxsolve(projection_equations,init,lb,ub,xtol = scheme.xtol,ftol = scheme.ftol,iterations = scheme.maxiters,method = scheme.method) else nlsoln = nlsolve(projection_equations,init,xtol = scheme.ftol,iterations = scheme.maxiters,inplace = :true,method = scheme.method) end @@ -4766,4 +4766,4 @@ function solve_model(model::REModel,soln::ModelSolution,scheme::P,threads::S) wh error("The solution scheme conflicts with the solvers specified in the model file") end -end \ No newline at end of file +end