{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## HDF5" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'alpha', 'Psi4i', 'Psi4r', 'phi', 'r', 'y', 'z', 'x', 'trK'}\n" ] } ], "source": [ "import CactusTool\n", "\n", "name = 'GW150914_test10'\n", "sim = CactusTool.load(name, '/Volumes/simulations/HUST_error')\n", "# dim include ['x', 'y', 'z', 'xy', 'xz', 'yz', 'xyz']\n", "dim = 'xy'\n", "ftype = 'h5'\n", "print(sim.GF(dim, ftype).fname)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Var:\n", " {'alpha'}\n", "iteration:\n", " {0, 1024, 12288, 10240, 11264, 13312, 14336, 15360, 16384, 17408, 20480, 4096, 8192, 24576, 21504, 25600, 28672, 29696, 33792, 32768, 37888, 41984, 46080, 36864, 5120, 40960, 9216, 45056, 18432, 2048, 22528, 26624, 30720, 34816, 38912, 43008, 47104, 6144, 19456, 23552, 27648, 3072, 31744, 35840, 39936, 44032, 7168}\n", "hierarchy:\n", " {0: set(), 1: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 2: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 3: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 4: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 5: {0, 2, 3, 4, 5, 7, 8, 9, 11, 12}, 6: {0, 2, 3, 4, 5, 7, 8, 9, 11, 12}, 7: {0, 2, 3, 4, 5, 7, 8, 9, 11, 12}, 8: {0, 2, 3, 4, 5, 7, 8, 9, 11, 12}}\n" ] } ], "source": [ "GF = sim.GF(dim, ftype)['alpha']\n", "print(\"Var:\\n\", GF.vars)\n", "print(\"iteration:\\n\", GF.it)\n", "print(\"hierarchy:\\n\", GF.hierarchy)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from CactusTool.Visualize import pcolormesh\n", "import matplotlib.pyplot as plt\n", "\n", "p = GF.dsets('alpha', 44032, 3, -1)\n", "time = list(p.keys())\n", "fig, ax = plt.subplots()\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('y')\n", "ax.set_title(\"Time: {}\".format(time[0]))\n", "im = pcolormesh(ax, p[time[0]])\n", "fig.colorbar(im, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ASCII" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "ename": "AssertionError", "evalue": "nsnstohmns don't have 'x' dim in '.asc' ftype", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAssertionError\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 6\u001b[0m \u001b[0mdim\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'x'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mftype\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'asc'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msim\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mGF\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mftype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfname\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 9\u001b[0m \u001b[0;31m# GF = sim.GF(dim, ftype)['rho']\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;31m# print(GF.vars)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Desktop/CactusTool/CactusTool/main.py\u001b[0m in \u001b[0;36mGF\u001b[0;34m(self, dim, ftype)\u001b[0m\n\u001b[1;32m 77\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 78\u001b[0m \u001b[0mfileList\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mglob\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mglob\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimpath\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msep\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m'*.{}.*{}'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mftype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 79\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mbool\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileList\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"{} don't have '{}' dim in '.{}' ftype\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mftype\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 80\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mCarpetGF\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfileList\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mftype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAssertionError\u001b[0m: nsnstohmns don't have 'x' dim in '.asc' ftype" ] } ], "source": [ "import CactusTool\n", "\n", "name = 'nsnstohmns'\n", "sim = CactusTool.load(name, '/Volumes/simulations/')\n", "# dim include ['x', 'y', 'z', 'xy', 'xz', 'yz', 'xyz']\n", "dim = 'x'\n", "ftype = 'asc'\n", "print(sim.GF(dim, ftype).fname)\n", "# GF = sim.GF(dim, ftype)['rho']\n", "# print(GF.vars)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.8.5" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }