Commit 7e2d8827 authored by Georgios Dagkakis's avatar Georgios Dagkakis Committed by Jérome Perrin

examples that use failures updated

parent 70bfa1f3
No preview for this file type
......@@ -6,17 +6,24 @@ from simulation.Part import Part
from simulation.Repairman import Repairman
from simulation.Queue import Queue
from simulation.Globals import G
from simulation.Failure import Failure
#define the objects of the model
R=Repairman('R1', 'Bob')
S=Source('S1','Source', mean=0.5, item=Part)
M1=Machine('M1','Machine1', mean=0.25, failureDistribution='Fixed', MTTF=60, MTTR=5, repairman=R)
M1=Machine('M1','Machine1', mean=0.25)
Q=Queue('Q1','Queue')
M2=Machine('M2','Machine2', mean=1.5, failureDistribution='Fixed', MTTF=40, MTTR=10,repairman=R)
M2=Machine('M2','Machine2', mean=1.5)
E=Exit('E1','Exit')
#create failures
F1=Failure(victim=M1, distributionType='Fixed', MTTF=60, MTTR=5, repairman=R)
F2=Failure(victim=M2, distributionType='Fixed', MTTF=40, MTTR=10, repairman=R)
G.ObjList=[S,M1,M2,E,Q] #add all the objects in G.ObjList so that they can be easier accessed later
G.FailureList=[F1,F2] #add all the objects in G.ObjList so that they can be easier accessed later
#define predecessors and successors for the objects
S.defineRouting([M1])
M1.defineRouting([S],[Q])
......@@ -31,11 +38,17 @@ R.initialize()
for object in G.ObjList:
object.initialize()
for failure in G.FailureList:
failure.initialize()
#activate all the objects
for object in G.ObjList:
activate(object, object.run())
for failure in G.FailureList:
activate(failure, failure.run())
G.maxSimTime=1440.0 #set G.maxSimTime 1440.0 minutes (1 day)
simulate(until=G.maxSimTime) #run the simulation
......
......@@ -6,6 +6,7 @@ from simulation.Part import Part
from simulation.Repairman import Repairman
from simulation.Queue import Queue
from simulation.Globals import G
from simulation.Failure import Failure
#import Graphs
from outputanalysis.Plots import Graphs
......@@ -18,8 +19,14 @@ Q=Queue('Q1','Queue')
M2=Machine('M2','Machine2', mean=1.5, failureDistribution='Fixed', MTTF=40, MTTR=10,repairman=R)
E=Exit('E1','Exit')
#create failures
F1=Failure(victim=M1, distributionType='Fixed', MTTF=60, MTTR=5, repairman=R)
F2=Failure(victim=M2, distributionType='Fixed', MTTF=40, MTTR=10, repairman=R)
G.ObjList=[S,M1,M2,E,Q] #add all the objects in G.ObjList so that they can be easier accessed later
G.FailureList=[F1,F2] #add all the objects in G.ObjList so that they can be easier accessed later
#define predecessors and successors for the objects
S.defineRouting([M1])
M1.defineRouting([S],[Q])
......@@ -34,11 +41,17 @@ R.initialize()
for object in G.ObjList:
object.initialize()
for failure in G.FailureList:
failure.initialize()
#activate all the objects
for object in G.ObjList:
activate(object, object.run())
for failure in G.FailureList:
activate(failure, failure.run())
G.maxSimTime=1440.0 #set G.maxSimTime 1440.0 minutes (1 day)
simulate(until=G.maxSimTime) #run the simulation
......
......@@ -6,17 +6,24 @@ from simulation.Part import Part
from simulation.Repairman import Repairman
from simulation.Queue import Queue
from simulation.Globals import G
from simulation.Failure import Failure
#define the objects of the model
R=Repairman('R1', 'Bob')
S=Source('S1','Source', mean=0.5, item=Part)
M1=Machine('M1','Machine1', distribution='Normal', mean=0.25, stdev=0.1, min=0.1, max=1, failureDistribution='Fixed', MTTF=60, MTTR=5, repairman=R)
M1=Machine('M1','Machine1', distribution='Normal', mean=0.25, stdev=0.1, min=0.1, max=1)
Q=Queue('Q1','Queue')
M2=Machine('M2','Machine2', distribution='Normal', mean=1.5, stdev=0.3, min=0.5, max=5, failureDistribution='Fixed', MTTF=40, MTTR=10,repairman=R)
M2=Machine('M2','Machine2', distribution='Normal', mean=1.5, stdev=0.3, min=0.5, max=5)
E=Exit('E1','Exit')
#create failures
F1=Failure(victim=M1, distributionType='Fixed', MTTF=60, MTTR=5, repairman=R)
F2=Failure(victim=M2, distributionType='Fixed', MTTF=40, MTTR=10, repairman=R)
G.ObjList=[S,M1,M2,E,Q] #add all the objects in G.ObjList so that they can be easier accessed later
G.FailureList=[F1,F2] #add all the objects in G.ObjList so that they can be easier accessed later
#define predecessors and successors for the objects
S.defineRouting([M1])
M1.defineRouting([S],[Q])
......@@ -38,10 +45,17 @@ for i in range(G.numberOfReplications):
R.initialize()
for object in G.ObjList:
object.initialize()
for failure in G.FailureList:
failure.initialize()
#activate all the objects
for object in G.ObjList:
activate(object, object.run())
for failure in G.FailureList:
activate(failure, failure.run())
simulate(until=G.maxSimTime) #run the simulation
#carry on the post processing operations for every object in the topology
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment