add to simulation rbd

main
Cizz22 3 months ago
parent 93baa501dd
commit def04120d5

@ -315,7 +315,7 @@ def get_distribution(item):
return name, 0, 0
async def update_equipment_for_simulation(*, db_session: DbSession, project_name: str, schematic_name: str, custom_input: Optional[dict] = None):
async def update_equipment_for_simulation(*, db_session: DbSession, project_name: str,overhaul_duration, overhaul_interval, offset ,schematic_name: str, custom_input: Optional[dict] = None):
log.info("Updating equipment for simulation")
aeros_schematic = await get_aeros_schematic_by_name(db_session=db_session, schematic_name=schematic_name)
@ -372,6 +372,7 @@ async def update_equipment_for_simulation(*, db_session: DbSession, project_name
eq["relDisType"] = "Fixed"
eq["relDisP1"] = float(custom_param["failure_rate"])
eq["relDisP2"] = 0
eq["ohDisP1"] = overhaul_duration
reqNodeInputs.append(eq)
results[eq["equipmentName"]] = {
@ -387,6 +388,7 @@ async def update_equipment_for_simulation(*, db_session: DbSession, project_name
eq["relDisType"] = reliabiility.get("relDisType", "Fixed")
eq["relDisP1"] = reliabiility.get("relDisP1", 0)
eq["relDisP2"] = reliabiility.get("relDisP2", 0)
eq["ohDisP1"] = overhaul_duration
reqNodeInputs.append(eq)
results[eq["equipmentName"]] = {

@ -17,6 +17,7 @@ class AerosSimulation(Base, DefaultMixin):
schematic_name = Column(String, nullable=False)
reliability = Column(JSON, nullable=True)
duration = Column(Integer, nullable=True)
offset = Column(Integer, nullable=True)
is_default = Column(Boolean, default=False)
calc_results = relationship(
@ -174,4 +175,15 @@ class EafContribution(Base, DefaultMixin):
location_tag = Column(String, nullable=False)
eaf_contribution = Column(Float, nullable=False)
efficiency_uptime = Column(Float, nullable=False)
edh = Column(Float, nullable=False)
edh = Column(Float, nullable=False)
# models.py
class AerosSimulationProgress(Base):
__tablename__ = "simulation_progress"
simulation_id = Column(Integer, primary_key=True)
status = Column(String, default="pending") # pending, running, failed, completed
step = Column(String, nullable=True)
progress = Column(Integer, default=0) # 0-100
error_message = Column(String, nullable=True)

@ -96,6 +96,9 @@ async def run_simulations(
db_session=db_session,
project_name=project.project_name,
schematic_name=simulation_in.SchematicName,
overhaul_duration=simulation_in.OverhaulDuration,
overhaul_interval=simulation_in.OverhaulInterval,
offset=simulation_in.OffSet,
custom_input=simulation_in.CustomInput,
)

@ -18,6 +18,11 @@ class SimulationInput(BaseModel):
CustomInput: dict = {}
IsDefault:bool = False
Konkin_offset: Optional[int] = 0
OffSet: Optional[int] = 0
MaintenanceOutages: Optional[int] = 0
PlannedOutages: Optional[int] = 0
OverhaulInterval: Optional[int] = Field(0)
OverhaulDuration: Optional[int] = Field(50)
class SimulationNode(BaseModel):
id: UUID

@ -998,7 +998,9 @@ async def create_simulation(*, db_session: DbSession, simulation_in: SimulationI
"started_at": datetime.now(),
"simulation_name": simulation_in.SimulationName,
"schematic_name": "- TJB - Unit 3 -",
"is_default": simulation_in.IsDefault
"is_default": simulation_in.IsDefault,
"duration": simulation_in.SimDuration,
"offset": simulation_in.OffSet
}
simulation = AerosSimulation(**active_simulations)

Loading…
Cancel
Save