abstract_recovery_model

class pyrecodes.component_recovery_model.abstract_recovery_model.AbstractRecoveryModel(recovery_model_parameters: dict)

Bases: RecoveryModel

Abstract class for all component recovery models.

get_damage_level() None

To be implemented in subclasses.

get_demand() dict

To be implemented in subclasses.

get_functionality_level() float

Get the functionality level of the component based on current damage level.

Returns:

float: The functionality level.

get_time_step_length(time_step: int) tuple[int, int]

Get the start and end of the recovery interval for the given time step.

Returns the interval (time_step, time_step+1) for the first recovery time step, or (previous_time_step+1, time_step+1) for all subsequent ones.

parameters = {}
recover(time_step: int) None

To be implemeneted in subclasses.

set_activities_demand_to_met() None
set_damage_functionality(damage_functionality_relation: dict) None
Set damage functionality relation. This relation is used to get the component’s functionality level based on its current damage level.
If no type is specified, constant relation is used.
Args:

damage_functionality_relation (dict): Damage functionality relation type and parameters.

set_initial_damage_level(damage_level: float) None

To be implemented in subclasses.

set_met_demand_for_recovery_activities(resource_name: str, percent_of_met_demand: float) None

To be implemented in subclasses.

set_parameters(parameters: dict) None

To be implemented in subclasses.

set_recovery_time_steps(time_steps: list) None