hpcflow.sdk.core.loop_cache.LoopCache#
- class hpcflow.sdk.core.loop_cache.LoopCache(element_dependents, elements, zeroth_iters, data_idx, iterations, task_iterations)#
Bases:
object
Class to store a cache for use in Workflow.add_empty_loop and WorkflowLoop.add_iterations.
- Parameters:
- element_dependents#
Keys are element IDs, values are dicts whose keys are element IDs that depend on the key element ID (via Element.get_dependent_elements_recursively), and whose values are dicts with keys: group_names, which is a tuple of the string group names associated with the dependent element’s element set.
- Type:
Dict[int, Dict]
- elements#
Keys are element IDs, values are dicts with keys: input_statuses, input_sources, and task_insert_ID.
- Type:
Dict[int, Dict]
- zeroth_iters#
Keys are element IDs, values are data associated with the zeroth iteration of that element, namely a tuple of iteration ID and ElementIteration.data_idx.
- Type:
Dict[int, Tuple]
- data_idx#
Keys are element IDs, values are data associated with all iterations of that element, namely a dict whose keys are the iteration loop index as a tuple, and whose values are data indices via ElementIteration.get_data_idx().
- Type:
Dict[int, Dict]
- iterations#
Keys are iteration IDs, values are tuples of element ID and iteration index within that element.
- Type:
Dict[int, Tuple]
- task_iterations#
Keys are task insert IDs, values are list of all iteration IDs associated with that task.
Methods
Update the cache to include a newly added iteration.
Build a cache of data for use in adding loops and iterations.
Retrieve a list of iteration IDs belonging to a given loop.
Attributes
- add_iteration(iter_ID, task_insert_ID, element_ID, loop_idx, data_idx)#
Update the cache to include a newly added iteration.
- classmethod build(workflow, loops=None)#
Build a cache of data for use in adding loops and iterations.
- get_iter_IDs(loop)#
Retrieve a list of iteration IDs belonging to a given loop.
- get_iter_loop_indices(iter_IDs)#
- update_loop_indices(new_loop_name, iter_IDs)#