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, option_to_use=3) int
Get the time step length based on the recovery time stepping interval.
Three options for calculating the time step length are provided.
At the moment Option 3 is used, as it seems to work the best. It is not clear which one is most appropriate in general.
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