From 8c2953b3ec6746b5a37811ff54f4eb56318e2b01 Mon Sep 17 00:00:00 2001 From: L-Nafaryus Date: Wed, 6 Oct 2021 00:58:37 +0500 Subject: [PATCH] New: failed analytics --- .gitignore | 1 + playground/analytics.ipynb | 708 ++++++++++++++++++ ...playground.ipynb => training-models.ipynb} | 217 +++++- playground/woPrismaticLayer-2/anisotropy.db | Bin 0 -> 233472 bytes playground/woPrismaticLayer-2/anisotropy.toml | 281 +++++++ 5 files changed, 1183 insertions(+), 24 deletions(-) create mode 100644 playground/analytics.ipynb rename playground/{anisotropy-playground.ipynb => training-models.ipynb} (98%) create mode 100644 playground/woPrismaticLayer-2/anisotropy.db create mode 100644 playground/woPrismaticLayer-2/anisotropy.toml diff --git a/.gitignore b/.gitignore index 7789e4b..1fa764f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ env/ *.toc *.out *.egg-info +.ipynb_checkpoints/ diff --git a/playground/analytics.ipynb b/playground/analytics.ipynb new file mode 100644 index 0000000..281a523 --- /dev/null +++ b/playground/analytics.ipynb @@ -0,0 +1,708 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 14, + "id": "cbaf1c39-e423-47a3-a3ea-e78a528bc4c1", + "metadata": {}, + "outputs": [], + "source": [ + "from anisotropy.core.database import Database, Structure\n", + "import pandas\n", + "from pandas import DataFrame, Series\n", + "import matplotlib.pyplot as plt\n", + "import seaborn\n", + "import numpy\n", + "import warnings\n", + "\n", + "# ignore some warnings, especially from seaborn\n", + "warnings.filterwarnings('ignore')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "09b1bf83-6b42-4144-81a0-b57c661181b1", + "metadata": {}, + "outputs": [], + "source": [ + "db = Database(\"anisotropy\", \"woPrismaticLayer\")\n", + "db.setup()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "f341fbd4-797b-4d5d-8393-0f7cf2e67883", + "metadata": {}, + "outputs": [], + "source": [ + "res = db.search([])\n", + "df = DataFrame(res)\n", + "\n", + "df_prep = df[[\n", + " col for col in df.columns \n", + " if not isinstance(df[col][0], str) \n", + " and not isinstance(df[col][0], numpy.bool_)\n", + " and not isinstance(df[col][0], dict)\n", + " and not isinstance(df[col][0], list)\n", + " and not df[col][0] is None\n", + " and not col[-3: ] == \"_id\"\n", + "]]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c2dbce30-d80a-4b78-b2a6-cf9c2075f5b5", + "metadata": {}, + "outputs": [], + "source": [ + "df_prep = df_prep.assign(direction = df[\"direction\"].astype(\"str\"))\n", + "df_prep = df_prep.assign(type = df[\"type\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "d182461e-1e42-4e0b-8dd2-ba6425654ee7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "seaborn.set_style('whitegrid')\n", + "seaborn.lmplot(\n", + " x = \"theta\", y = \"flowRate\", \n", + " hue = \"direction\", col = \"type\", \n", + " data = df_prep, order = 3, \n", + " sharex = False, sharey = False, ci = None)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "7b7092aa-de0e-430c-9ed5-07483b278d45", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
typedirectionthetameshStatusflowStatus
101bodyCentered[0.0, 0.0, 1.0]0.01DoneFailed
113bodyCentered[0.0, 0.0, 1.0]0.13DoneFailed
114bodyCentered[0.0, 0.0, 1.0]0.14FailedIdle
115bodyCentered[0.0, 0.0, 1.0]0.15FailedIdle
117bodyCentered[0.0, 0.0, 1.0]0.17FailedIdle
96bodyCentered[1.0, 0.0, 0.0]0.13DoneFailed
97bodyCentered[1.0, 0.0, 0.0]0.14FailedIdle
98bodyCentered[1.0, 0.0, 0.0]0.15FailedIdle
99bodyCentered[1.0, 0.0, 0.0]0.16FailedIdle
100bodyCentered[1.0, 0.0, 0.0]0.17FailedIdle
128bodyCentered[1.0, 1.0, 1.0]0.11FailedIdle
129bodyCentered[1.0, 1.0, 1.0]0.12FailedIdle
130bodyCentered[1.0, 1.0, 1.0]0.13FailedIdle
131bodyCentered[1.0, 1.0, 1.0]0.14FailedIdle
132bodyCentered[1.0, 1.0, 1.0]0.15FailedIdle
133bodyCentered[1.0, 1.0, 1.0]0.16FailedIdle
134bodyCentered[1.0, 1.0, 1.0]0.17FailedIdle
152faceCentered[0.0, 0.0, 1.0]0.06FailedIdle
155faceCentered[0.0, 0.0, 1.0]0.09FailedIdle
156faceCentered[0.0, 0.0, 1.0]0.10FailedIdle
157faceCentered[0.0, 0.0, 1.0]0.11FailedIdle
158faceCentered[0.0, 0.0, 1.0]0.12FailedIdle
137faceCentered[1.0, 0.0, 0.0]0.03FailedIdle
143faceCentered[1.0, 0.0, 0.0]0.09FailedIdle
144faceCentered[1.0, 0.0, 0.0]0.10FailedIdle
145faceCentered[1.0, 0.0, 0.0]0.11FailedIdle
146faceCentered[1.0, 0.0, 0.0]0.12FailedIdle
167faceCentered[1.0, 1.0, 1.0]0.09FailedIdle
168faceCentered[1.0, 1.0, 1.0]0.10FailedIdle
169faceCentered[1.0, 1.0, 1.0]0.11FailedIdle
170faceCentered[1.0, 1.0, 1.0]0.12FailedIdle
58simple[1.0, 1.0, 1.0]0.03FailedIdle
60simple[1.0, 1.0, 1.0]0.05FailedIdle
61simple[1.0, 1.0, 1.0]0.06FailedIdle
64simple[1.0, 1.0, 1.0]0.09FailedIdle
65simple[1.0, 1.0, 1.0]0.10FailedIdle
66simple[1.0, 1.0, 1.0]0.11FailedIdle
67simple[1.0, 1.0, 1.0]0.12FailedIdle
68simple[1.0, 1.0, 1.0]0.13FailedIdle
69simple[1.0, 1.0, 1.0]0.14FailedIdle
70simple[1.0, 1.0, 1.0]0.15FailedIdle
82simple[1.0, 1.0, 1.0]0.27DoneFailed
83simple[1.0, 1.0, 1.0]0.28DoneFailed
\n", + "
" + ], + "text/plain": [ + " type direction theta meshStatus flowStatus\n", + "101 bodyCentered [0.0, 0.0, 1.0] 0.01 Done Failed\n", + "113 bodyCentered [0.0, 0.0, 1.0] 0.13 Done Failed\n", + "114 bodyCentered [0.0, 0.0, 1.0] 0.14 Failed Idle\n", + "115 bodyCentered [0.0, 0.0, 1.0] 0.15 Failed Idle\n", + "117 bodyCentered [0.0, 0.0, 1.0] 0.17 Failed Idle\n", + "96 bodyCentered [1.0, 0.0, 0.0] 0.13 Done Failed\n", + "97 bodyCentered [1.0, 0.0, 0.0] 0.14 Failed Idle\n", + "98 bodyCentered [1.0, 0.0, 0.0] 0.15 Failed Idle\n", + "99 bodyCentered [1.0, 0.0, 0.0] 0.16 Failed Idle\n", + "100 bodyCentered [1.0, 0.0, 0.0] 0.17 Failed Idle\n", + "128 bodyCentered [1.0, 1.0, 1.0] 0.11 Failed Idle\n", + "129 bodyCentered [1.0, 1.0, 1.0] 0.12 Failed Idle\n", + "130 bodyCentered [1.0, 1.0, 1.0] 0.13 Failed Idle\n", + "131 bodyCentered [1.0, 1.0, 1.0] 0.14 Failed Idle\n", + "132 bodyCentered [1.0, 1.0, 1.0] 0.15 Failed Idle\n", + "133 bodyCentered [1.0, 1.0, 1.0] 0.16 Failed Idle\n", + "134 bodyCentered [1.0, 1.0, 1.0] 0.17 Failed Idle\n", + "152 faceCentered [0.0, 0.0, 1.0] 0.06 Failed Idle\n", + "155 faceCentered [0.0, 0.0, 1.0] 0.09 Failed Idle\n", + "156 faceCentered [0.0, 0.0, 1.0] 0.10 Failed Idle\n", + "157 faceCentered [0.0, 0.0, 1.0] 0.11 Failed Idle\n", + "158 faceCentered [0.0, 0.0, 1.0] 0.12 Failed Idle\n", + "137 faceCentered [1.0, 0.0, 0.0] 0.03 Failed Idle\n", + "143 faceCentered [1.0, 0.0, 0.0] 0.09 Failed Idle\n", + "144 faceCentered [1.0, 0.0, 0.0] 0.10 Failed Idle\n", + "145 faceCentered [1.0, 0.0, 0.0] 0.11 Failed Idle\n", + "146 faceCentered [1.0, 0.0, 0.0] 0.12 Failed Idle\n", + "167 faceCentered [1.0, 1.0, 1.0] 0.09 Failed Idle\n", + "168 faceCentered [1.0, 1.0, 1.0] 0.10 Failed Idle\n", + "169 faceCentered [1.0, 1.0, 1.0] 0.11 Failed Idle\n", + "170 faceCentered [1.0, 1.0, 1.0] 0.12 Failed Idle\n", + "58 simple [1.0, 1.0, 1.0] 0.03 Failed Idle\n", + "60 simple [1.0, 1.0, 1.0] 0.05 Failed Idle\n", + "61 simple [1.0, 1.0, 1.0] 0.06 Failed Idle\n", + "64 simple [1.0, 1.0, 1.0] 0.09 Failed Idle\n", + "65 simple [1.0, 1.0, 1.0] 0.10 Failed Idle\n", + "66 simple [1.0, 1.0, 1.0] 0.11 Failed Idle\n", + "67 simple [1.0, 1.0, 1.0] 0.12 Failed Idle\n", + "68 simple [1.0, 1.0, 1.0] 0.13 Failed Idle\n", + "69 simple [1.0, 1.0, 1.0] 0.14 Failed Idle\n", + "70 simple [1.0, 1.0, 1.0] 0.15 Failed Idle\n", + "82 simple [1.0, 1.0, 1.0] 0.27 Done Failed\n", + "83 simple [1.0, 1.0, 1.0] 0.28 Done Failed" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "failed = df[[\"type\", \"direction\", \"theta\", \"meshStatus\", \"flowStatus\"]][\n", + " (df[\"meshStatus\"] == \"Failed\") | (df[\"flowStatus\"] == \"Failed\")\n", + "].assign(\n", + " direction = df[\"direction\"].astype(\"str\")\n", + ").sort_values(\n", + " by = [\"type\", \"direction\", \"theta\"]\n", + ")\n", + "failed" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "1a25020c-5bcc-4e46-985f-cfe55c30d117", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple3 = df.assign(direction = df[\"direction\"].astype(\"str\"))\n", + "simple3 = simple3[\n", + " (simple3[\"type\"] == \"simple\") & (simple3[\"direction\"] == \"[1.0, 1.0, 1.0]\")\n", + "]\n", + "\n", + "seaborn.scatterplot(data = simple3, x = \"theta\", y = \"chordalError\", hue = \"meshStatus\")\n", + "seaborn.lineplot(data = simple3, x = \"theta\", y = \"minSize\", color = \"grey\", label = \"minSize\")\n", + "seaborn.lineplot(data = simple3, x = \"theta\", y = \"maxSize\", color = \"black\", label = \"maxSize\")" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "7d6de026-fe25-497f-a872-66b249e0e979", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple1 = df.assign(direction = df[\"direction\"].astype(\"str\"))\n", + "simple1 = simple1[\n", + " (simple1[\"type\"] == \"simple\") & (simple1[\"direction\"] == \"[1.0, 0.0, 0.0]\")\n", + "]\n", + "\n", + "seaborn.scatterplot(data = simple1, x = \"theta\", y = \"chordalError\", hue = \"meshStatus\")\n", + "seaborn.lineplot(data = simple1, x = \"theta\", y = \"minSize\", color = \"grey\", label = \"minSize\")\n", + "seaborn.lineplot(data = simple1, x = \"theta\", y = \"maxSize\", color = \"black\", label = \"maxSize\")" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "90d3e556-9576-47fe-85d0-e43168886299", + "metadata": {}, + "outputs": [], + "source": [ + "general: list = db.loadGeneral()\n", + "dfe: list = [] #DataFrame()\n", + "\n", + "for entry in general:\n", + " structure: dict = entry[\"structure\"]\n", + " extended: dict = db.load(structure[\"type\"], structure[\"direction\"], structure[\"theta\"])\n", + " fields: list = extended.keys()\n", + " \n", + " for key in fields:\n", + " extended[key] = pandas.json_normalize(extended[key])\n", + " \n", + " dfe.append(extended)\n", + "\n", + "dfe: DataFrame = DataFrame(dfe)\n", + "dfe: Series = Series(\n", + " [ pandas.concat(dfe[field].to_list(), ignore_index = True) for field in dfe.keys() ],\n", + " dfe.keys()\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "437d9432-206e-4d23-a5cb-d9958b65f68a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "structure structure_id type directi...\n", + "mesh mesh_id structure_id maxSize minSize...\n", + "submesh submesh_id mesh_id name maxSize m...\n", + "meshresult meshresult_id mesh_id surfaceArea vo...\n", + "flow flow_id structure_id sc...\n", + "flowapproximation flow_approximation_id flow_id pressure.b...\n", + "flowresult flowresult_id flow_id flowRate por...\n", + "dtype: object" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfe" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "756351e4-34b6-49d1-8cdb-29e3def4361d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/playground/anisotropy-playground.ipynb b/playground/training-models.ipynb similarity index 98% rename from playground/anisotropy-playground.ipynb rename to playground/training-models.ipynb index 9463ac9..1817307 100644 --- a/playground/anisotropy-playground.ipynb +++ b/playground/training-models.ipynb @@ -39,17 +39,25 @@ { "cell_type": "code", "execution_count": 4, - "id": "86b8162b-ed07-4c65-9c31-3f18daafc915", + "id": "3bc80bca-03ce-416e-be2f-ab7ae2af95fa", "metadata": {}, "outputs": [], "source": [ - "df_keys = [ key for key in df.keys() ]" + "df_numeric = df[[\n", + " col for col in df.columns \n", + " if not isinstance(df[col][0], str) \n", + " and not isinstance(df[col][0], numpy.bool_)\n", + " and not isinstance(df[col][0], dict)\n", + " and not isinstance(df[col][0], list)\n", + " and not df[col][0] is None\n", + " and not col[-3: ] == \"_id\"\n", + "]]" ] }, { "cell_type": "code", - "execution_count": 18, - "id": "3bc80bca-03ce-416e-be2f-ab7ae2af95fa", + "execution_count": 5, + "id": "eab92bcc-8f1f-4490-8dc6-8ebf191d6cf2", "metadata": {}, "outputs": [ { @@ -58,7 +66,7 @@ "" ] }, - "execution_count": 18, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, @@ -74,21 +82,190 @@ } ], "source": [ - "df_numeric = df[[\n", - " col for col in df.columns \n", - " if not isinstance(df[col][0], str) \n", - " and not isinstance(df[col][0], numpy.bool_)\n", - " and not isinstance(df[col][0], dict)\n", - " and not col[-3: ] == \"_id\"\n", - "]]\n", "seaborn.set(rc = { \"figure.figsize\": (30, 20) })\n", "seaborn.heatmap(df_numeric.corr(), annot = True)" ] }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7611c892-1e13-404e-849e-3cfa15d8dfca", + "metadata": {}, + "outputs": [], + "source": [ + "x = df_numeric[[\"theta\", \"r0\", \"L\", \"radius\"]] #.drop(columns = [\"flowRate\"])\n", + "y = df_numeric[\"flowRate\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "1a38aaa0-89fb-40f7-abce-e500ab696349", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "xtr, xte, ytr, yte = train_test_split(x, y, test_size = 0.2, random_state = 100)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1b7e9f62-35a9-4a1a-9ffa-a2a6e757ff46", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn import preprocessing\n", + "scaler = preprocessing.MinMaxScaler()\n", + "x_scaled = scaler.fit_transform(xtr)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "19bd2f52-a5bf-404c-93f7-0626bc35a915", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DecisionTreeRegressor(random_state=500)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.tree import DecisionTreeRegressor\n", + "neigh = DecisionTreeRegressor(random_state = 500)\n", + "neigh.fit(x_scaled, ytr)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "d063265f-2f06-4290-811e-b6b1753bcac9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.664398739090909e-15" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.metrics import mean_absolute_error\n", + "xte_scaled = scaler.transform(xte)\n", + "y_pred = neigh.predict(xte_scaled)\n", + "mean_absolute_error(yte, y_pred)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "762af50c-371a-4ba5-b5ab-763970ef2a37", + "metadata": {}, + "outputs": [], + "source": [ + "#df_numeric[[\"theta\", \"r0\", \"L\", \"radius\", \"flowRate\", \"volumeCell\", \"volume\"]]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7a951647-efa1-4231-b96d-f67bc0ed6c33", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
thetar0Lradius
00.291.02.01.408451
\n", + "
" + ], + "text/plain": [ + " theta r0 L radius\n", + "0 0.29 1.0 2.0 1.408451" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test_df = DataFrame([{\n", + " \"theta\": 0.29,\n", + " \"r0\": 1.,\n", + " \"L\": 2.,\n", + " \"radius\": 1. / (1. - 0.29)\n", + "}]); test_df" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "bc9204db-bde4-4032-b4f5-313e99e25ab5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4.53058768e-15])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "neigh.predict(scaler.transform(test_df))" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "1fda6819-a8da-4751-be3d-d62320b799ae", + "id": "4b95277f-c49e-42b9-8d5f-3334d5ca7729", "metadata": {}, "outputs": [], "source": [] @@ -96,15 +273,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f19311bb-e992-4592-83b2-0b003a6b78ae", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7f06bc5b-80ba-4763-8fec-121c0623ccf2", + "id": "c56035b1-18d5-4c88-94b6-da4d7eccac9a", "metadata": {}, "outputs": [], "source": [] @@ -112,7 +281,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -126,7 +295,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.9.6" } }, "nbformat": 4, diff --git a/playground/woPrismaticLayer-2/anisotropy.db b/playground/woPrismaticLayer-2/anisotropy.db new file mode 100644 index 0000000000000000000000000000000000000000..b161e338d08b32dafb7416eba93d11474ccecf7b GIT binary patch literal 233472 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 WZ@tadwZxa53ggKptEPdm*#7~gbHz~r literal 0 HcmV?d00001 diff --git a/playground/woPrismaticLayer-2/anisotropy.toml b/playground/woPrismaticLayer-2/anisotropy.toml new file mode 100644 index 0000000..223514c --- /dev/null +++ b/playground/woPrismaticLayer-2/anisotropy.toml @@ -0,0 +1,281 @@ +# -*- coding: utf-8 -*- +# This file is part of anisotropy. +# License: GNU GPL version 3, see the file "LICENSE" for details. + +[logger] +name = "anisotropy" +format = "[ %(levelname)s ] %(message)s" + +[base] +simple = true +bodyCentered = true +faceCentered = true + +[[structures]] + [structures.structure] + type = "simple" + # auto # from theta: list # theta: float + theta = [0.01, 0.28, 0.01] # [min, max, step] + # auto # from directions:list # direction: list + directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] + ] + + # r0 = + # L = + # radius = + + filletsEnabled = true + # auto # fillets: float + + [structures.mesh] + maxSize = 0.5 + minSize = 0.05 + + fineness = 5 + growthRate = 0.5 + nbSegPerEdge = 2 + nbSegPerRadius = 1 + + chordalErrorEnabled = true + chordalError = 0.25 + + secondOrder = false + optimize = true + quadAllowed = false + useSurfaceCurvature = true + fuseEdges = true + checkChartBoundary = false + + viscousLayers = false + thickness = [0.01, 0.005] # [min, max] # step is controlled by theta count + numberOfLayers = 1 + stretchFactor = 1 + isFacesToIgnore = true + facesToIgnore = ["inlet", "outlet"] + # auto # faces: list + extrusionMethod = "SURF_OFFSET_SMOOTH" + + [[structures.submesh]] + name = "strips" + maxSize = 0.5 + minSize = 0.05 + + fineness = 5 + growthRate = 0.2 + nbSegPerEdge = 2 + nbSegPerRadius = 3 + + chordalErrorEnabled = true + chordalError = 0.25 + + secondOrder = false + optimize = true + quadAllowed = false + useSurfaceCurvature = true + fuseEdges = true + checkChartBoundary = false + + [structures.flowapproximation] + transportProperties.nu = 1e-6 + + pressure.boundaryField.inlet = { type = "fixedValue", value = 1e-3 } + pressure.boundaryField.outlet = { type = "fixedValue", value = 0.0 } + + # multiplication velocity value with flow direction vector + velocity.boundaryField.inlet = { type = "fixedValue", value = 6e-5 } + velocity.boundaryField.outlet = { type = "zeroGradient", value = "None" } + + [structures.flow] + scale = [ 1e-5, 1e-5, 1e-5 ] + + transportProperties.nu = 1e-6 + + pressure.boundaryField.inlet = { type = "fixedValue", value = 1e-3 } + pressure.boundaryField.outlet = { type = "fixedValue", value = 0.0 } + + velocity.boundaryField.inlet = { type = "pressureInletVelocity", value = 0.0 } + velocity.boundaryField.outlet = { type = "zeroGradient", value = "None" } + + +[[structures]] + [structures.structure] + type = "bodyCentered" + # auto # from theta: list # theta: float + theta = [0.01, 0.17, 0.01] # [min, max, step] + # auto # from directions:list # direction: list + directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] + ] + + # r0 = + # L = + # radius = + + filletsEnabled = true + # auto # fillets: float + + [structures.mesh] + maxSize = 0.5 + minSize = 0.05 + + fineness = 5 + growthRate = 0.5 + nbSegPerEdge = 2 + nbSegPerRadius = 1 + + chordalErrorEnabled = true + chordalError = 0.25 + + secondOrder = false + optimize = true + quadAllowed = false + useSurfaceCurvature = true + fuseEdges = true + checkChartBoundary = false + + viscousLayers = false + thickness = [0.005, 0.0005] # [min, max] # step is controlled by theta count + numberOfLayers = 1 + stretchFactor = 1 + isFacesToIgnore = true + facesToIgnore = ["inlet", "outlet"] + # auto # faces: list + extrusionMethod = "SURF_OFFSET_SMOOTH" + + [[structures.submesh]] + name = "strips" + maxSize = 0.5 + minSize = 0.05 + + fineness = 5 + growthRate = 0.2 + nbSegPerEdge = 2 + nbSegPerRadius = 3 + + chordalErrorEnabled = true + chordalError = 0.25 + + secondOrder = false + optimize = true + quadAllowed = false + useSurfaceCurvature = true + fuseEdges = true + checkChartBoundary = false + + [structures.flowapproximation] + transportProperties.nu = 1e-6 + + pressure.boundaryField.inlet = { type = "fixedValue", value = 1e-3 } + pressure.boundaryField.outlet = { type = "fixedValue", value = 0.0 } + + # multiplication velocity value with direction vector + velocity.boundaryField.inlet = { type = "fixedValue", value = 6e-5 } + velocity.boundaryField.outlet = { type = "zeroGradient", value = "None" } + + [structures.flow] + scale = [ 1e-5, 1e-5, 1e-5 ] + + transportProperties.nu = 1e-6 + + pressure.boundaryField.inlet = { type = "fixedValue", value = 1e-3 } + pressure.boundaryField.outlet = { type = "fixedValue", value = 0.0 } + + velocity.boundaryField.inlet = { type = "pressureInletVelocity", value = 0.0 } + velocity.boundaryField.outlet = { type = "zeroGradient", value = "None" } + + +[[structures]] + [structures.structure] + type = "faceCentered" + # auto # from theta: list # theta: float + theta = [0.01, 0.12, 0.01] # [min, max, step] + # auto # from directions:list # direction: list + directions = [ + [1, 0, 0], + [0, 0, 1], + [1, 1, 1] + ] + + # r0 = + # L = + # radius = + + filletsEnabled = true + # auto # fillets: float + + [structures.mesh] + maxSize = 0.5 + minSize = 0.05 + + fineness = 5 + growthRate = 0.5 + nbSegPerEdge = 2 + nbSegPerRadius = 1 + + chordalErrorEnabled = true + chordalError = 0.25 + + secondOrder = false + optimize = true + quadAllowed = false + useSurfaceCurvature = true + fuseEdges = true + checkChartBoundary = false + + viscousLayers = false + thickness = [0.001, 0.0005] # [min, max] # step is controlled by theta count + numberOfLayers = 1 + stretchFactor = 1 + isFacesToIgnore = true + facesToIgnore = ["inlet", "outlet"] + # auto # faces: list + extrusionMethod = "SURF_OFFSET_SMOOTH" + + [[structures.submesh]] + name = "strips" + maxSize = 0.5 + minSize = 0.05 + + fineness = 5 + growthRate = 0.2 + nbSegPerEdge = 2 + nbSegPerRadius = 3 + + chordalErrorEnabled = true + chordalError = 0.25 + + secondOrder = false + optimize = true + quadAllowed = false + useSurfaceCurvature = true + fuseEdges = true + checkChartBoundary = false + + [structures.flowapproximation] + transportProperties.nu = 1e-6 + + pressure.boundaryField.inlet = { type = "fixedValue", value = 1e-3 } + pressure.boundaryField.outlet = { type = "fixedValue", value = 0.0 } + + # multiplication velocity value with direction vector + velocity.boundaryField.inlet = { type = "fixedValue", value = 6e-5 } + velocity.boundaryField.outlet = { type = "zeroGradient", value = "None" } + + [structures.flow] + scale = [ 1e-5, 1e-5, 1e-5 ] + + transportProperties.nu = 1e-6 + + pressure.boundaryField.inlet = { type = "fixedValue", value = 1e-3 } + pressure.boundaryField.outlet = { type = "fixedValue", value = 0.0 } + + velocity.boundaryField.inlet = { type = "pressureInletVelocity", value = 0.0 } + velocity.boundaryField.outlet = { type = "zeroGradient", value = "None" } + + +