# Return an interface object
print("Get an interface object via interface name and node name:")
interface_object = model1.get_interface_object('A-to-B', 'A')
print('Interface(Node("A"), "A-to-B") = ', interface_object)
print()

# Find the circuit for the interface
print("The circuit for Interface(Node('A'), 'A-to-B') is")
ckt_object = interface_object.get_circuit_object(model1)
print(ckt_object)
print()

# Fail a node
print("Fail Node('D')")
model1.fail_node('D')
model1.update_simulation()
print()
print("Here is Node('D')'s failure status:",
      model1.get_node_object('D').failed)
print()

# Get Node('D')'s interfaces
print("Here are Node('D')'s interfaces:")
pprint(model1.get_node_interfaces('D'))
model1.update_simulation()
print()
print("Here is the network traffic after Node('D') failed:")
print(model1.display_interfaces_traffic())
print()
# Return an interface object
print("Get an interface object via interface name and node name:")
interface_object = model1.get_interface_object("A-to-B", "A")
print('Interface(Node("A"), "A-to-B") = ', interface_object)
print()

# Find the circuit for the interface
print("The circuit for Interface(Node('A'), 'A-to-B') is")
ckt_object = interface_object.get_circuit_object(model1)
print(ckt_object)
print()

# Fail a node
print("Fail Node('D')")
model1.fail_node("D")
model1.update_simulation()
print()
print("Here is Node('D')'s failure status:", model1.get_node_object("D").failed)
print()

# Get Node('D')'s interfaces
print("Here are Node('D')'s interfaces:")
pprint(model1.get_node_interfaces("D"))
model1.update_simulation()
print()
print("Here is the network traffic after Node('D') failed:")
print(model1.display_interfaces_traffic())
print()

# Get unrouted demands