Choregrapher#
- class openalea.metafspm.component_factory.Choregrapher(*args, **kwargs)[source]#
Bases:
SingletonThis Singleton class retreives the processes tagged by a decorator in a model class. It also provides a __call__ method to schedule model execution.
- __init__()#
Methods
__init__()add_process(f, name)add_schedule(schedule)Method to edit standarded scheduling proposed by the choregrapher.
add_simulation_time_step(simulation_time_step)Enables to add a global simulation time step to the Choregrapher for it to slice subtimesteps accordingly :param simulation_time_step: global simulation time step in seconds :return:
add_time_and_data(instance, sub_time_step, data)Method used to prepare collected functors for repeated computations, should be used after model class have received their parameters.
build_schedule(module_family)Attributes
consensus_schedulingfilteruniversal_steps- add_schedule(schedule)[source]#
Method to edit standarded scheduling proposed by the choregrapher. Guidelines : - Rows’ index in the list are priority order. - Elements’ index in the rows are in priority order. Thus, you should design the priority of this schedule so that “actual rate” comming before “potential state” is indeed the expected behavior in computation scheduling. :param schedule: List of lists of stings associated to available decorators :
For metabolic models, soil models (priority order) : - rate : for process rate computation that will affect model states (ex : transport flow, metabolic consumption) - state : for state balance computation, from previous state and integration of rates’ modification (ex : concentrations and contents) - deficit : for abnormal state values resulting from rate balance, cumulative deficits are computed before thresholding state values (ex : negative concentrations)
For growth models (priority order) : - potential : potential element growth computations regarding element initial state - actual : actual element growth computations regarding element states actualizing structural states (belongs to state) - segmentation : single element partitionning in several uppon actual growth if size exceeds a threshold.
- add_simulation_time_step(simulation_time_step: int)[source]#
Enables to add a global simulation time step to the Choregrapher for it to slice subtimesteps accordingly :param simulation_time_step: global simulation time step in seconds :return: