|
|
|
|
@ -160,7 +160,7 @@ async def execute_simulation(
|
|
|
|
|
simulation.result = result
|
|
|
|
|
await db_session.commit()
|
|
|
|
|
await save_simulation_result(
|
|
|
|
|
db_session=db_session, simulation_id=simulation_id, result=result, schematic_name=sim_data["SchematicName"]
|
|
|
|
|
db_session=db_session, simulation_id=simulation_id, result=result, schematic_name=sim_data["SchematicName"],eq_update=eq_update
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
print("Simulation completed with id: %s", simulation_id)
|
|
|
|
|
@ -198,7 +198,7 @@ async def get_all_aeros_node(*, db_session: DbSession, schematic_name: Optional[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def save_simulation_result(
|
|
|
|
|
*, db_session: DbSession, simulation_id: UUID, result: dict, schematic_name: str
|
|
|
|
|
*, db_session: DbSession, simulation_id: UUID, result: dict, schematic_name: str, eq_update: dict
|
|
|
|
|
):
|
|
|
|
|
print("Saving simulation result")
|
|
|
|
|
"""Save the simulation result."""
|
|
|
|
|
@ -219,6 +219,13 @@ async def save_simulation_result(
|
|
|
|
|
node_type = "RegularNode" if result["nodeType"] == "RegularNode" else "SchematicNode"
|
|
|
|
|
node = avaiable_nodes.get(f"{node_type}:{result['nodeName']}", None)
|
|
|
|
|
|
|
|
|
|
eq_reliability = eq_update.get(result["nodeName"], {
|
|
|
|
|
"eta": 0,
|
|
|
|
|
"beta": 0,
|
|
|
|
|
"mttr": 0
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not node:
|
|
|
|
|
if result["nodeType"] != "RegularNode" and result["nodeType"] != "Schematic":
|
|
|
|
|
@ -261,6 +268,9 @@ async def save_simulation_result(
|
|
|
|
|
average_level=result["averageLevel"],
|
|
|
|
|
potential_production=result["potentialProduction"],
|
|
|
|
|
eaf=result["production"] / result["idealProduction"] if result["idealProduction"] > 0 else 0,
|
|
|
|
|
beta=eq_reliability["beta"] if node_type == "RegularNode" else None,
|
|
|
|
|
eta=eq_reliability["eta"] if node_type == "RegularNode" else None,
|
|
|
|
|
mttr=eq_reliability["mttr"] if node_type == "RegularNode" else None
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
calc_objects.append(calc_result)
|
|
|
|
|
|