From e72bce1a67892d41faba326e6f874add8d9c1d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Tue, 16 Jun 2020 10:38:47 +0200 Subject: [PATCH] =?UTF-8?q?Block=20decomposition:=20remove=20useless=20?= =?UTF-8?q?=E2=80=9Cy=E2=80=9D=20output=20for=20static/dynamic=20files=20o?= =?UTF-8?q?f=20solved=20blocks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- matlab/lnsrch1_wrapper_one_boundary.m | 2 +- matlab/lnsrch1_wrapper_two_boundaries.m | 2 +- matlab/solve_one_boundary.m | 12 ++++++------ matlab/solve_two_boundaries.m | 2 +- preprocessor | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/matlab/lnsrch1_wrapper_one_boundary.m b/matlab/lnsrch1_wrapper_one_boundary.m index 8397d1592..7557c83ea 100644 --- a/matlab/lnsrch1_wrapper_one_boundary.m +++ b/matlab/lnsrch1_wrapper_one_boundary.m @@ -42,4 +42,4 @@ function r = lnsrch1_wrapper_one_boundary(ya, y_index, fname, y, x, params, stea %reshape the input arguments of the dynamic function y(it_, :) = ya; -[r, y, T, g1]=feval(fname, y, x, params, steady_state, T, it_, false); +[r, T, g1]=feval(fname, y, x, params, steady_state, T, it_, false); diff --git a/matlab/lnsrch1_wrapper_two_boundaries.m b/matlab/lnsrch1_wrapper_two_boundaries.m index e535aa681..0da783520 100644 --- a/matlab/lnsrch1_wrapper_two_boundaries.m +++ b/matlab/lnsrch1_wrapper_two_boundaries.m @@ -47,5 +47,5 @@ function ra = lnsrch1_wrapper_two_boundaries(ya, fname, y, y_index, x, ... %reshape the input arguments of the dynamic function y(y_kmin+1:y_kmin+periods, y_index) = reshape(ya',length(y_index),periods)'; -[r, y, T, g1, b]=feval(fname, y, x, params, steady_state, T, periods, false, y_kmin, y_size); +[r, T, g1, b]=feval(fname, y, x, params, steady_state, T, periods, false, y_kmin, y_size); ra = reshape(r(:, y_kmin+1:periods+y_kmin),periods*y_size, 1); diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m index 3d7968e6c..0c44b2964 100644 --- a/matlab/solve_one_boundary.m +++ b/matlab/solve_one_boundary.m @@ -92,9 +92,9 @@ for it_=start:incr:finish g1=spalloc( Blck_size, Blck_size, nze); while ~(cvg==1 || iter>maxit_) if is_dynamic - [r, y, T, g1] = feval(fname, y, x, params, steady_state, T, it_, false); + [r, T, g1] = feval(fname, y, x, params, steady_state, T, it_, false); else - [r, y, T, g1] = feval(fname, y, x, params, T); + [r, T, g1] = feval(fname, y, x, params, T); end if ~isreal(r) max_res=(-(max(max(abs(r))))^2)^0.5; @@ -205,7 +205,7 @@ for it_=start:incr:finish 'lnsrch1_wrapper_one_boundary',nn, ... y_index_eq, options.solve_tolx, y_index_eq, fname, y, x, params, steady_state, T, it_); %% Recompute temporary terms, since they are not given as output of lnsrch1 - [~, ~, T] = feval(fname, y, x, params, steady_state, T, it_, false); + [~, T] = feval(fname, y, x, params, steady_state, T, it_, false); dx = ya' - y(it_, :); y(it_,:) = ya'; elseif (is_dynamic && (stack_solve_algo==1 || stack_solve_algo==0)) || (~is_dynamic && options.solve_algo==6) @@ -262,10 +262,10 @@ for it_=start:incr:finish y(y_index_eq) = phat; end if is_dynamic - [r, y, T, g1] = feval(fname, y, x, params, ... - steady_state, T, it_, false); + [r, T, g1] = feval(fname, y, x, params, ... + steady_state, T, it_, false); else - [r, y, T, g1] = feval(fname, y, x, params, T); + [r, T, g1] = feval(fname, y, x, params, T); end if max(abs(r))>=options.solve_tolf [dx,flag1] = bicgstab(g1,-r,1e-7,Blck_size,L1,U1); diff --git a/matlab/solve_two_boundaries.m b/matlab/solve_two_boundaries.m index a520ac7bb..e6d5c77d9 100644 --- a/matlab/solve_two_boundaries.m +++ b/matlab/solve_two_boundaries.m @@ -82,7 +82,7 @@ Jacobian_Size=Blck_size*(y_kmin+y_kmax_l +periods); g1=spalloc( Blck_size*periods, Jacobian_Size, nze*periods); reduced = 0; while ~(cvg==1 || iter>maxit_) - [r, y, T, g1, b]=feval(fname, y, x, params, steady_state, T, periods, false, y_kmin, Blck_size); + [r, T, g1, b]=feval(fname, y, x, params, steady_state, T, periods, false, y_kmin, Blck_size); preconditioner = 2; g1a=g1(:, y_kmin*Blck_size+1:(periods+y_kmin)*Blck_size); term1 = g1(:, 1:y_kmin_l*Blck_size)*reshape(y(1+y_kmin-y_kmin_l:y_kmin,y_index)',1,y_kmin_l*Blck_size)'; diff --git a/preprocessor b/preprocessor index ad583adcd..849697937 160000 --- a/preprocessor +++ b/preprocessor @@ -1 +1 @@ -Subproject commit ad583adcd4fc3463910708c86ea4bdc0b70a0826 +Subproject commit 849697937579eb432cbf507e1b6e5f0493e26091