From c3524d33d034ebdb0459a6f9b4edcf5717c9d6f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Mon, 6 Feb 2023 15:37:57 -0500
Subject: [PATCH] =?UTF-8?q?Testsuite:=20replace=20=E2=80=9Csimul=E2=80=9D?=
 =?UTF-8?q?=20by=20=E2=80=9Cperfect=5Fforesight=5Fsetup=E2=80=9D=20+=20?=
 =?UTF-8?q?=E2=80=9Cperfect=5Fforesight=5Fsolver=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tests/block_bytecode/ireland.mod                           | 4 +++-
 tests/deterministic_simulations/homotopy.mod               | 3 ++-
 tests/deterministic_simulations/homotopy_histval.mod       | 3 ++-
 tests/deterministic_simulations/initialization.mod         | 5 +++--
 .../deterministic_simulations/linear_approximation/sw.mod  | 7 +++++--
 tests/deterministic_simulations/multiple_lead_lags/AR2.mod | 3 ++-
 .../multiple_lead_lags/AR2_forward.mod                     | 3 ++-
 .../multiple_lead_lags/ramst_augmented_histval.mod         | 3 ++-
 .../multiple_lead_lags/sim_base.mod                        | 5 +++--
 .../multiple_lead_lags/sim_endo_lead_lag.mod               | 3 ++-
 .../multiple_lead_lags/sim_endo_lead_lag_aux_vars.mod      | 5 +++--
 .../multiple_lead_lags/sim_exo_lead_lag.mod                | 3 ++-
 .../multiple_lead_lags/sim_exo_lead_lag_aux_vars.mod       | 3 ++-
 .../multiple_lead_lags/sim_lead_lag.mod                    | 3 ++-
 .../multiple_lead_lags/sim_lead_lag_aux_vars.mod           | 3 ++-
 tests/deterministic_simulations/purely_backward/ar1.mod    | 3 ++-
 tests/deterministic_simulations/purely_forward/ar1.mod     | 3 ++-
 tests/deterministic_simulations/purely_forward/nk.mod      | 3 ++-
 tests/deterministic_simulations/purely_static/toto.mod     | 3 ++-
 tests/deterministic_simulations/rbc_det1.mod               | 5 +++--
 tests/deterministic_simulations/rbc_det2.mod               | 5 +++--
 tests/deterministic_simulations/rbc_det3.mod               | 5 +++--
 tests/deterministic_simulations/rbc_det4.mod               | 5 +++--
 tests/deterministic_simulations/rbc_det5.mod               | 5 +++--
 tests/deterministic_simulations/rbc_det6.mod               | 6 ++++--
 tests/deterministic_simulations/rbc_det_exo_lag_2a.mod     | 5 +++--
 tests/deterministic_simulations/rbc_det_exo_lag_2b.mod     | 3 ++-
 tests/deterministic_simulations/rbc_det_exo_lag_2c.mod     | 3 ++-
 .../RBC_differentiate_forward.mod                          | 3 ++-
 tests/ep/rbcii.mod                                         | 3 ++-
 tests/histval_det.mod                                      | 3 ++-
 tests/histval_initval_file/sim_exo_lead_lag.mod            | 3 ++-
 tests/lmmcp/sw_lmmcp.mod                                   | 3 ++-
 tests/lmmcp/sw_newton.mod                                  | 5 +++--
 tests/predetermined_variables.mod                          | 3 ++-
 tests/ramst2.mod                                           | 5 +++--
 tests/ramst_a.mod                                          | 3 ++-
 tests/ramst_normcdf_and_friends.inc                        | 3 ++-
 tests/ramst_static_tag.mod                                 | 3 ++-
 tests/ramst_static_tag_block.mod                           | 3 ++-
 tests/ramst_vec.mod                                        | 3 ++-
 tests/ramst_xfail.mod                                      | 3 ++-
 tests/simul/Irreversible_investment.mod                    | 6 +++---
 tests/simul/Solow_no_varexo.mod                            | 4 +++-
 tests/simul/linear_state_space_arma.mod                    | 3 ++-
 tests/simul/simul_ZLB_purely_forward.mod                   | 3 ++-
 tests/simul/simul_ZLB_purely_forward_no_solution.mod       | 3 ++-
 tests/steady_state_operator/block.mod                      | 3 ++-
 tests/steady_state_operator/bytecode_test.mod              | 3 ++-
 tests/steady_state_operator/standard.mod                   | 3 ++-
 tests/steady_state_operator/use_dll.mod                    | 3 ++-
 tests/t_periods_a.mod                                      | 3 ++-
 52 files changed, 123 insertions(+), 67 deletions(-)

diff --git a/tests/block_bytecode/ireland.mod b/tests/block_bytecode/ireland.mod
index 08000ca584..885e92bd1f 100644
--- a/tests/block_bytecode/ireland.mod
+++ b/tests/block_bytecode/ireland.mod
@@ -72,6 +72,8 @@ end;
 
 model_info;
 
-simul(periods=2000, stack_solve_algo = 0,maxit=10);
+perfect_foresight_setup(periods=2000);
+perfect_foresight_solver(stack_solve_algo = 0, maxit=10);
+
 rplot y;
 rplot k;
diff --git a/tests/deterministic_simulations/homotopy.mod b/tests/deterministic_simulations/homotopy.mod
index f6b3081dd6..64ccde0d84 100644
--- a/tests/deterministic_simulations/homotopy.mod
+++ b/tests/deterministic_simulations/homotopy.mod
@@ -44,7 +44,8 @@ end;
 
 steady;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/homotopy_histval.mod b/tests/deterministic_simulations/homotopy_histval.mod
index 394081c56b..8a1bba3013 100644
--- a/tests/deterministic_simulations/homotopy_histval.mod
+++ b/tests/deterministic_simulations/homotopy_histval.mod
@@ -51,7 +51,8 @@ end;
 
 // steady;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/initialization.mod b/tests/deterministic_simulations/initialization.mod
index 057618526f..bc5288e6ed 100644
--- a/tests/deterministic_simulations/initialization.mod
+++ b/tests/deterministic_simulations/initialization.mod
@@ -17,11 +17,12 @@ end;
 check;
 
 %% DETERMINISTIC SIMULATION
-simul(periods = 40, stack_solve_algo=0, maxit=100);
+perfect_foresight_setup(periods = 40);
+perfect_foresight_solver(stack_solve_algo=0, maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 dsample 40;
-rplot x;
\ No newline at end of file
+rplot x;
diff --git a/tests/deterministic_simulations/linear_approximation/sw.mod b/tests/deterministic_simulations/linear_approximation/sw.mod
index 59510c2bc3..949d427267 100644
--- a/tests/deterministic_simulations/linear_approximation/sw.mod
+++ b/tests/deterministic_simulations/linear_approximation/sw.mod
@@ -115,13 +115,16 @@ steady;
 
 check;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
+
 endo_simul_0 = oo_.endo_simul;
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
-simul(linear_approximation,periods=300, stack_solve_algo=7);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver(linear_approximation, stack_solve_algo=7);
 endo_simul_1 = oo_.endo_simul;
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/AR2.mod b/tests/deterministic_simulations/multiple_lead_lags/AR2.mod
index df4839fecf..4280f3f385 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/AR2.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/AR2.mod
@@ -27,7 +27,8 @@ end;
 check;
 
 // Deterministic simulation of the model for 200 periods
-simul(periods=100, tolf=1e-12);
+perfect_foresight_setup(periods=100);
+perfect_foresight_solver(tolf=1e-12);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/AR2_forward.mod b/tests/deterministic_simulations/multiple_lead_lags/AR2_forward.mod
index d17f1a017b..3a9f01d73a 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/AR2_forward.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/AR2_forward.mod
@@ -29,7 +29,8 @@ end;
 check;
 
 // Deterministic simulation of the model for 200 periods
-simul(periods=100, tolf=1e-12);
+perfect_foresight_setup(periods=100);
+perfect_foresight_solver(tolf=1e-12);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.mod b/tests/deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.mod
index fb362e0dca..fe6e9ae2d4 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.mod
@@ -52,7 +52,8 @@ values 1.2;
 end;
 
 // Deterministic simulation of the model for 200 periods
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_base.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_base.mod
index c54c3b4727..0147d8d10b 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_base.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_base.mod
@@ -27,8 +27,9 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
-end
\ No newline at end of file
+end
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.mod
index 2a86e0db6a..fdb1b1bf06 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.mod
@@ -38,7 +38,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.mod
index d291d91815..395d9a9d62 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.mod
@@ -41,7 +41,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
@@ -53,4 +54,4 @@ if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'
     max(abs(base_results.oo_.endo_simul(strmatch('k',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
         oo_.endo_simul(strmatch('k',M_.endo_names,'exact'),1+M_.maximum_endo_lag:end-M_.maximum_endo_lead)))>1e-8
     error('Autonomous system part is wrong')
-end
\ No newline at end of file
+end
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.mod
index d84479a45e..ea3716c1af 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.mod
@@ -36,7 +36,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.mod
index 113812b5d9..a2ae0e347c 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.mod
@@ -41,7 +41,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag.mod
index 8187405455..927ba5f2d8 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag.mod
@@ -40,7 +40,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.mod b/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.mod
index b35cacd458..2a642e9d3f 100644
--- a/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.mod
+++ b/tests/deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.mod
@@ -51,7 +51,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200,maxit=100);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(maxit=100);
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/purely_backward/ar1.mod b/tests/deterministic_simulations/purely_backward/ar1.mod
index 1eb5dc5a44..024d3748d6 100644
--- a/tests/deterministic_simulations/purely_backward/ar1.mod
+++ b/tests/deterministic_simulations/purely_backward/ar1.mod
@@ -25,7 +25,8 @@ shocks;
     values 1;
 end;
 
-simul(periods=10);
+perfect_foresight_setup(periods=10);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/purely_forward/ar1.mod b/tests/deterministic_simulations/purely_forward/ar1.mod
index 4c7f8ee045..d5765ac15b 100644
--- a/tests/deterministic_simulations/purely_forward/ar1.mod
+++ b/tests/deterministic_simulations/purely_forward/ar1.mod
@@ -22,7 +22,8 @@ shocks;
     values 1 -1;
 end;
 
-simul(periods=5);
+perfect_foresight_setup(periods=5);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/purely_forward/nk.mod b/tests/deterministic_simulations/purely_forward/nk.mod
index 15295ff01c..8160e80928 100644
--- a/tests/deterministic_simulations/purely_forward/nk.mod
+++ b/tests/deterministic_simulations/purely_forward/nk.mod
@@ -35,7 +35,8 @@ periods 1 2;
 values  .3  -0.1;
 end;
 
-simul(periods=5);
+perfect_foresight_setup(periods=5);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/purely_static/toto.mod b/tests/deterministic_simulations/purely_static/toto.mod
index 21f76c7028..ba19563c1e 100644
--- a/tests/deterministic_simulations/purely_static/toto.mod
+++ b/tests/deterministic_simulations/purely_static/toto.mod
@@ -22,4 +22,5 @@ shocks;
     values 1 .5 .25 .125;
 end;
 
-simul(periods=4);
+perfect_foresight_setup(periods=4);
+perfect_foresight_solver;
diff --git a/tests/deterministic_simulations/rbc_det1.mod b/tests/deterministic_simulations/rbc_det1.mod
index 0458074b21..9b3635eb48 100644
--- a/tests/deterministic_simulations/rbc_det1.mod
+++ b/tests/deterministic_simulations/rbc_det1.mod
@@ -69,11 +69,12 @@ histval;
 Capital(0) = CapitalSS/2;
 end;
 
-simul(periods=20);
+perfect_foresight_setup(periods=20);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 rplot Consumption;
-rplot Capital;
\ No newline at end of file
+rplot Capital;
diff --git a/tests/deterministic_simulations/rbc_det2.mod b/tests/deterministic_simulations/rbc_det2.mod
index 7f38a3a34a..5da12fb89b 100644
--- a/tests/deterministic_simulations/rbc_det2.mod
+++ b/tests/deterministic_simulations/rbc_det2.mod
@@ -74,11 +74,12 @@ periods 1;
 values -0.1;
 end;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 rplot Consumption;
-rplot Capital;
\ No newline at end of file
+rplot Capital;
diff --git a/tests/deterministic_simulations/rbc_det3.mod b/tests/deterministic_simulations/rbc_det3.mod
index f805b607d8..77844d435c 100644
--- a/tests/deterministic_simulations/rbc_det3.mod
+++ b/tests/deterministic_simulations/rbc_det3.mod
@@ -69,11 +69,12 @@ periods 4, 5, 6, 7, 8;
 values 0.04, 0.05, 0.06, 0.07, 0.08;
 end;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 rplot Consumption;
-rplot Capital;
\ No newline at end of file
+rplot Capital;
diff --git a/tests/deterministic_simulations/rbc_det4.mod b/tests/deterministic_simulations/rbc_det4.mod
index 82542bb316..3855b2f0dc 100644
--- a/tests/deterministic_simulations/rbc_det4.mod
+++ b/tests/deterministic_simulations/rbc_det4.mod
@@ -72,11 +72,12 @@ end;
 
 steady;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 rplot Consumption;
-rplot Capital;
\ No newline at end of file
+rplot Capital;
diff --git a/tests/deterministic_simulations/rbc_det5.mod b/tests/deterministic_simulations/rbc_det5.mod
index ffeadf10a4..a6acd593af 100644
--- a/tests/deterministic_simulations/rbc_det5.mod
+++ b/tests/deterministic_simulations/rbc_det5.mod
@@ -78,11 +78,12 @@ periods 1:5;
 values 0;
 end;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 rplot Consumption;
-rplot Capital;
\ No newline at end of file
+rplot Capital;
diff --git a/tests/deterministic_simulations/rbc_det6.mod b/tests/deterministic_simulations/rbc_det6.mod
index ad1ff2870d..eec3832daf 100644
--- a/tests/deterministic_simulations/rbc_det6.mod
+++ b/tests/deterministic_simulations/rbc_det6.mod
@@ -69,14 +69,16 @@ histval;
 Capital(0) = CapitalSS/2;
 end;
 
-simul(periods=500);
+perfect_foresight_setup(periods=500);
+perfect_foresight_solver;
 fff = oo_.endo_simul;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
-simul(periods=500, endogenous_terminal_period);
+perfect_foresight_setup(periods=500);
+perfect_foresight_solver(endogenous_terminal_period);
 ggg = oo_.endo_simul;
 
 if ~oo_.deterministic_simulation.status
diff --git a/tests/deterministic_simulations/rbc_det_exo_lag_2a.mod b/tests/deterministic_simulations/rbc_det_exo_lag_2a.mod
index 087f84cdb8..7c87f76f75 100644
--- a/tests/deterministic_simulations/rbc_det_exo_lag_2a.mod
+++ b/tests/deterministic_simulations/rbc_det_exo_lag_2a.mod
@@ -72,11 +72,12 @@ periods 3;
 values -0.1;
 end;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
 end
 
 rplot Consumption;
-rplot Capital;
\ No newline at end of file
+rplot Capital;
diff --git a/tests/deterministic_simulations/rbc_det_exo_lag_2b.mod b/tests/deterministic_simulations/rbc_det_exo_lag_2b.mod
index 0d896b288d..1c45625564 100644
--- a/tests/deterministic_simulations/rbc_det_exo_lag_2b.mod
+++ b/tests/deterministic_simulations/rbc_det_exo_lag_2b.mod
@@ -73,7 +73,8 @@ periods 1;
 values -0.1;
 end;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/deterministic_simulations/rbc_det_exo_lag_2c.mod b/tests/deterministic_simulations/rbc_det_exo_lag_2c.mod
index 39058dda8a..4295936872 100644
--- a/tests/deterministic_simulations/rbc_det_exo_lag_2c.mod
+++ b/tests/deterministic_simulations/rbc_det_exo_lag_2c.mod
@@ -73,7 +73,8 @@ periods 1;
 values -0.1;
 end;
 
-simul(periods=300);
+perfect_foresight_setup(periods=300);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/differentiate_forward_vars/RBC_differentiate_forward.mod b/tests/differentiate_forward_vars/RBC_differentiate_forward.mod
index f95c85404d..d396e38c86 100644
--- a/tests/differentiate_forward_vars/RBC_differentiate_forward.mod
+++ b/tests/differentiate_forward_vars/RBC_differentiate_forward.mod
@@ -89,4 +89,5 @@ end;
 steady;
 check;
 
-simul(periods=500);
+perfect_foresight_setup(periods=500);
+perfect_foresight_solver;
diff --git a/tests/ep/rbcii.mod b/tests/ep/rbcii.mod
index 42ed2ea676..3f3fa32a5a 100644
--- a/tests/ep/rbcii.mod
+++ b/tests/ep/rbcii.mod
@@ -70,7 +70,8 @@ end;
 
     options_.simul.maxit = 100;
 
-    simul(periods=4000);
+    perfect_foresight_setup(periods=4000);
+    perfect_foresight_solver;
 
     n = 100;
 
diff --git a/tests/histval_det.mod b/tests/histval_det.mod
index 12c5f2cc75..a1379c1be7 100644
--- a/tests/histval_det.mod
+++ b/tests/histval_det.mod
@@ -35,4 +35,5 @@ x(0) = 0.9;
 z(-1) = 0.1;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
diff --git a/tests/histval_initval_file/sim_exo_lead_lag.mod b/tests/histval_initval_file/sim_exo_lead_lag.mod
index 5a06c1c5cb..ae6c224ec5 100644
--- a/tests/histval_initval_file/sim_exo_lead_lag.mod
+++ b/tests/histval_initval_file/sim_exo_lead_lag.mod
@@ -34,7 +34,8 @@ periods 2;
 values 0.9;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 if ~oo_.deterministic_simulation.status
    error('Perfect foresight simulation failed')
diff --git a/tests/lmmcp/sw_lmmcp.mod b/tests/lmmcp/sw_lmmcp.mod
index 1b57f5a5db..59758a55c7 100644
--- a/tests/lmmcp/sw_lmmcp.mod
+++ b/tests/lmmcp/sw_lmmcp.mod
@@ -68,4 +68,5 @@ end;
 
 @#include "sw-common-footer.inc"
 
-simul(periods=1000, lmmcp);
\ No newline at end of file
+perfect_foresight_setup(periods=1000);
+perfect_foresight_solver(lmmcp);
diff --git a/tests/lmmcp/sw_newton.mod b/tests/lmmcp/sw_newton.mod
index bab473d026..6162c79677 100644
--- a/tests/lmmcp/sw_newton.mod
+++ b/tests/lmmcp/sw_newton.mod
@@ -67,7 +67,8 @@ end;
 
 @#include "sw-common-footer.inc"
 
-simul(periods=1000);
+perfect_foresight_setup(periods=1000);
+perfect_foresight_solver;
 
 newton_solution_is_wrong = abs(evaluate_max_dynamic_residual(str2func('sw_newton.dynamic'), oo_.endo_simul, oo_.exo_simul, M_.params, oo_.steady_state, 1000, size(oo_.endo_simul, 1), 1, M_.lead_lag_incidence))>options_.dynatol.f;
 
@@ -87,4 +88,4 @@ end
 
 if lmmcp_solution_is_wrong
    error('Failed to solve SW with ZLB (using LMMCP algorithm on stacked model)!')
-end
\ No newline at end of file
+end
diff --git a/tests/predetermined_variables.mod b/tests/predetermined_variables.mod
index 5f6a495436..48212a9fb7 100644
--- a/tests/predetermined_variables.mod
+++ b/tests/predetermined_variables.mod
@@ -35,7 +35,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
diff --git a/tests/ramst2.mod b/tests/ramst2.mod
index a9f92ccb2e..e74d3aef12 100644
--- a/tests/ramst2.mod
+++ b/tests/ramst2.mod
@@ -34,7 +34,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 dynasave('myfile') c x k;
 dynatype('myfile1.txt') c x k;
@@ -42,4 +43,4 @@ dynatype('myfile1.txt') c x k;
 rplot c;
 rplot k;
 rplot dc;
-rplot s;
\ No newline at end of file
+rplot s;
diff --git a/tests/ramst_a.mod b/tests/ramst_a.mod
index 29a8cdf32e..ca1fcf4dee 100644
--- a/tests/ramst_a.mod
+++ b/tests/ramst_a.mod
@@ -31,7 +31,8 @@ periods 1 2 3 4;
 values 1.1 1.2 1.3 1.4;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
diff --git a/tests/ramst_normcdf_and_friends.inc b/tests/ramst_normcdf_and_friends.inc
index 2882fed6f4..fa604c56d2 100644
--- a/tests/ramst_normcdf_and_friends.inc
+++ b/tests/ramst_normcdf_and_friends.inc
@@ -67,7 +67,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=20);
+perfect_foresight_setup(periods=20);
+perfect_foresight_solver;
 
 if(abs(oo_.steady_state(5) - erf(1)) > 1e-10)
    error('Test failed in static @{mode_name} for erf')
diff --git a/tests/ramst_static_tag.mod b/tests/ramst_static_tag.mod
index 6b69f8a2e1..33c9570868 100644
--- a/tests/ramst_static_tag.mod
+++ b/tests/ramst_static_tag.mod
@@ -31,7 +31,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
diff --git a/tests/ramst_static_tag_block.mod b/tests/ramst_static_tag_block.mod
index c9736021fa..01c8faa617 100644
--- a/tests/ramst_static_tag_block.mod
+++ b/tests/ramst_static_tag_block.mod
@@ -33,7 +33,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
diff --git a/tests/ramst_vec.mod b/tests/ramst_vec.mod
index 6085a1193d..b486ef7d40 100644
--- a/tests/ramst_vec.mod
+++ b/tests/ramst_vec.mod
@@ -32,7 +32,8 @@ periods 1:2;
 values (a);
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
diff --git a/tests/ramst_xfail.mod b/tests/ramst_xfail.mod
index dd428b4ff7..c10ec3d54a 100644
--- a/tests/ramst_xfail.mod
+++ b/tests/ramst_xfail.mod
@@ -28,7 +28,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
diff --git a/tests/simul/Irreversible_investment.mod b/tests/simul/Irreversible_investment.mod
index 02719c4271..541179a087 100644
--- a/tests/simul/Irreversible_investment.mod
+++ b/tests/simul/Irreversible_investment.mod
@@ -104,9 +104,9 @@ var epsilonA1; periods 1; values 2;
 
 end;
 
-options_.simul.robust_lin_solve=1;
-simul( periods = 400 );
+perfect_foresight_setup(periods=400);
+perfect_foresight_solver(robust_lin_solve);
 
 if ~oo_.deterministic_simulation.status
     error('Model did not solve')
-end
\ No newline at end of file
+end
diff --git a/tests/simul/Solow_no_varexo.mod b/tests/simul/Solow_no_varexo.mod
index 16a4ec0bd7..4d9da08f16 100644
--- a/tests/simul/Solow_no_varexo.mod
+++ b/tests/simul/Solow_no_varexo.mod
@@ -61,5 +61,7 @@ end;
 resid;
 steady;
 
-simul(periods=200, solve_algo=4);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver(solve_algo=4);
+
 rplot k;
diff --git a/tests/simul/linear_state_space_arma.mod b/tests/simul/linear_state_space_arma.mod
index 8de3d47cea..87ca7d69da 100644
--- a/tests/simul/linear_state_space_arma.mod
+++ b/tests/simul/linear_state_space_arma.mod
@@ -40,4 +40,5 @@ x=0;
 z=0;
 end;
 steady;
-simul(periods=1000,stack_solve_algo=0);
+perfect_foresight_setup(periods=1000);
+perfect_foresight_solver(stack_solve_algo=0);
diff --git a/tests/simul/simul_ZLB_purely_forward.mod b/tests/simul/simul_ZLB_purely_forward.mod
index d09a327647..9eaf8abb33 100644
--- a/tests/simul/simul_ZLB_purely_forward.mod
+++ b/tests/simul/simul_ZLB_purely_forward.mod
@@ -87,7 +87,8 @@ periods 1:10;
 values 1.05;
 end;
 
-simul(periods=40,maxit=1000);
+perfect_foresight_setup(periods=40);
+perfect_foresight_solver(maxit=1000);
 
 rplot gdp_hat;
 rplot R;
diff --git a/tests/simul/simul_ZLB_purely_forward_no_solution.mod b/tests/simul/simul_ZLB_purely_forward_no_solution.mod
index a2ff16ac4b..4610886757 100644
--- a/tests/simul/simul_ZLB_purely_forward_no_solution.mod
+++ b/tests/simul/simul_ZLB_purely_forward_no_solution.mod
@@ -87,7 +87,8 @@ periods 1:10;
 values 1.05;
 end;
 
-simul(periods=40,maxit=1000);
+perfect_foresight_setup(periods=40);
+perfect_foresight_solver(maxit=1000);
 
 if oo_.deterministic_simulation.status==1
     error('This model has no solution');
diff --git a/tests/steady_state_operator/block.mod b/tests/steady_state_operator/block.mod
index 9bf7a5c958..53f546c530 100644
--- a/tests/steady_state_operator/block.mod
+++ b/tests/steady_state_operator/block.mod
@@ -33,7 +33,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=20);
+perfect_foresight_setup(periods=20);
+perfect_foresight_solver;
 
 if(abs(oo_.steady_state(2) - oo_.steady_state(3)) > 1e-10)
    error('Test failed in static M-file for steady_state')
diff --git a/tests/steady_state_operator/bytecode_test.mod b/tests/steady_state_operator/bytecode_test.mod
index fff93e9906..c637b25d74 100644
--- a/tests/steady_state_operator/bytecode_test.mod
+++ b/tests/steady_state_operator/bytecode_test.mod
@@ -33,7 +33,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=20, stack_solve_algo=5);
+perfect_foresight_setup(periods=20);
+perfect_foresight_solver(stack_solve_algo=5);
 
 if(abs(oo_.steady_state(2) - oo_.steady_state(3)) > 1e-10)
    error('Test failed in static M-file for steady_state')
diff --git a/tests/steady_state_operator/standard.mod b/tests/steady_state_operator/standard.mod
index 1ad68b6713..6432439c6c 100644
--- a/tests/steady_state_operator/standard.mod
+++ b/tests/steady_state_operator/standard.mod
@@ -33,7 +33,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=20);
+perfect_foresight_setup(periods=20);
+perfect_foresight_solver;
 
 if(abs(oo_.steady_state(2) - oo_.steady_state(3)) > 1e-10)
    error('Test failed in static M-file for steady_state')
diff --git a/tests/steady_state_operator/use_dll.mod b/tests/steady_state_operator/use_dll.mod
index d8de6cec29..d4d308bd42 100644
--- a/tests/steady_state_operator/use_dll.mod
+++ b/tests/steady_state_operator/use_dll.mod
@@ -33,7 +33,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=20);
+perfect_foresight_setup(periods=20);
+perfect_foresight_solver;
 
 if(abs(oo_.steady_state(2) - oo_.steady_state(3)) > 1e-10)
    error('Test failed in static M-file for steady_state')
diff --git a/tests/t_periods_a.mod b/tests/t_periods_a.mod
index 1ab399c6b8..26a064d9ef 100644
--- a/tests/t_periods_a.mod
+++ b/tests/t_periods_a.mod
@@ -30,7 +30,8 @@ periods 1;
 values 1.2;
 end;
 
-simul(periods=200);
+perfect_foresight_setup(periods=200);
+perfect_foresight_solver;
 
 rplot c;
 rplot k;
-- 
GitLab