|
|
|
@ -20,7 +20,7 @@ async def get_model_data(*, db_session: DbSession, simulation_id: Optional[UUID]
|
|
|
|
simulation = await get_simulation_by_id(
|
|
|
|
simulation = await get_simulation_by_id(
|
|
|
|
db_session=db_session, simulation_id=simulation_id, is_completed=True
|
|
|
|
db_session=db_session, simulation_id=simulation_id, is_completed=True
|
|
|
|
)
|
|
|
|
)
|
|
|
|
main_node = await get_simulation_node_by(db_session=db_session, node_name="Main")
|
|
|
|
main_node = await get_simulation_node_by(db_session=db_session, node_name="Boiler")
|
|
|
|
|
|
|
|
|
|
|
|
main_calc_data = await get_calc_result_by(
|
|
|
|
main_calc_data = await get_calc_result_by(
|
|
|
|
db_session=db_session, simulation_id=simulation.id, aeros_node_id=main_node.id
|
|
|
|
db_session=db_session, simulation_id=simulation.id, aeros_node_id=main_node.id
|
|
|
|
@ -30,11 +30,11 @@ async def get_model_data(*, db_session: DbSession, simulation_id: Optional[UUID]
|
|
|
|
total_time = main_calc_data.total_uptime + main_calc_data.total_downtime
|
|
|
|
total_time = main_calc_data.total_uptime + main_calc_data.total_downtime
|
|
|
|
|
|
|
|
|
|
|
|
# Availability Factor (same as your first formula - this one is correct)
|
|
|
|
# Availability Factor (same as your first formula - this one is correct)
|
|
|
|
availability = main_calc_data.total_uptime / total_time
|
|
|
|
availability = (main_calc_data.total_uptime / total_time) * 100
|
|
|
|
|
|
|
|
|
|
|
|
# Equivalent Forced Outage Rate (EFOR)
|
|
|
|
# Equivalent Forced Outage Rate (EFOR)
|
|
|
|
EFOR = main_calc_data.total_downtime / total_time
|
|
|
|
EFOR = (main_calc_data.total_downtime / total_time) * 100
|
|
|
|
|
|
|
|
|
|
|
|
EAF = main_calc_data.production / main_calc_data.ideal_production
|
|
|
|
EAF = (main_calc_data.production / main_calc_data.ideal_production) * 100
|
|
|
|
|
|
|
|
|
|
|
|
return {"id": str(simulation.id), "availability": availability, "EFOR": EFOR, "EAF": EAF}
|
|
|
|
return {"id": str(simulation.id), "availability": availability, "EFOR": EFOR, "EAF": EAF}
|
|
|
|
|