run_multi()
provides the functionality of running multiple models in
parallel.
later package is used to poll the
standard output and error of background EnergyPlus process or background
R process that handles parallel simulations. The print interval is set to
0.5 sec.
For run_idf()
, a named list will be returned:
idf
: The path of IDF file
epw
: The path of EPW file
exit_status
: The exit code of the process if it has finished and NULL
otherwise. Always being NULL
if wait
is FALSE, but you can manually
get the exit code using the process object, i.e.
process$get_exit_status()
after simulation completed.
start_time
: When the EnergyPlus process started.
end_time
: When the EnergyPlus process stopped. All being NULL
if
wait
is FALSE
, but you can manually check EnergyPlus stdout
to get
the simulation time
output_dir
: The simulation output directory
energyplus
: The path of EnergyPlus executable
stdout
: All standard output from EnergyPlus. Always being NULL
if
wait
is FALSE
, but you can manually get all standard output using
process$read_all_output_lines()
.
stderr
: All standard error from EnergyPlus. Always being NULL
if
wait
is FALSE
, but you can manually get all standard output using
process$read_all_output_lines()
.
process
: A processx::process object of current EnergyPlus simulation
For run_multi()
, if wait
is TRUE
, a
data.table contains all data (excluding
process
) with same column names as above, and also another two columns:
For run_multi()
, if wait
is FALSE
, a r_process
object of background R process which handles all simulation jobs is
returned. You can check if the jobs are completed using $is_alive()
and
get the final data.table using $get_result()
.
It is suggested to run simulations using EplusJob class and
ParametricJob class, which provide much more detailed controls
on the simulation and also methods to extract simulation outputs.