From 932cb5c6ca47af3800922a07e0ca3dabbca5ea29 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Keck <Jean-Baptiste.Keck@imag.fr>
Date: Wed, 8 Aug 2018 19:38:19 +0200
Subject: [PATCH] fixed notebooks

---
 hysop/topology/topology_descriptor.py |   2 +
 notebooks/00_introduction.ipynb       | 787 ++++++++++++--------------
 notebooks/01_analytical.ipynb         | 450 +--------------
 3 files changed, 377 insertions(+), 862 deletions(-)

diff --git a/hysop/topology/topology_descriptor.py b/hysop/topology/topology_descriptor.py
index f3e15bb62..3045b0979 100644
--- a/hysop/topology/topology_descriptor.py
+++ b/hysop/topology/topology_descriptor.py
@@ -70,6 +70,8 @@ class TopologyDescriptor(object):
         if isinstance(handle, Topology):
             # handle is already a Topology, so we return it.
             return handle
+        elif isinstance(handle, TopologyView):
+            return handle._topology
         elif isinstance(handle, TopologyDescriptor):
             # handle is already a TopologyDescriptor, so we return it.
             return handle
diff --git a/notebooks/00_introduction.ipynb b/notebooks/00_introduction.ipynb
index d714d77c0..3e8170521 100644
--- a/notebooks/00_introduction.ipynb
+++ b/notebooks/00_introduction.ipynb
@@ -29,20 +29,7 @@
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\n",
-      "Starting hysop version 2.0.0-rc.1 with 1 mpi process(es) on 1 host(s) providing 1 shared memory node(s).\n",
-      "\n",
-      "*Default path for all i/o is '/home/keckj/Documents/hysop/notebooks/interactive/p1'.\n",
-      "*Default path for caching is '/home/keckj/.cache/hysop'.\n",
-      "\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "%matplotlib inline\n",
     "# First we import HySoP and some types we will need for this tutorial\n",
@@ -361,6 +348,8 @@
       " |  \n",
       " |  __init__(self, obj_view=None, **kwds)\n",
       " |  \n",
+      " |  __repr__(self)\n",
+      " |  \n",
       " |  ----------------------------------------------------------------------\n",
       " |  Data descriptors inherited from hysop.tools.handle.TaggedObjectView:\n",
       " |  \n",
@@ -370,12 +359,18 @@
       " |  __weakref__\n",
       " |      list of weak references to the object (if defined)\n",
       " |  \n",
+      " |  full_pretty_tag\n",
+      " |      Unique tag of the underlying object view with cls information.\n",
+      " |  \n",
       " |  full_tag\n",
       " |      Unique tag of the underlying object view with cls information.\n",
       " |  \n",
       " |  id\n",
       " |      Unique id of the underlying object view.\n",
       " |  \n",
+      " |  pretty_tag\n",
+      " |      Unique pretty tag of the underlying object view.\n",
+      " |  \n",
       " |  tag\n",
       " |      Unique tag of the underlying object view.\n",
       " |  \n",
@@ -442,24 +437,24 @@
      "text": [
       "HYSOP_REAL is set to float64.\n",
       "\n",
-      "Field::f0\n",
-      "          *name:           F0\n",
-      "          *pname:          F0\n",
-      "          *dim:            2\n",
-      "          *nb_components:  1\n",
-      "          *dtype:          float64\n",
-      "          *initial values: (0, 0)\n",
-      "          *topology tags:  []\n",
-      "        \n",
-      "Field::f1\n",
-      "          *name:           F1\n",
-      "          *pname:          F1\n",
-      "          *dim:            2\n",
-      "          *nb_components:  1\n",
-      "          *dtype:          int32\n",
-      "          *initial values: (0, 0)\n",
-      "          *topology tags:  []\n",
-      "        \n"
+      "ScalarField::f0\n",
+      "  *name:           F0\n",
+      "  *pname:          F0\n",
+      "  *dim:            2\n",
+      "  *dtype:          float64\n",
+      "  *symbolic repr.: F0\n",
+      "  *initial values: (0, 0)\n",
+      "  *topology tags:  []\n",
+      "\n",
+      "ScalarField::f1\n",
+      "  *name:           F1\n",
+      "  *pname:          F1\n",
+      "  *dim:            2\n",
+      "  *dtype:          int32\n",
+      "  *symbolic repr.: F1\n",
+      "  *initial values: (0, 0)\n",
+      "  *topology tags:  []\n",
+      "\n"
      ]
     }
    ],
@@ -490,33 +485,50 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Field::f2\n",
-      "          *name:           V0\n",
-      "          *pname:          V0\n",
-      "          *dim:            2\n",
-      "          *nb_components:  2\n",
-      "          *dtype:          float64\n",
-      "          *initial values: (0, 0)\n",
-      "          *topology tags:  []\n",
-      "        \n",
-      "Field::f3\n",
-      "          *name:           V1\n",
-      "          *pname:          V1\n",
-      "          *dim:            2\n",
-      "          *nb_components:  3\n",
-      "          *dtype:          float64\n",
-      "          *initial values: (0, 0)\n",
-      "          *topology tags:  []\n",
-      "        \n"
+      "VectorField::tf0\n",
+      "  *name:           V0\n",
+      "  *pname:          V0\n",
+      "  *dim:            2\n",
+      "  *shape:          (2,)\n",
+      "  *nb_components:  2\n",
+      "  *symbolic repr.:\n",
+      "      [[V0â‚€]\n",
+      "       [V0₁]]\n",
+      "\n",
+      "VectorField::tf1\n",
+      "  *name:           V1\n",
+      "  *pname:          V1\n",
+      "  *dim:            2\n",
+      "  *shape:          (3,)\n",
+      "  *nb_components:  3\n",
+      "  *symbolic repr.:\n",
+      "      [[V1â‚€]\n",
+      "       [V1₁]\n",
+      "       [V1â‚‚]]\n",
+      "\n",
+      "TensorField::tf2\n",
+      "  *name:           T\n",
+      "  *pname:          T\n",
+      "  *dim:            2\n",
+      "  *shape:          (3, 2)\n",
+      "  *nb_components:  6\n",
+      "  *symbolic repr.:\n",
+      "      [[T₀₀  T₀₁]\n",
+      "       [T₁₀  T₁₁]\n",
+      "       [T₂₀  T₂₁]]\n"
      ]
     }
    ],
    "source": [
     "field2 = Field(name='V0', domain=domain, is_vector=True)\n",
     "field3 = Field(name='V1', domain=domain, nb_components=3)\n",
+    "field4 = Field(name='T', domain=domain, shape=(3,2))\n",
     "\n",
     "print field2\n",
-    "print field3"
+    "print\n",
+    "print field3\n",
+    "print\n",
+    "print field4"
    ]
   },
   {
@@ -544,7 +556,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "CartesianTopology[tag=t0, domain=Box::d1, pcoords=[0 0], pshape=[1 1], shape=[5,5], ghosts=[0,0]]\n"
+      "CartesianTopology::t0[domain=Box::d1, pcoords=[0 0], pshape=[1 1], shape=[5,5], ghosts=[0,0], backend=HOST]\n"
      ]
     }
    ],
@@ -572,7 +584,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "CartesianTopology[tag=t1, domain=Box::d1, pcoords=[0 0], pshape=[1 1], shape=[5,5], ghosts=[1,2]]\n"
+      "CartesianTopology::t1[domain=Box::d1, pcoords=[0 0], pshape=[1 1], shape=[5,5], ghosts=[1,2], backend=HOST]\n"
      ]
     }
    ],
@@ -637,9 +649,6 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\n",
-      "Allocation of discrete field F00 (CartesianDiscreteField::df0) on CartesianTopology::t0\n",
-      "  (compute_res=[4 4], ghosts=[0 0], nb_comp=1, dtype=float64, size=128.0B)\n",
       "[[  0.00   0.00   0.00   0.00]\n",
       " [  0.00   2.00   2.00   0.00]\n",
       " [  0.00   0.00   0.00   0.00]\n",
@@ -659,13 +668,13 @@
     "assert dfield0.dfield is dfield0_bis.dfield\n",
     "\n",
     "# Accessing data is simple as:\n",
-    "dfield0[0][...] = 0.0\n",
-    "dfield0[0][1,1:3] = 2\n",
-    "print dfield0.data[0]\n",
+    "dfield0.data[0][...] = 0.0\n",
+    "dfield0.data[0][1,1:3] = 2\n",
+    "print dfield0.sdata\n",
     "print\n",
     "\n",
-    "dfield0[0][...] = 1.0\n",
-    "print dfield0_bis.data[0]"
+    "dfield0.sdata[...] = 1.0\n",
+    "print dfield0_bis.sdata"
    ]
   },
   {
@@ -685,9 +694,6 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\n",
-      "Allocation of discrete field F01 (CartesianDiscreteField::df1) on CartesianTopology::t1\n",
-      "  (compute_res=[4 4], ghosts=[1 2], nb_comp=1, dtype=float64, size=384.0B)\n",
       "[[  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]\n",
       " [  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]\n",
       " [  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]\n",
@@ -695,12 +701,12 @@
       " [  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]\n",
       " [  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]]\n",
       "\n",
-      "[[  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]\n",
-      " [  0.00   0.00   1.00   1.00   1.00   1.00   0.00   0.00]\n",
-      " [  0.00   0.00   1.00   1.00   1.00   1.00   0.00   0.00]\n",
-      " [  0.00   0.00   1.00   1.00   1.00   1.00   0.00   0.00]\n",
-      " [  0.00   0.00   1.00   1.00   1.00   1.00   0.00   0.00]\n",
-      " [  0.00   0.00   0.00   0.00   0.00   0.00   0.00   0.00]]\n",
+      "[[   nan    nan    nan    nan    nan    nan    nan    nan]\n",
+      " [   nan    nan   1.00   1.00   1.00   1.00    nan    nan]\n",
+      " [   nan    nan   1.00   1.00   1.00   1.00    nan    nan]\n",
+      " [   nan    nan   1.00   1.00   1.00   1.00    nan    nan]\n",
+      " [   nan    nan   1.00   1.00   1.00   1.00    nan    nan]\n",
+      " [   nan    nan    nan    nan    nan    nan    nan    nan]]\n",
       "(slice(1, 5, None), slice(2, 6, None))\n"
      ]
     }
@@ -710,13 +716,15 @@
     "dfield1 = field0.discretize(t1)\n",
     "\n",
     "# Put zeros everywhere\n",
-    "dfield1[0][...] = 0.0\n",
-    "print dfield1.data[0]\n",
+    "dfield1.sdata[...] = 0.0\n",
+    "print dfield1.sdata\n",
     "print\n",
     "\n",
     "# Put ones inside the compute domain (exluding ghosts)\n",
-    "dfield1[0][dfield1.compute_slices] = 1.0\n",
-    "print dfield1.data[0]\n",
+    "# and NaNs in the ghost layers\n",
+    "dfield1.sdata[...] = np.nan\n",
+    "dfield1.sdata[dfield1.compute_slices] = 1.0\n",
+    "print dfield1.sdata\n",
     "print dfield1.compute_slices"
    ]
   },
@@ -741,13 +749,12 @@
       " [  X      X      1.00   1.00   1.00   1.00   X      X   ]\n",
       " [  X      X      1.00   1.00   1.00   1.00   X      X   ]\n",
       " [  X      X      1.00   1.00   1.00   1.00   X      X   ]\n",
-      " [  X      X      X      X      X      X      X      X   ]]\n",
-      "None\n"
+      " [  X      X      X      X      X      X      X      X   ]]\n"
      ]
     }
    ],
    "source": [
-    "print dfield1.print_with_ghosts(component=0)"
+    "dfield1.print_with_ghosts(component=0)"
    ]
   },
   {
@@ -766,24 +773,18 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\n",
-      ">Initializing discrete field F00 with formula f0.\n",
       "f(x,y) = x\n",
       "[[  0.00   1.57   3.14   4.71]\n",
       " [  0.00   1.57   3.14   4.71]\n",
       " [  0.00   1.57   3.14   4.71]\n",
       " [  0.00   1.57   3.14   4.71]]\n",
       "\n",
-      "\n",
-      ">Initializing discrete field F00 with formula f1.\n",
       "f(x,y) = y\n",
       "[[  0.00   0.00   0.00   0.00]\n",
       " [  1.57   1.57   1.57   1.57]\n",
       " [  3.14   3.14   3.14   3.14]\n",
       " [  4.71   4.71   4.71   4.71]]\n",
       "\n",
-      "\n",
-      ">Initializing discrete field F00 with formula f2.\n",
       "f(x,y) = xy\n",
       "[[  0.00   0.00   0.00   0.00]\n",
       " [  0.00   2.47   4.93   7.40]\n",
@@ -795,21 +796,21 @@
    ],
    "source": [
     "def f0(data, coords):\n",
-    "    x,y = coords\n",
+    "    x,y = coords[0]\n",
     "    data[0][...] = x\n",
     "    \n",
     "def f1(data, coords):\n",
-    "    x,y = coords\n",
+    "    x,y = coords[0]\n",
     "    data[0][...] = y\n",
     "    \n",
     "def f2(data, coords):\n",
-    "    x,y = coords\n",
+    "    x,y = coords[0]\n",
     "    data[0][...] = x*y\n",
     "\n",
     "for (f,fname) in zip((f0,f1,f2),('x','y','xy')):\n",
     "    dfield0.initialize(f)\n",
     "    print 'f(x,y) = {}'.format(fname)\n",
-    "    print dfield0[0]\n",
+    "    print dfield0.sdata\n",
     "    print"
    ]
   },
@@ -831,11 +832,6 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\n",
-      "Allocation of discrete field V11 (CartesianDiscreteField::df2) on CartesianTopology::t1\n",
-      "  (compute_res=[4 4], ghosts=[1 2], nb_comp=3, dtype=float64, size=1.15kB)\n",
-      "\n",
-      ">Initializing discrete field V11 with formula f.\n",
       "Component 0:\n",
       "[[  X      X      X      X      X      X      X      X   ]\n",
       " [  X      X      0.00   1.57   3.14   4.71   X      X   ]\n",
@@ -865,7 +861,7 @@
    ],
    "source": [
     "def f(data, coords):\n",
-    "    x,y = coords\n",
+    "    x,y = coords[0]\n",
     "    data[0][...] = x\n",
     "    data[1][...] = y\n",
     "    data[2][...] = x*y\n",
@@ -897,8 +893,6 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\n",
-      ">Initializing discrete field V11 with formula f.\n",
       "Component 0:\n",
       "[[  X      X      X      X      X      X      X      X   ]\n",
       " [  X      X      0.00   0.16   0.31   0.47   X      X   ]\n",
@@ -928,7 +922,7 @@
    ],
    "source": [
     "def f(data, coords, p=1.0):\n",
-    "    x,y = coords\n",
+    "    x,y = coords[0]\n",
     "    data[0][...] = p*x\n",
     "    data[1][...] = p*y\n",
     "    data[2][...] = p*x*y\n",
@@ -999,9 +993,9 @@
      "data": {
       "text/html": [
        "<video width=\"576\" height=\"360\" controls autoplay loop>\n",
-       "  <source type=\"video/mp4\" src=\"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAA8J21kYXQAAAKuBgX//6rcRem9\n",
-       "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTQ4IHIyNjQzIDVjNjU3MDQgLSBILjI2NC9NUEVHLTQg\n",
-       "QVZDIGNvZGVjIC0gQ29weWxlZnQgMjAwMy0yMDE1IC0gaHR0cDovL3d3dy52aWRlb2xhbi5vcmcv\n",
+       "  <source type=\"video/mp4\" src=\"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAA8fm1kYXQAAAKuBgX//6rcRem9\n",
+       "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTUyIHIyODU0IGU5YTU5MDMgLSBILjI2NC9NUEVHLTQg\n",
+       "QVZDIGNvZGVjIC0gQ29weWxlZnQgMjAwMy0yMDE3IC0gaHR0cDovL3d3dy52aWRlb2xhbi5vcmcv\n",
        "eDI2NC5odG1sIC0gb3B0aW9uczogY2FiYWM9MSByZWY9MyBkZWJsb2NrPTE6MDowIGFuYWx5c2U9\n",
        "MHgzOjB4MTEzIG1lPWhleCBzdWJtZT03IHBzeT0xIHBzeV9yZD0xLjAwOjAuMDAgbWl4ZWRfcmVm\n",
        "PTEgbWVfcmFuZ2U9MTYgY2hyb21hX21lPTEgdHJlbGxpcz0xIDh4OGRjdD0xIGNxbT0wIGRlYWR6\n",
@@ -1011,284 +1005,285 @@
        "YW1pZD0yIGJfYWRhcHQ9MSBiX2JpYXM9MCBkaXJlY3Q9MSB3ZWlnaHRiPTEgb3Blbl9nb3A9MCB3\n",
        "ZWlnaHRwPTIga2V5aW50PTI1MCBrZXlpbnRfbWluPTUgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVz\n",
        "aD0wIHJjX2xvb2thaGVhZD00MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIzLjAgcWNvbXA9MC42MCBx\n",
-       "cG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAABNSZYiE\n",
+       "cG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAABM/ZYiE\n",
        "ABP//vexj4FNyAANlzqKeh/hFbH0kFF6sdmgZZQfwZOX+oAbVWujOrqiGmbqzF73kxJ5XP9Eamvz\n",
        "hAVbXvNRmSIUXx1oOPGifSMO97B4Fy7/O7hti1b9cSZORNWO07bzrOyyH4EMFUbfn5DNAvF3cF/I\n",
        "LRlU3r0noJFAur1+gwzoklnCu2QR906cAZznZNWYN6vxzuI+nj7t/7hnreqqTr+YXR4Fq+J8MlVV\n",
-       "nQ+wgwVwJIlZBNWh51rVsv6xKKl6XPWxc5ugQPEznQQHutCjsIOpO8aCAuDHb3feLWm81Wa+ir2f\n",
-       "U2MCExDv+YUkYvZxj0kwIbDENdZAAA0JZUP4Hz8xPoAlAlMdvhfN8aUB9f3zXf3U82vZ4w++B3nK\n",
-       "3D/9OY7/yX15/NNaeRJEqQ7G+gn8vkpoCdU4AmF0OOo5JwIr0bRGn63oLbey1AOY/2NncR1/la2K\n",
-       "E0I8/jRedA1AywFuxQHrgGpgTEBCACmm/xevqmD5ZBGz0aH3TlwO04rcbpaIgIbm8ULOWFVAkAsN\n",
-       "58AxY5e95GnmqBX0pHvWicf98iU/DTxeAB7nMtQOSLNFbm/gZWq5jvaw7fSv7p65rzW5/5NvmvmU\n",
-       "sl8ewtm3twYyMmTpPnRwCSE7vlBAhVWUnimAR53fJQ2hYB9GhkohlyRw6hrHBa0/z5aLsnMqvnQo\n",
-       "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\n",
-       "NTYuNDAuMTAx\n",
+       "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\n",
        "\">\n",
        "  Your browser does not support the video tag.\n",
        "</video>"
@@ -1360,48 +1355,6 @@
    "source": [
     "In the next notebook we will see how to do this the HySoP way by introducing operators and computational graphs."
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
@@ -1420,7 +1373,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython2",
-   "version": "2.7.12"
+   "version": "2.7.15rc1"
   }
  },
  "nbformat": 4,
diff --git a/notebooks/01_analytical.ipynb b/notebooks/01_analytical.ipynb
index 2b2096cd1..bc75bdef4 100644
--- a/notebooks/01_analytical.ipynb
+++ b/notebooks/01_analytical.ipynb
@@ -28,20 +28,7 @@
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\n",
-      "Starting hysop version 2.0.0-rc.1 with 1 mpi process(es) on 1 host(s) providing 1 shared memory node(s).\n",
-      "\n",
-      "*Default path for all i/o is '/home/poulpy/Documents/hysop/notebooks/interactive/p1'.\n",
-      "*Default path for caching is '/home/poulpy/.cache/hysop'.\n",
-      "\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "import hysop\n",
     "from hysop.deps import np\n",
@@ -151,7 +138,7 @@
    "source": [
     "def compute_scalar(data, coords, t):\n",
     "    data[0][...] = (1.0/(1.0+0.1*t()))\n",
-    "    for x in coords:\n",
+    "    for x in coords[0]:\n",
     "        data[0][...] *= np.cos(x-t())\n",
     "        \n",
     "# Analytic operator\n",
@@ -193,70 +180,7 @@
    "cell_type": "code",
    "execution_count": 6,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\n",
-      "Initializing problem...\n",
-      "\n",
-      "== ComputationalGraph Problem domain and operator report ==================\n",
-      ">Box::d0 (O=[0.0,0.0], L=[6.3,6.3], BC=[PER/PER,PER/PER], current_task=999)\n",
-      "   OPERATOR             INPUTS       OUTPUTS       OPERATOR TYPE      \n",
-      "   analytic             [t]   ->   [F0]          PythonAnalyticField\n",
-      "   dumped_scalar_field  [F0]  ->   no outputs    HDF_Writer         \n",
-      "===========================================================================\n",
-      "\n",
-      "\n",
-      "== ComputationalGraph Problem field requirements report ============================================\n",
-      ">INPUTS:\n",
-      " CartesianTopology[tag=t0, domain=Box::d0, pcoords=[0 0], pshape=[1 1], shape=[65,65], ghosts=[0,0]]\n",
-      "   OPERATOR              FIELD            GHOSTS              BASIS      TSTATES\n",
-      "   dumped_scalar_field    F0       [0,0]<=ghosts<[+∞,+∞]       ANY         YX   \n",
-      ">OUTPUTS:\n",
-      " CartesianTopology[tag=t0, domain=Box::d0, pcoords=[0 0], pshape=[1 1], shape=[65,65], ghosts=[0,0]]\n",
-      "   OPERATOR              FIELD            GHOSTS              BASIS      TSTATES\n",
-      "   analytic               F0       [0,0]<=ghosts<[+∞,+∞]       ANY         ANY  \n",
-      "====================================================================================================\n",
-      "\n",
-      "\n",
-      "== ComputationalGraph Problem topology report ========================================================\n",
-      " :HostBackend:  tag=bk1, allocator=HostAllocator::al0:\n",
-      "  *CartesianTopology[tag=t0, domain=Box::d0, pcoords=[0 0], pshape=[1 1], shape=[65,65], ghosts=[0,0]]\n",
-      "======================================================================================================\n",
-      "\n",
-      "\n",
-      "== ComputationalGraph Problem discrete operator report ===================\n",
-      "  ID  OPERATOR             INPUTS        OUTPUTS       OPERATOR TYPE      \n",
-      "  0  analytic             [t]      ->   [F0.t0]       PythonAnalyticField\n",
-      "  1  dumped_scalar_field  [F0.t0]  ->   no outputs    HDF_Writer         \n",
-      "==========================================================================\n",
-      "\n",
-      "\n",
-      "Discretizing problem...\n",
-      "\n",
-      "Allocation of discrete field F00 (CartesianDiscreteField::df0) on CartesianTopology::t0\n",
-      "  (compute_res=[64 64], ghosts=[0 0], nb_comp=1, dtype=float32, size=16.38kB)\n",
-      "\n",
-      "Getting work properties...\n",
-      "\n",
-      "== ComputationalGraph Problem work properties report ==\n",
-      " No extra buffers have been requested.\n",
-      "=======================================================\n",
-      "\n",
-      "\n",
-      "Allocating work...\n",
-      "\n",
-      "Setting up problem...\n",
-      "\n",
-      "***********************************************\n",
-      "** Problem building took 0:00:00 (0.016152s) **\n",
-      "***********************************************\n",
-      "\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Create a problem and build it\n",
     "problem = Problem()\n",
@@ -275,371 +199,7 @@
    "cell_type": "code",
    "execution_count": 7,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      ">Parameter dt set to 0.0628318530718.\n",
-      ">Parameter t set to 0.0.\n",
-      "\n",
-      "Solving problem...\n",
-      ">Parameter t set to 0.0.\n",
-      ">Parameter dt set to 0.0628318530718.\n",
-      "\n",
-      "== Iteration :   0, from t =    0.0 to t = 0.06283 ==\n",
-      ">Parameter t set to 0.0628318563104.\n",
-      "\n",
-      "== Iteration :   1, from t = 0.062832 to t = 0.12566 ==\n",
-      ">Parameter t set to 0.125663712621.\n",
-      "\n",
-      "== Iteration :   2, from t = 0.12566 to t = 0.18850 ==\n",
-      ">Parameter t set to 0.188495576382.\n",
-      "\n",
-      "== Iteration :   3, from t = 0.1885 to t = 0.25133 ==\n",
-      ">Parameter t set to 0.251327425241.\n",
-      "\n",
-      "== Iteration :   4, from t = 0.25133 to t = 0.31416 ==\n",
-      ">Parameter t set to 0.314159274101.\n",
-      "\n",
-      "== Iteration :   5, from t = 0.31416 to t = 0.37699 ==\n",
-      ">Parameter t set to 0.376991122961.\n",
-      "\n",
-      "== Iteration :   6, from t = 0.37699 to t = 0.43982 ==\n",
-      ">Parameter t set to 0.439822971821.\n",
-      "\n",
-      "== Iteration :   7, from t = 0.43982 to t = 0.50265 ==\n",
-      ">Parameter t set to 0.502654850483.\n",
-      "\n",
-      "== Iteration :   8, from t = 0.50265 to t = 0.56549 ==\n",
-      ">Parameter t set to 0.565486729145.\n",
-      "\n",
-      "== Iteration :   9, from t = 0.56549 to t = 0.62832 ==\n",
-      ">Parameter t set to 0.628318607807.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=10, total= 13.8ms, mean=  1.4ms\n",
-      "  >dumped_scalar_field::apply ncalls=10, total= 21.6ms, mean=  2.2ms\n",
-      "\n",
-      "== Iteration :  10, from t = 0.62832 to t = 0.69115 ==\n",
-      ">Parameter t set to 0.691150486469.\n",
-      "\n",
-      "== Iteration :  11, from t = 0.69115 to t = 0.75398 ==\n",
-      ">Parameter t set to 0.753982365131.\n",
-      "\n",
-      "== Iteration :  12, from t = 0.75398 to t = 0.81681 ==\n",
-      ">Parameter t set to 0.816814243793.\n",
-      "\n",
-      "== Iteration :  13, from t = 0.81681 to t = 0.87965 ==\n",
-      ">Parameter t set to 0.879646122456.\n",
-      "\n",
-      "== Iteration :  14, from t = 0.87965 to t = 0.94248 ==\n",
-      ">Parameter t set to 0.942478001118.\n",
-      "\n",
-      "== Iteration :  15, from t = 0.94248 to t = 1.00531 ==\n",
-      ">Parameter t set to 1.00530982018.\n",
-      "\n",
-      "== Iteration :  16, from t = 1.0053 to t = 1.06814 ==\n",
-      ">Parameter t set to 1.06814169884.\n",
-      "\n",
-      "== Iteration :  17, from t = 1.0681 to t = 1.13097 ==\n",
-      ">Parameter t set to 1.1309735775.\n",
-      "\n",
-      "== Iteration :  18, from t =  1.131 to t = 1.19381 ==\n",
-      ">Parameter t set to 1.19380545616.\n",
-      "\n",
-      "== Iteration :  19, from t = 1.1938 to t = 1.25664 ==\n",
-      ">Parameter t set to 1.25663733482.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=20, total= 27.0ms, mean=  1.3ms\n",
-      "  >dumped_scalar_field::apply ncalls=20, total= 40.9ms, mean=  2.0ms\n",
-      "\n",
-      "== Iteration :  20, from t = 1.2566 to t = 1.31947 ==\n",
-      ">Parameter t set to 1.31946921349.\n",
-      "\n",
-      "== Iteration :  21, from t = 1.3195 to t = 1.38230 ==\n",
-      ">Parameter t set to 1.38230109215.\n",
-      "\n",
-      "== Iteration :  22, from t = 1.3823 to t = 1.44513 ==\n",
-      ">Parameter t set to 1.44513297081.\n",
-      "\n",
-      "== Iteration :  23, from t = 1.4451 to t = 1.50796 ==\n",
-      ">Parameter t set to 1.50796484947.\n",
-      "\n",
-      "== Iteration :  24, from t =  1.508 to t = 1.57080 ==\n",
-      ">Parameter t set to 1.57079672813.\n",
-      "\n",
-      "== Iteration :  25, from t = 1.5708 to t = 1.63363 ==\n",
-      ">Parameter t set to 1.6336286068.\n",
-      "\n",
-      "== Iteration :  26, from t = 1.6336 to t = 1.69646 ==\n",
-      ">Parameter t set to 1.69646048546.\n",
-      "\n",
-      "== Iteration :  27, from t = 1.6965 to t = 1.75929 ==\n",
-      ">Parameter t set to 1.75929236412.\n",
-      "\n",
-      "== Iteration :  28, from t = 1.7593 to t = 1.82212 ==\n",
-      ">Parameter t set to 1.82212424278.\n",
-      "\n",
-      "== Iteration :  29, from t = 1.8221 to t = 1.88496 ==\n",
-      ">Parameter t set to 1.88495612144.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=30, total= 38.1ms, mean=  1.3ms\n",
-      "  >dumped_scalar_field::apply ncalls=30, total= 56.3ms, mean=  1.9ms\n",
-      "\n",
-      "== Iteration :  30, from t =  1.885 to t = 1.94779 ==\n",
-      ">Parameter t set to 1.94778800011.\n",
-      "\n",
-      "== Iteration :  31, from t = 1.9478 to t = 2.01062 ==\n",
-      ">Parameter t set to 2.01061987877.\n",
-      "\n",
-      "== Iteration :  32, from t = 2.0106 to t = 2.07345 ==\n",
-      ">Parameter t set to 2.07345175743.\n",
-      "\n",
-      "== Iteration :  33, from t = 2.0735 to t = 2.13628 ==\n",
-      ">Parameter t set to 2.13628363609.\n",
-      "\n",
-      "== Iteration :  34, from t = 2.1363 to t = 2.19912 ==\n",
-      ">Parameter t set to 2.19911551476.\n",
-      "\n",
-      "== Iteration :  35, from t = 2.1991 to t = 2.26195 ==\n",
-      ">Parameter t set to 2.26194739342.\n",
-      "\n",
-      "== Iteration :  36, from t = 2.2619 to t = 2.32478 ==\n",
-      ">Parameter t set to 2.32477927208.\n",
-      "\n",
-      "== Iteration :  37, from t = 2.3248 to t = 2.38761 ==\n",
-      ">Parameter t set to 2.38761115074.\n",
-      "\n",
-      "== Iteration :  38, from t = 2.3876 to t = 2.45044 ==\n",
-      ">Parameter t set to 2.4504430294.\n",
-      "\n",
-      "== Iteration :  39, from t = 2.4504 to t = 2.51327 ==\n",
-      ">Parameter t set to 2.51327490807.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=40, total= 49.1ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=40, total= 71.7ms, mean=  1.8ms\n",
-      "\n",
-      "== Iteration :  40, from t = 2.5133 to t = 2.57611 ==\n",
-      ">Parameter t set to 2.57610678673.\n",
-      "\n",
-      "== Iteration :  41, from t = 2.5761 to t = 2.63894 ==\n",
-      ">Parameter t set to 2.63893866539.\n",
-      "\n",
-      "== Iteration :  42, from t = 2.6389 to t = 2.70177 ==\n",
-      ">Parameter t set to 2.70177054405.\n",
-      "\n",
-      "== Iteration :  43, from t = 2.7018 to t = 2.76460 ==\n",
-      ">Parameter t set to 2.76460242271.\n",
-      "\n",
-      "== Iteration :  44, from t = 2.7646 to t = 2.82743 ==\n",
-      ">Parameter t set to 2.82743430138.\n",
-      "\n",
-      "== Iteration :  45, from t = 2.8274 to t = 2.89027 ==\n",
-      ">Parameter t set to 2.89026618004.\n",
-      "\n",
-      "== Iteration :  46, from t = 2.8903 to t = 2.95310 ==\n",
-      ">Parameter t set to 2.9530980587.\n",
-      "\n",
-      "== Iteration :  47, from t = 2.9531 to t = 3.01593 ==\n",
-      ">Parameter t set to 3.01592993736.\n",
-      "\n",
-      "== Iteration :  48, from t = 3.0159 to t = 3.07876 ==\n",
-      ">Parameter t set to 3.07876181602.\n",
-      "\n",
-      "== Iteration :  49, from t = 3.0788 to t = 3.14159 ==\n",
-      ">Parameter t set to 3.14159369469.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=50, total= 61.2ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=50, total= 92.5ms, mean=  1.9ms\n",
-      "\n",
-      "== Iteration :  50, from t = 3.1416 to t = 3.20443 ==\n",
-      ">Parameter t set to 3.20442557335.\n",
-      "\n",
-      "== Iteration :  51, from t = 3.2044 to t = 3.26726 ==\n",
-      ">Parameter t set to 3.26725745201.\n",
-      "\n",
-      "== Iteration :  52, from t = 3.2673 to t = 3.33009 ==\n",
-      ">Parameter t set to 3.33008933067.\n",
-      "\n",
-      "== Iteration :  53, from t = 3.3301 to t = 3.39292 ==\n",
-      ">Parameter t set to 3.39292120934.\n",
-      "\n",
-      "== Iteration :  54, from t = 3.3929 to t = 3.45575 ==\n",
-      ">Parameter t set to 3.455753088.\n",
-      "\n",
-      "== Iteration :  55, from t = 3.4558 to t = 3.51858 ==\n",
-      ">Parameter t set to 3.51858496666.\n",
-      "\n",
-      "== Iteration :  56, from t = 3.5186 to t = 3.58142 ==\n",
-      ">Parameter t set to 3.58141684532.\n",
-      "\n",
-      "== Iteration :  57, from t = 3.5814 to t = 3.64425 ==\n",
-      ">Parameter t set to 3.64424872398.\n",
-      "\n",
-      "== Iteration :  58, from t = 3.6442 to t = 3.70708 ==\n",
-      ">Parameter t set to 3.70708060265.\n",
-      "\n",
-      "== Iteration :  59, from t = 3.7071 to t = 3.76991 ==\n",
-      ">Parameter t set to 3.76991248131.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=60, total= 74.6ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=60, total=112.4ms, mean=  1.9ms\n",
-      "\n",
-      "== Iteration :  60, from t = 3.7699 to t = 3.83274 ==\n",
-      ">Parameter t set to 3.83274435997.\n",
-      "\n",
-      "== Iteration :  61, from t = 3.8327 to t = 3.89558 ==\n",
-      ">Parameter t set to 3.89557623863.\n",
-      "\n",
-      "== Iteration :  62, from t = 3.8956 to t = 3.95841 ==\n",
-      ">Parameter t set to 3.95840811729.\n",
-      "\n",
-      "== Iteration :  63, from t = 3.9584 to t = 4.02124 ==\n",
-      ">Parameter t set to 4.02123975754.\n",
-      "\n",
-      "== Iteration :  64, from t = 4.0212 to t = 4.08407 ==\n",
-      ">Parameter t set to 4.0840716362.\n",
-      "\n",
-      "== Iteration :  65, from t = 4.0841 to t = 4.14690 ==\n",
-      ">Parameter t set to 4.14690351486.\n",
-      "\n",
-      "== Iteration :  66, from t = 4.1469 to t = 4.20974 ==\n",
-      ">Parameter t set to 4.20973539352.\n",
-      "\n",
-      "== Iteration :  67, from t = 4.2097 to t = 4.27257 ==\n",
-      ">Parameter t set to 4.27256727219.\n",
-      "\n",
-      "== Iteration :  68, from t = 4.2726 to t = 4.33540 ==\n",
-      ">Parameter t set to 4.33539915085.\n",
-      "\n",
-      "== Iteration :  69, from t = 4.3354 to t = 4.39823 ==\n",
-      ">Parameter t set to 4.39823102951.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=70, total= 86.8ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=70, total=129.8ms, mean=  1.9ms\n",
-      "\n",
-      "== Iteration :  70, from t = 4.3982 to t = 4.46106 ==\n",
-      ">Parameter t set to 4.46106290817.\n",
-      "\n",
-      "== Iteration :  71, from t = 4.4611 to t = 4.52389 ==\n",
-      ">Parameter t set to 4.52389478683.\n",
-      "\n",
-      "== Iteration :  72, from t = 4.5239 to t = 4.58673 ==\n",
-      ">Parameter t set to 4.5867266655.\n",
-      "\n",
-      "== Iteration :  73, from t = 4.5867 to t = 4.64956 ==\n",
-      ">Parameter t set to 4.64955854416.\n",
-      "\n",
-      "== Iteration :  74, from t = 4.6496 to t = 4.71239 ==\n",
-      ">Parameter t set to 4.71239042282.\n",
-      "\n",
-      "== Iteration :  75, from t = 4.7124 to t = 4.77522 ==\n",
-      ">Parameter t set to 4.77522230148.\n",
-      "\n",
-      "== Iteration :  76, from t = 4.7752 to t = 4.83805 ==\n",
-      ">Parameter t set to 4.83805418015.\n",
-      "\n",
-      "== Iteration :  77, from t = 4.8381 to t = 4.90089 ==\n",
-      ">Parameter t set to 4.90088605881.\n",
-      "\n",
-      "== Iteration :  78, from t = 4.9009 to t = 4.96372 ==\n",
-      ">Parameter t set to 4.96371793747.\n",
-      "\n",
-      "== Iteration :  79, from t = 4.9637 to t = 5.02655 ==\n",
-      ">Parameter t set to 5.02654981613.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=80, total= 99.3ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=80, total=147.0ms, mean=  1.8ms\n",
-      "\n",
-      "== Iteration :  80, from t = 5.0265 to t = 5.08938 ==\n",
-      ">Parameter t set to 5.08938169479.\n",
-      "\n",
-      "== Iteration :  81, from t = 5.0894 to t = 5.15221 ==\n",
-      ">Parameter t set to 5.15221357346.\n",
-      "\n",
-      "== Iteration :  82, from t = 5.1522 to t = 5.21505 ==\n",
-      ">Parameter t set to 5.21504545212.\n",
-      "\n",
-      "== Iteration :  83, from t =  5.215 to t = 5.27788 ==\n",
-      ">Parameter t set to 5.27787733078.\n",
-      "\n",
-      "== Iteration :  84, from t = 5.2779 to t = 5.34071 ==\n",
-      ">Parameter t set to 5.34070920944.\n",
-      "\n",
-      "== Iteration :  85, from t = 5.3407 to t = 5.40354 ==\n",
-      ">Parameter t set to 5.4035410881.\n",
-      "\n",
-      "== Iteration :  86, from t = 5.4035 to t = 5.46637 ==\n",
-      ">Parameter t set to 5.46637296677.\n",
-      "\n",
-      "== Iteration :  87, from t = 5.4664 to t = 5.52920 ==\n",
-      ">Parameter t set to 5.52920484543.\n",
-      "\n",
-      "== Iteration :  88, from t = 5.5292 to t = 5.59204 ==\n",
-      ">Parameter t set to 5.59203672409.\n",
-      "\n",
-      "== Iteration :  89, from t =  5.592 to t = 5.65487 ==\n",
-      ">Parameter t set to 5.65486860275.\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=90, total=111.3ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=90, total=167.6ms, mean=  1.9ms\n",
-      "\n",
-      "== Iteration :  90, from t = 5.6549 to t = 5.71770 ==\n",
-      ">Parameter t set to 5.71770048141.\n",
-      "\n",
-      "== Iteration :  91, from t = 5.7177 to t = 5.78053 ==\n",
-      ">Parameter t set to 5.78053236008.\n",
-      "\n",
-      "== Iteration :  92, from t = 5.7805 to t = 5.84336 ==\n",
-      ">Parameter t set to 5.84336423874.\n",
-      "\n",
-      "== Iteration :  93, from t = 5.8434 to t = 5.90620 ==\n",
-      ">Parameter t set to 5.9061961174.\n",
-      "\n",
-      "== Iteration :  94, from t = 5.9062 to t = 5.96903 ==\n",
-      ">Parameter t set to 5.96902799606.\n",
-      "\n",
-      "== Iteration :  95, from t =  5.969 to t = 6.03186 ==\n",
-      ">Parameter t set to 6.03185987473.\n",
-      "\n",
-      "== Iteration :  96, from t = 6.0319 to t = 6.09469 ==\n",
-      ">Parameter t set to 6.09469175339.\n",
-      "\n",
-      "== Iteration :  97, from t = 6.0947 to t = 6.15752 ==\n",
-      ">Parameter t set to 6.15752363205.\n",
-      "\n",
-      "== Iteration :  98, from t = 6.1575 to t = 6.22036 ==\n",
-      ">Parameter t set to 6.22035551071.\n",
-      "\n",
-      "*******************************************************************************\n",
-      "** Next iteration is last iteration, clamping dt to achieve t=6.28318530718. **\n",
-      "*******************************************************************************\n",
-      ">Parameter dt set to 0.0628297964679.\n",
-      "\n",
-      "== Iteration :  99, from t = 6.2204 to t = 6.28319 ==\n",
-      "\n",
-      "*****************************************************\n",
-      "** Simulation took 0:00:00 (0.348946s)             **\n",
-      "**  for 100 iterations (0.00348946s per iteration) **\n",
-      "*****************************************************\n",
-      "\n",
-      "\n",
-      ">Problem profiler report\n",
-      "  >analytic::apply ncalls=100, total=122.9ms, mean=  1.2ms\n",
-      "  >dumped_scalar_field::apply ncalls=100, total=183.5ms, mean=  1.8ms\n",
-      "Finalizing problem...\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "# Create a simulation and solve the problem \n",
     "# (do not forget to specify the time parameter here)\n",
@@ -681,7 +241,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython2",
-   "version": "2.7.12"
+   "version": "2.7.15rc1"
   }
  },
  "nbformat": 4,
-- 
GitLab