Overview
Theevaluator module provides the Evaluator class and handler classes for managing task evaluation and output. Handlers specify what to compute and when, while the evaluator coordinates the actual computation.
Evaluator
Evaluator Class
Parameters
- dist (Distributor): Problem distributor
- vars (dict): Variables for parsing task strings
Methods
add_file_handler(filename, …) - Create file output handlerHandlers
Handler Base Class
All handlers share common parameters:Scheduling Parameters
- sim_dt (float, optional): Simulation time cadence
- wall_dt (float, optional): Wall time cadence (seconds)
- iter (int, optional): Iteration cadence
- custom_schedule (function, optional): Custom scheduling function
- group (str, optional): Handler group name
Methods
add_task(task, layout=‘g’, name=None, scales=None) - Add a task to evaluateFileHandler
Parameters
- filename (str): Base filename/path for output
- max_writes (int, optional): Maximum writes per file (default: unlimited)
- mode (str, optional): ‘overwrite’ or ‘append’ (default: ‘overwrite’)
- parallel (str, optional): ‘gather’, ‘virtual’, or ‘mpio’ (default: ‘gather’)
- Scheduling parameters (sim_dt, wall_dt, iter, etc.)
Example: Basic File Output
Example: Multiple Handlers
Parallel Output Methods
‘gather’ (default): Gather to process 0, write single file- Simple, portable
- Memory intensive for large problems
- Scalable
- Requires HDF5 1.10+
- Scalable
- Requires parallel HDF5 build