Running a ROLLO Simulation
Contents
Running a ROLLO Simulation
After you build and install ROLLO, you will have a ROLLO executable in your system. To run a ROLLO simulation, enter these commands in a terminal:
python -m rollo -i <input file> -c <checkpoint file> -v
Flag |
Description |
Mandatory? |
---|---|---|
-i |
name of input file |
yes |
-c |
name of checkpoint restart file |
no |
-v |
turns on verbose output (only include the flag) |
no |
The checkpoint file holds the results from the ROLLO simulation.
ROLLO automatically generates/updates a checkpoint file (checkpoint.pkl
)
after each generation.
The checkpoint file also acts as a restart file.
If a ROLLO simulation ends prematurely, the checkpoint
file can be used to restart the code from the most recent generation and
continue the simulation. Further description can be found in the
checkpoint file section.
ROLLO Execution
Users define the ROLLO genetic algorithm’s number of generations
and
pop_size
(more description in input file algorithm section).
During each generation’s run, ROLLO will create population size
number of
sub-directories which contain all the evaluator’s evaluation files.
The sub-directories are indexed by generation number and individual number;
for generation 3 and individual 5, the directory will be named: 3_5
.
The individual refers to each reactor model.
In each individual’s directory, ROLLO will add the templated input_script
file, optional execute
files, and output_script
file.
ROLLO will then run the input_script
, execute
files, and
output_script
file.
All their respective output files will be in the individual directory as well.
For each run, ROLLO will output a .txt file with the terminal output from the run.
The txt file is named evaluator name _ file type _ out.txt. Thus, for evaluator
named OpenMC and the input script, the .txt file will be named
openmc_input_script_out.txt
.
These terminal outputs assist with debugging and understanding what is happening
during a ROLLO simulation.
Users define if they want to keep these directories using the keep_files
parameter (input file algorithm section).
Users have three options: none
, only_final
, and all
.
none
deletes each directory once the individual’s run is complete,
only_final
deletes all directories except for the final generation, and
all
keeps all directories.
These options give users the option to save or not save evaluation files based on
the storage of their machine.
ROLLO Terminal Outputs
After each ROLLO generation runs, ROLLO will output the following table with details about that generation’s run.
oup ind
------------------------------- ----------------------------------------
time gen evals avg std min max avg min max
73.4 0 100 [19.8] [3.01] [4.47] [22.1] [1.81 -3.97] [-32.6 -32.0] [32.1 32.3]
The table below describes each section of the above outputted table:
Heading |
Description |
---|---|
time |
Total time taken to run generation in seconds |
gen |
Generation # |
evals |
Total number of individuals evaluated (<= population size defined in input file) |
oup |
average, standard deviation, minimum value, maximum value of output parameters (objective and constraint values) |
ind |
average, minimum value, maximum value of input parameters (control variables) |