@@ -26,6 +26,7 @@ def __init__(
2626 deadlock_detector = None ,
2727 node_class = None ,
2828 arrival_node_class = None ,
29+ exit_node_class = None ,
2930 individual_class = None ,
3031 server_class = None ,
3132 ):
@@ -34,7 +35,7 @@ def __init__(
3435 """
3536 self .current_time = 0.0
3637 self .network = network
37- self .set_classes (node_class , arrival_node_class , individual_class , server_class )
38+ self .set_classes (node_class , arrival_node_class , exit_node_class , individual_class , server_class )
3839 if exact :
3940 self .NodeTypes = [ExactNode for _ in range (network .number_of_nodes )]
4041 self .ArrivalNodeType = ExactArrivalNode
@@ -48,7 +49,7 @@ def __init__(
4849 self .show_simulation_to_distributions ()
4950 self .number_of_priority_classes = self .network .number_of_priority_classes
5051 self .transitive_nodes = [node_type (i + 1 , self ) for i , node_type in enumerate (self .NodeTypes )]
51- self .nodes = [self .ArrivalNodeType (self )] + self .transitive_nodes + [ExitNode ()]
52+ self .nodes = [self .ArrivalNodeType (self )] + self .transitive_nodes + [self . ExitNodeType ()]
5253 self .active_nodes = self .nodes [:- 1 ]
5354 self .routers = self .find_and_initialise_routers ()
5455 self .nodes [0 ].initialise ()
@@ -173,17 +174,22 @@ def get_all_records(
173174 return records
174175
175176 def set_classes (
176- self , node_class , arrival_node_class , individual_class , server_class
177+ self , node_class , arrival_node_class , exit_node_class , individual_class , server_class
177178 ):
178179 """
179- Sets the type of ArrivalNode and Node classes being used
180- in the Simulation model (if customer classes are used.)
180+ Sets the type of ArrivalNode, Node, Exit Node, Individual,
181+ and Server classes being used in the Simulation model.
181182 """
182183 if arrival_node_class is not None :
183184 self .ArrivalNodeType = arrival_node_class
184185 else :
185186 self .ArrivalNodeType = ArrivalNode
186187
188+ if exit_node_class is not None :
189+ self .ExitNodeType = exit_node_class
190+ else :
191+ self .ExitNodeType = ExitNode
192+
187193 if node_class is not None :
188194 if not isinstance (node_class , list ):
189195 self .NodeTypes = [node_class for _ in range (self .network .number_of_nodes )]
0 commit comments