diff --git a/doc/example_notebook.ipynb b/doc/example_notebook.ipynb index 1961d1c..cf97435 100644 --- a/doc/example_notebook.ipynb +++ b/doc/example_notebook.ipynb @@ -131,29 +131,7 @@ "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "unorderable types: Queue() < Generator()", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetClassicDEVS\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetTerminationTime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/simulator.py\u001b[0m in \u001b[0;36msimulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 612\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcheckpoint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 613\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 614\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreal_simulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 615\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 616\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mremoveTracers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/simulator.py\u001b[0m in \u001b[0;36mreal_simulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 729\u001b[0m \u001b[0;31m# Simply do a blocking call, thus preventing the finish ring algorithm\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 730\u001b[0m \u001b[0;31m#begin = time.time()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 731\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontroller\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetProxy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlocations\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate_sync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 732\u001b[0m \u001b[0;31m#print(time.time() - begin)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 733\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/MPIRedirect.py\u001b[0m in \u001b[0;36mlocalcall\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 224\u001b[0m \u001b[0mA\u001b[0m \u001b[0mcall\u001b[0m \u001b[0mto\u001b[0m \u001b[0ma\u001b[0m \u001b[0mlocal\u001b[0m \u001b[0mlocation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 225\u001b[0m \"\"\"\n\u001b[0;32m--> 226\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mLocalRedirect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlocalCall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 227\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mlocalcall\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 228\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/MPIRedirect.py\u001b[0m in \u001b[0;36mlocalCall\u001b[0;34m(self, method, *args, **kwargs)\u001b[0m\n\u001b[1;32m 200\u001b[0m \u001b[0mthreading\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mThread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtarget\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 201\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 202\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 203\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 204\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mserver\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/controller.py\u001b[0m in \u001b[0;36msimulate_sync\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 172\u001b[0m \u001b[0mSynchronous\u001b[0m \u001b[0msimulation\u001b[0m \u001b[0mcall\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midentical\u001b[0m \u001b[0mto\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mnormal\u001b[0m \u001b[0mcall\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mexception\u001b[0m \u001b[0mthat\u001b[0m \u001b[0mit\u001b[0m \u001b[0mwill\u001b[0m \u001b[0mbe\u001b[0m \u001b[0ma\u001b[0m \u001b[0mblocking\u001b[0m \u001b[0mcall\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0monly\u001b[0m \u001b[0;34m\"simulate\"\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mmarked\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0moneway\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 173\u001b[0m \"\"\"\n\u001b[0;32m--> 174\u001b[0;31m \u001b[0mBaseSimulator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate_sync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 175\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mno_finish_ring\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/basesimulator.py\u001b[0m in \u001b[0;36msimulate_sync\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1299\u001b[0m \u001b[0mA\u001b[0m \u001b[0msmall\u001b[0m \u001b[0mwrapper\u001b[0m \u001b[0maround\u001b[0m \u001b[0mthe\u001b[0m \u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0mfunction\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mthough\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0ma\u001b[0m \u001b[0mdifferent\u001b[0m \u001b[0mname\u001b[0m \u001b[0mto\u001b[0m \u001b[0mallow\u001b[0m \u001b[0ma\u001b[0m \u001b[0mmuch\u001b[0m \u001b[0msimpler\u001b[0m \u001b[0mMPI\u001b[0m \u001b[0mone\u001b[0m \u001b[0mway\u001b[0m \u001b[0mcheck\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1300\u001b[0m \"\"\"\n\u001b[0;32m-> 1301\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1302\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1303\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/controller.py\u001b[0m in \u001b[0;36msimulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0mvisualizeLocations\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 186\u001b[0m \u001b[0;31m# Call superclass (the actual simulation)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 187\u001b[0;31m \u001b[0mBaseSimulator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 188\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprev_termination_time\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtermination_time\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/basesimulator.py\u001b[0m in \u001b[0;36msimulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1328\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1329\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1330\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrunsim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1331\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mirreversible\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1332\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshould_run\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclear\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/basesimulator.py\u001b[0m in \u001b[0;36mrunsim\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1168\u001b[0m \u001b[0;31m# Don't interrupt the output generation, as these nodes WILL be marked as 'sent'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1169\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mVlock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1170\u001b[0;31m \u001b[0mreschedule\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcoupledOutputGeneration\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcurrent_clock\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1171\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1172\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmassAtomicTransitions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransitioning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcurrent_clock\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/solver.py\u001b[0m in \u001b[0;36mcoupledOutputGenerationClassic\u001b[0;34m(self, time)\u001b[0m\n\u001b[1;32m 256\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimminent\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 257\u001b[0m \u001b[0;31m# Perform all selects\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 258\u001b[0;31m \u001b[0mimminent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 259\u001b[0m \u001b[0mpending\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mimminent\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0mlevel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: unorderable types: Queue() < Generator()" - ] - } - ], + "outputs": [], "source": [ "model = CQueue()\n", "sim = Simulator(model)\n", @@ -178,7 +156,7 @@ { "data": { "text/plain": [ - "1" + "10" ] }, "execution_count": 7, @@ -218,29 +196,297 @@ "\tINITIAL CONDITIONS in model \n", "\t\tInitial State: None\n", "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 1.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 2.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 1\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 2.00\n", + "\n", + "\n", + "__ Current Time: 2.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 2.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 3.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 2\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 3.00\n", + "\n", + "\n", + "__ Current Time: 3.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 3.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 4.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 3\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 4.00\n", + "\n", + "\n", + "__ Current Time: 4.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 4.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 5.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 4\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 5.00\n", + "\n", + "\n", + "__ Current Time: 5.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 5.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 6.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 5\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 6.00\n", + "\n", + "\n", + "__ Current Time: 6.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 6.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 7.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 6\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 7.00\n", + "\n", + "\n", + "__ Current Time: 7.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 7.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 8.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 7\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 8.00\n", + "\n", + "\n", + "__ Current Time: 8.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 8.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 9.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 8\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 9.00\n", + "\n", + "\n", + "__ Current Time: 9.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 9.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 10.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 9\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 10.00\n", + "\n", + "\n", + "__ Current Time: 10.00 __________________________________________ \n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: None\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time inf\n", + "\n", + "\n", + "__ Current Time: 10.00 __________________________________________ \n", + "\n", + "\n", + "\tEXTERNAL TRANSITION in model \n", + "\t\tInput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNew State: 5\n", + "\t\tNext scheduled internal transition at time 11.00\n", + "\n", + "\n", + "\tINTERNAL TRANSITION in model \n", + "\t\tNew State: 10\n", + "\t\tOutput Port Configuration:\n", + "\t\t\tport :\n", + "\t\t\t\t5\n", + "\t\tNext scheduled internal transition at time 11.00\n", "\n" ] - }, - { - "ename": "TypeError", - "evalue": "unorderable types: Queue() < Generator()", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetClassicDEVS\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetTerminationTime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/simulator.py\u001b[0m in \u001b[0;36msimulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 612\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcheckpoint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 613\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 614\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreal_simulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 615\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 616\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mremoveTracers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/simulator.py\u001b[0m in \u001b[0;36mreal_simulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 729\u001b[0m \u001b[0;31m# Simply do a blocking call, thus preventing the finish ring algorithm\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 730\u001b[0m \u001b[0;31m#begin = time.time()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 731\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontroller\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetProxy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlocations\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate_sync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 732\u001b[0m \u001b[0;31m#print(time.time() - begin)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 733\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/MPIRedirect.py\u001b[0m in \u001b[0;36mlocalcall\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 224\u001b[0m \u001b[0mA\u001b[0m \u001b[0mcall\u001b[0m \u001b[0mto\u001b[0m \u001b[0ma\u001b[0m \u001b[0mlocal\u001b[0m \u001b[0mlocation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 225\u001b[0m \"\"\"\n\u001b[0;32m--> 226\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mLocalRedirect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlocalCall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 227\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mlocalcall\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 228\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/MPIRedirect.py\u001b[0m in \u001b[0;36mlocalCall\u001b[0;34m(self, method, *args, **kwargs)\u001b[0m\n\u001b[1;32m 200\u001b[0m \u001b[0mthreading\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mThread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtarget\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 201\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 202\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 203\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 204\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mserver\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/controller.py\u001b[0m in \u001b[0;36msimulate_sync\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 172\u001b[0m \u001b[0mSynchronous\u001b[0m \u001b[0msimulation\u001b[0m \u001b[0mcall\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midentical\u001b[0m \u001b[0mto\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mnormal\u001b[0m \u001b[0mcall\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mexception\u001b[0m \u001b[0mthat\u001b[0m \u001b[0mit\u001b[0m \u001b[0mwill\u001b[0m \u001b[0mbe\u001b[0m \u001b[0ma\u001b[0m \u001b[0mblocking\u001b[0m \u001b[0mcall\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0monly\u001b[0m \u001b[0;34m\"simulate\"\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mmarked\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0moneway\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 173\u001b[0m \"\"\"\n\u001b[0;32m--> 174\u001b[0;31m \u001b[0mBaseSimulator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate_sync\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 175\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mno_finish_ring\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/basesimulator.py\u001b[0m in \u001b[0;36msimulate_sync\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1299\u001b[0m \u001b[0mA\u001b[0m \u001b[0msmall\u001b[0m \u001b[0mwrapper\u001b[0m \u001b[0maround\u001b[0m \u001b[0mthe\u001b[0m \u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0mfunction\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mthough\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0ma\u001b[0m \u001b[0mdifferent\u001b[0m \u001b[0mname\u001b[0m \u001b[0mto\u001b[0m \u001b[0mallow\u001b[0m \u001b[0ma\u001b[0m \u001b[0mmuch\u001b[0m \u001b[0msimpler\u001b[0m \u001b[0mMPI\u001b[0m \u001b[0mone\u001b[0m \u001b[0mway\u001b[0m \u001b[0mcheck\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1300\u001b[0m \"\"\"\n\u001b[0;32m-> 1301\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1302\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1303\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/controller.py\u001b[0m in \u001b[0;36msimulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0mvisualizeLocations\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 186\u001b[0m \u001b[0;31m# Call superclass (the actual simulation)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 187\u001b[0;31m \u001b[0mBaseSimulator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimulate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 188\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprev_termination_time\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtermination_time\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/basesimulator.py\u001b[0m in \u001b[0;36msimulate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1328\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1329\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1330\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrunsim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1331\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mirreversible\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1332\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshould_run\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclear\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/basesimulator.py\u001b[0m in \u001b[0;36mrunsim\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1168\u001b[0m \u001b[0;31m# Don't interrupt the output generation, as these nodes WILL be marked as 'sent'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1169\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mVlock\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1170\u001b[0;31m \u001b[0mreschedule\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcoupledOutputGeneration\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcurrent_clock\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1171\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1172\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmassAtomicTransitions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtransitioning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcurrent_clock\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib64/python3.5/site-packages/pypdevs/solver.py\u001b[0m in \u001b[0;36mcoupledOutputGenerationClassic\u001b[0;34m(self, time)\u001b[0m\n\u001b[1;32m 256\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimminent\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 257\u001b[0m \u001b[0;31m# Perform all selects\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 258\u001b[0;31m \u001b[0mimminent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 259\u001b[0m \u001b[0mpending\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mimminent\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 260\u001b[0m \u001b[0mlevel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: unorderable types: Queue() < Generator()" - ] } ], "source": [