diff --git a/src/aeros_equipment/service.py b/src/aeros_equipment/service.py index 0c8145d..f64661f 100644 --- a/src/aeros_equipment/service.py +++ b/src/aeros_equipment/service.py @@ -337,6 +337,10 @@ def get_distribution_from_db(parameters: dict, is_repairable: bool = True, best_ if method == "NHPP": beta = parameters.get("beta", 1.0) eta = parameters.get("eta", 100000) + + if eta < 100: + eta = 15000 + return "NHPPTTFF", beta, eta elif method == "Weibull-2P": beta = parameters.get("beta", 1.0) @@ -362,7 +366,7 @@ def get_distribution_from_db(parameters: dict, is_repairable: bool = True, best_ sigma = parameters.get("sigma", 1) return "Lognormal", mu, sigma elif distribution == "Normal": - mu = parameters.get("mu", 0) + mu = parameters.get("mu", 100000) sigma = parameters.get("sigma", 1) if sigma > 1000 or sigma < 0: sigma = 999 @@ -372,12 +376,18 @@ def get_distribution_from_db(parameters: dict, is_repairable: bool = True, best_ beta = parameters.get("beta", 1.0) eta = parameters.get("eta", 100000) return "Weibull2", beta, eta + elif distribution == "Exponential-2P": + lambda_val = parameters.get("Lambda", 0.00001) + gamma = parameters.get("gamma", 0) + return "Exponential2", lambda_val, gamma else: # Default to Normal - mu = parameters.get("mu", 0) + mu = parameters.get("mu", 100000) sigma = parameters.get("sigma", 1) if sigma > 1000 or sigma < 0: sigma = 999 + if mu <=0 : + mu = 19000 return "Normal", mu, sigma async def update_oh_interval_offset(*, aeros_db_session, overhaul_offset, overhaul_interval, project_name): @@ -598,7 +608,10 @@ async def update_equipment_for_simulation( eq.setdefault("cmDisP3", 0) eq.setdefault("relDisP1", 0) eq.setdefault("relDisP2", 0) - eq.setdefault("relDisP3", 0) + if eq.get("relDisType") == "Normal": + sigma = eq.get("relDisP2", 0) + if sigma > 1000 or sigma < 0: + eq["relDisP2"] = 999 eq["ohDisType"] = "Fixed" eq["ohDisP1"] = overhaul_duration