diff --git a/DynamicModel.cc b/DynamicModel.cc index 896fa47c..186dbbd0 100644 --- a/DynamicModel.cc +++ b/DynamicModel.cc @@ -2683,6 +2683,8 @@ DynamicModel::computingPass(bool jacobianExo, bool hessian, bool thirdDerivative { assert(jacobianExo || !(hessian || thirdDerivatives || paramsDerivatives)); + initializeVariablesAndEquations(); + // Prepare for derivation computeDerivIDs(); diff --git a/ModFile.cc b/ModFile.cc index 33c964ca..e21e46e2 100644 --- a/ModFile.cc +++ b/ModFile.cc @@ -358,7 +358,6 @@ ModFile::computingPass(bool no_tmp_terms) dynamic_model.toStatic(static_model); if (!no_static) { - static_model.initializeVariablesAndEquations(); if (mod_file_struct.stoch_simul_present || mod_file_struct.estimation_present || mod_file_struct.osr_present || mod_file_struct.ramsey_policy_present || mod_file_struct.identification_present) @@ -371,7 +370,6 @@ ModFile::computingPass(bool no_tmp_terms) || mod_file_struct.estimation_present || mod_file_struct.osr_present || mod_file_struct.ramsey_policy_present || mod_file_struct.identification_present) { - dynamic_model.initializeVariablesAndEquations(); if (mod_file_struct.simul_present) dynamic_model.computingPass(true, false, false, false, global_eval_context, no_tmp_terms, block, use_dll, byte_code); else diff --git a/StaticModel.cc b/StaticModel.cc index 2488a3cd..b6fcb571 100644 --- a/StaticModel.cc +++ b/StaticModel.cc @@ -1065,6 +1065,8 @@ StaticModel::collect_first_order_derivatives_endogenous() void StaticModel::computingPass(const eval_context_t &eval_context, bool no_tmp_terms, bool hessian, bool block, bool bytecode) { + initializeVariablesAndEquations(); + // Compute derivatives w.r. to all endogenous, and possibly exogenous and exogenous deterministic set vars;