Block decomposition: fix interaction with steady_state_model block

This cas was omitted in previous commit.
time-shift
Sébastien Villemot 2020-05-25 21:08:51 +02:00
parent 2c6807a66b
commit ea4d3f4d83
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
1 changed files with 4 additions and 2 deletions

View File

@ -45,17 +45,19 @@ else
fh_static = str2func([M.fname '.static']); fh_static = str2func([M.fname '.static']);
if options.block if options.block
residuals = zeros(M.endo_nbr,1); residuals = zeros(M.endo_nbr,1);
T = NaN(M.block_structure_stat.tmp_nbr, 1);
for b = 1:length(M.block_structure_stat.block) for b = 1:length(M.block_structure_stat.block)
mfsb = M.block_structure_stat.block(b).variable; mfsb = M.block_structure_stat.block(b).variable;
% blocks that can be directly evaluated (mfsb is empty) % blocks that can be directly evaluated (mfsb is empty)
% have zero residuals by construction % have zero residuals by construction
if M.block_structure_stat.block(b).Simulation_Type ~= 1 && ... if M.block_structure_stat.block(b).Simulation_Type ~= 1 && ...
M.block_structure_stat.block(b).Simulation_Type ~= 2 M.block_structure_stat.block(b).Simulation_Type ~= 2
residuals(mfsb) = feval(fh_static,b,ys,exo_ss,params); [r, ~, ~, ~, T] = feval(fh_static,b,ys,exo_ss,params,T);
residuals(mfsb) = r;
else else
%need to evaluate the recursive blocks to compute the %need to evaluate the recursive blocks to compute the
%temporary terms %temporary terms
feval(fh_static,b,ys,exo_ss,params); [~, ~, ~, ~, T] = feval(fh_static,b,ys,exo_ss,params,T);
end end
end end
else else