410 lines
47 KiB
Plaintext
410 lines
47 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# cadCAD Template: Robot and the Marbles\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# import libraries\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib \n",
|
|
"from cadCAD.engine import ExecutionMode, ExecutionContext, Executor\n",
|
|
"import config\n",
|
|
"from cadCAD import configs\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"%matplotlib inline\n",
|
|
"\n",
|
|
"exec_mode = ExecutionMode()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"single_proc: [<cadCAD.configuration.Configuration object at 0x11349b860>]\n",
|
|
"[<cadCAD.configuration.Configuration object at 0x11349b860>]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th>box_A</th>\n",
|
|
" <th>box_B</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>run</th>\n",
|
|
" <th>timestep</th>\n",
|
|
" <th>substep</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th rowspan=\"11\" valign=\"top\">1</th>\n",
|
|
" <th>0</th>\n",
|
|
" <th>0</th>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>9</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>8</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" box_A box_B\n",
|
|
"run timestep substep \n",
|
|
"1 0 0 10 0\n",
|
|
" 1 1 9 1\n",
|
|
" 2 1 8 2\n",
|
|
" 3 1 7 3\n",
|
|
" 4 1 6 4\n",
|
|
" 5 1 5 5\n",
|
|
" 6 1 5 5\n",
|
|
" 7 1 5 5\n",
|
|
" 8 1 5 5\n",
|
|
" 9 1 5 5\n",
|
|
" 10 1 5 5"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Run Cad^2\n",
|
|
"\n",
|
|
"first_config = configs # only contains config1\n",
|
|
"single_proc_ctx = ExecutionContext(context=exec_mode.single_proc)\n",
|
|
"run = Executor(exec_context=single_proc_ctx, configs=first_config)\n",
|
|
"\n",
|
|
"raw_result, tensor_field = run.execute()\n",
|
|
"df = pd.DataFrame(raw_result)\n",
|
|
"df.set_index(['run', 'timestep', 'substep'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"df.plot('timestep', ['box_A', 'box_B'], grid=True, \n",
|
|
" colormap = 'RdYlGn',\n",
|
|
" xticks=list(df['timestep'].drop_duplicates()), \n",
|
|
" yticks=list(range(1+(df['box_A']+df['box_B']).max())));"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"single_proc: [<cadCAD.configuration.Configuration object at 0x11349b860>, <cadCAD.configuration.Configuration object at 0x115d6ceb8>]\n",
|
|
"[<cadCAD.configuration.Configuration object at 0x11349b860>, <cadCAD.configuration.Configuration object at 0x115d6ceb8>]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th>box_A</th>\n",
|
|
" <th>box_B</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>run</th>\n",
|
|
" <th>timestep</th>\n",
|
|
" <th>substep</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th rowspan=\"11\" valign=\"top\">1</th>\n",
|
|
" <th>0</th>\n",
|
|
" <th>0</th>\n",
|
|
" <td>11</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>10</td>\n",
|
|
" <td>1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>9</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>7</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>5</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <th>1</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>6</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" box_A box_B\n",
|
|
"run timestep substep \n",
|
|
"1 0 0 11 0\n",
|
|
" 1 1 10 1\n",
|
|
" 2 1 9 2\n",
|
|
" 3 1 8 3\n",
|
|
" 4 1 7 4\n",
|
|
" 5 1 6 5\n",
|
|
" 6 1 5 6\n",
|
|
" 7 1 6 5\n",
|
|
" 8 1 5 6\n",
|
|
" 9 1 6 5\n",
|
|
" 10 1 5 6"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"import config2\n",
|
|
"first_config = configs # only contains config1\n",
|
|
"single_proc_ctx = ExecutionContext(context=exec_mode.single_proc)\n",
|
|
"run = Executor(exec_context=single_proc_ctx, configs=first_config)\n",
|
|
"\n",
|
|
"raw_result, tensor_field = run.execute()\n",
|
|
"df2 = pd.DataFrame(raw_result)\n",
|
|
"df2.set_index(['run', 'timestep', 'substep'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"df2.plot('timestep', ['box_A', 'box_B'], grid=True, \n",
|
|
" colormap = 'RdYlGn',\n",
|
|
" xticks=list(df['timestep'].drop_duplicates()), \n",
|
|
" yticks=list(range(1+(df['box_A']+df['box_B']).max())));"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.7.0"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|