8.1. Initialisation
- slfgenerator.__init__(component_data: component_data_model, edp: str, correlation_tree: correlation_tree_model = None, typology: List[str] = None, edp_range: List[float] | ndarray = None, edp_bin: float = None, grouping_flag: bool = True, conversion: float = 1.0, realizations: int = 20, replacement_cost: float = 1.0, regression: str = 'Weibull', storey: int | List[int] = None, directionality: int = None)[source]
Initialise the SLF generator.
- Parameters:
component_data (pandas.DataFrame) – Inventory of component data (loaded from CSV).
edp (str) – Engineering Demand Parameter;
'PSD'(Peak Storey Drift) or'PFA'(Peak Floor Acceleration).correlation_tree (pandas.DataFrame, optional) – Correlation tree defining component dependencies. Default
None.typology (List[str], optional) – Component typologies to include (
'ns'or's'). DefaultNone.edp_range (array-like, optional) – Custom EDP value range. If
None, defaults are used.edp_bin (float, optional) – EDP bin size. If
None, a type-specific default is used.grouping_flag (bool, optional) – Whether to group components by performance group. Default
True.conversion (float, optional) – Cost conversion factor. Default
1.0.realizations (int, optional) – Number of Monte Carlo realizations. Default
20.replacement_cost (float, optional) – Normalising replacement cost. Default
1.0.regression (str, optional) – Regression model:
'Weibull','Papadopoulos','Gdp', or'Lognormal'. Default'Weibull'.storey (int or List[int], optional) – Storey level(s) to include. Default
None.directionality (int, optional) – Analysis directionality flag. Default
None.
Example
import numpy as np
import pandas as pd
from openquake.vmtk.slfgenerator import slfgenerator
inventory = pd.read_csv("demos/StoreyLossFunctionGeneration/in/inventory_psd.csv")
model = slfgenerator(
component_data=inventory,
edp="PSD",
edp_range=np.linspace(0.001, 0.10, 100),
grouping_flag=True,
conversion=1.0,
realizations=500,
replacement_cost=1.0,
)