From c6136b6e4b9bfc16c3fe0a9dfafc10351093134f Mon Sep 17 00:00:00 2001 From: L-Nafaryus Date: Thu, 21 Apr 2022 19:19:14 +0500 Subject: [PATCH] mod: minor changes --- anisotropy/cli/cli.py | 1 - anisotropy/core/postprocess.py | 80 ++++++++++++ anisotropy/core/runner.py | 11 +- anisotropy/database/database.py | 52 ++++++++ anisotropy/database/tables.py | 4 + anisotropy/shaping/primitives.py | 7 +- poetry.lock | 206 ++++++++++++++++++++++++------- pyproject.toml | 1 + 8 files changed, 316 insertions(+), 46 deletions(-) diff --git a/anisotropy/cli/cli.py b/anisotropy/cli/cli.py index b8dc73b..1d80b6a 100644 --- a/anisotropy/cli/cli.py +++ b/anisotropy/cli/cli.py @@ -135,7 +135,6 @@ def compute(path, configFile, nprocs, stage, overwrite, params, verbose, executi if v is not None: config.update(**{ k: v }) - print(config.options) if pid: pid = pathlib.Path(pid).resolve() diff --git a/anisotropy/core/postprocess.py b/anisotropy/core/postprocess.py index bfb1c8d..e0e47d0 100644 --- a/anisotropy/core/postprocess.py +++ b/anisotropy/core/postprocess.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import pathlib +import numpy as np import anisotropy.openfoam as of @@ -15,3 +16,82 @@ def flowRate(patch: str, path: str = None): surfaceFieldValue = of.conversion.read_dat(outfile)["sum(phi)"][-1] return surfaceFieldValue + + +def permeability(viscosity = None, flowRate = None, length = None, areaCross = None, pressureInlet = None, pressureOutlet = None, **kwargs): + viscosity = kwargs.get("viscosity", viscosity) + flowRate = kwargs.get("flowRate", flowRate) + length = kwargs.get("length", length) + areaCross = kwargs.get("areaCross", areaCross) + pressureInlet = kwargs.get("pressureInlet", pressureInlet) + pressureOutlet = kwargs.get("pressureOutlet", pressureOutlet) + + return viscosity * length * flowRate / (areaCross * (pressureInlet - pressureOutlet)) + + +def mean_nan(arr): + temp = arr.copy() + + if np.isnan(temp[0]): + temp[0] = temp[1] + + for n, item in enumerate(temp): + if np.all(np.isnan(item)): + + vals = temp[n - 1 : n + 2] + + if np.sum(~np.isnan(vals)) <= 1: + vals = temp[n - 2 : n + 3] + + temp[n] = vals[~np.isnan(vals)].mean() + + return temp + + +def filter_group(arr, nan = True, qhigh = True, quantile = 0.97): + temp = arr.copy() + check = True + quan = np.quantile(temp[~np.isnan(temp)], quantile) + limit = 1000 + + while check: + if nan and np.any(np.isnan(temp)): + temp = mean_nan(temp) + check = True + + elif qhigh and np.any(quan < temp): + temp[quan < temp] = np.nan + check = True + + else: + check = False + + if limit <= 0: + break + + else: + limit -= 1 + + return temp + + +def pad_nan(x, y): + return np.pad(y, (0, x.size - y.size), 'constant', constant_values = np.nan) + + +""" +def multiplot_y( + x, + y, + labels = [], + lines = [], + axes_labels = ["", ""], + legend = True, + grid = True, + figsize = (12, 6) + ): + fig, ax = plt.subplots(nrows = 1, ncols = 1, figsize = figsize) + + for n, y_arr in enumerate(y): + ax.plot(x, y_arr, ) +""" diff --git a/anisotropy/core/runner.py b/anisotropy/core/runner.py index d98e8ee..ad49fb9 100644 --- a/anisotropy/core/runner.py +++ b/anisotropy/core/runner.py @@ -189,7 +189,16 @@ class UltimateRunner(object): shapeParams.shapeStatus = "done" shapeParams.volume = shape.shape.volume * np.prod(params["scale"]) shapeParams.volumeCell = shape.cell.volume * np.prod(params["scale"]) + shapeParams.radius = shape.radius + shapeParams.fillets = shape.fillets shapeParams.porosity = shapeParams.volume / shapeParams.volumeCell + shapeParams.areaOutlet = np.sum([ + face.mass for face in shape.shape.faces if face.name == "outlet" + ]) * params["scale"][0] ** 2 + shapeParams.length = shape.length * params["scale"][0] + shapeParams.areaCellOutlet = np.sum([ + face.mass for face in shape.cell.faces if face.name == "outlet" + ]) * params["scale"][0] ** 2 # commit parameters shapeParams.shapeExecutionTime = timer.elapsed() @@ -327,7 +336,7 @@ class UltimateRunner(object): for current in stages: if current == "shape": params = self._query_database("shape") - + # check database entry if params.shapeStatus == "done" and self.config["overwrite"] is not True: logger.info("Successful shape entry exists, skipping ...") diff --git a/anisotropy/database/database.py b/anisotropy/database/database.py index 646554a..a090d89 100644 --- a/anisotropy/database/database.py +++ b/anisotropy/database/database.py @@ -6,6 +6,7 @@ from numpy import ndarray import peewee as pw import pathlib import time +import pandas as pd from . import tables @@ -255,3 +256,54 @@ class Database(pw.SqliteDatabase): table = query.get() if query.exists() else None return table + + def load( + self, + field: str, + execution: int = None, + label: str = None, + direction: list[float] | ndarray = None + ): + execution = execution or self.getLatest() + + for table in self.tables: + try: + column = getattr(table, field) + + except AttributeError: + pass + + else: + break + + query = table.select(tables.Shape.alpha, column, tables.Shape.direction, tables.Shape.label) + + for current in reversed(self.tables[ :self.tables.index(table)]): + query = query.join(table, pw.JOIN.LEFT_OUTER) + + query = ( + query.switch(tables.Shape) + .where(tables.Shape.exec_id == execution) + .order_by(tables.Shape.label, tables.Shape.direction, tables.Shape.alpha) + ) + resp = None + + with self: + if query.exists(): + resp = [] + for row in query.dicts(): + for k in row.keys(): + if type(row[k]) == list: + row[k] = str(row[k]) + + resp.append(row) + + resp = pd.DataFrame(resp) + + if label is not None: + resp = resp[resp.label == label] + + if direction is not None: + resp = resp[resp.direction == direction] + + return resp[field] diff --git a/anisotropy/database/tables.py b/anisotropy/database/tables.py index 58771fe..4bd07ca 100644 --- a/anisotropy/database/tables.py +++ b/anisotropy/database/tables.py @@ -42,6 +42,10 @@ class Shape(pw.Model): volume = pw.FloatField(null = True) porosity = pw.FloatField(null = True) + areaOutlet = pw.FloatField(null = True) + length = pw.FloatField(null = True) + areaCellOutlet = pw.FloatField(null = True) + class Meta: database = database_proxy table_name = "shapes" diff --git a/anisotropy/shaping/primitives.py b/anisotropy/shaping/primitives.py index d338c40..30debe4 100644 --- a/anisotropy/shaping/primitives.py +++ b/anisotropy/shaping/primitives.py @@ -31,6 +31,7 @@ def simple(alpha: float, direction: list | ndarray, **kwargs) -> Periodic: pc.__dict__.update(kwargs) pc.L = 2 * pc.r0 pc.direction = np.asarray(direction) + pc.length = 0. # additional attributes pc.cell: ng_occ.Solid = None @@ -130,6 +131,7 @@ def simple(alpha: float, direction: list | ndarray, **kwargs) -> Periodic: vecFlow = utils.normal(inletface) pc.cell = inletface.Extrude(extr, ng_occ.Vec(*vecFlow)) + pc.length = extr # Boundary faces symetryId = 0 @@ -189,6 +191,7 @@ def body_centered(alpha: float, direction: list | ndarray, **kwargs) -> Periodic # additional attributes pc.cell: ng_occ.Solid = None pc.lattice: ng_occ.Solid = None + pc.length = 0. # constants zero = ng_occ.Pnt(0, 0, 0) @@ -292,6 +295,7 @@ def body_centered(alpha: float, direction: list | ndarray, **kwargs) -> Periodic vecFlow = utils.normal(inletface) pc.cell = inletface.Extrude(extr, ng_occ.Vec(*vecFlow)) + pc.length = extr # Boundary faces symetryId = 0 @@ -347,6 +351,7 @@ def face_centered(alpha: float, direction: list | ndarray, **kwargs) -> Periodic pc.__dict__.update(kwargs) pc.L = pc.r0 * 4 / np.sqrt(2) pc.direction = np.asarray(direction) + pc.length = 0. # additional attributes pc.cell: ng_occ.Solid = None @@ -374,7 +379,6 @@ def face_centered(alpha: float, direction: list | ndarray, **kwargs) -> Periodic x = x0 + xn * 2 * pc.r0 x2 = x20 + xn * 2 * pc.r0 + pc.r0 - # TODO: fix rotations (arcs intersection -> incorrect boolean operations spheres.append( ng_occ.Sphere(ng_occ.Pnt(x, y, z), pc.radius) .Rotate(ng_occ.Axis(ng_occ.Pnt(x, y, z), ng_occ.X), 45) @@ -471,6 +475,7 @@ def face_centered(alpha: float, direction: list | ndarray, **kwargs) -> Periodic vecFlow = utils.normal(inletface) pc.cell = inletface.Extrude(extr, ng_occ.Vec(*vecFlow)) + pc.length = extr # Boundary faces symetryId = 0 diff --git a/poetry.lock b/poetry.lock index ba0225a..ef4f3df 100644 --- a/poetry.lock +++ b/poetry.lock @@ -145,7 +145,7 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] [[package]] name = "coverage" -version = "6.3.1" +version = "6.3.2" description = "Code coverage measurement for Python" category = "dev" optional = false @@ -421,6 +421,18 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "lz" +version = "0.11.1" +description = "\"Lazy\" calculations support." +category = "main" +optional = false +python-versions = ">=3.5.3" + +[package.dependencies] +paradigm = ">=0.6.2,<1.0" +reprit = ">=0.3.1,<1.0" + [[package]] name = "markupsafe" version = "2.0.1" @@ -456,6 +468,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "memoir" +version = "0.0.3" +description = "Memoization support." +category = "main" +optional = false +python-versions = ">=3.5.3" + [[package]] name = "meshio" version = "5.3.0" @@ -479,6 +499,31 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "mypy" +version = "0.931" +description = "Optional static typing for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +mypy-extensions = ">=0.4.3" +tomli = ">=1.1.0" +typing-extensions = ">=3.10" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +python2 = ["typed-ast (>=1.4.0,<2)"] + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "main" +optional = false +python-versions = "*" + [[package]] name = "numpy" version = "1.22.2" @@ -519,6 +564,19 @@ pytz = ">=2020.1" [package.extras] test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] +[[package]] +name = "paradigm" +version = "0.6.2" +description = "Python objects metadata parser." +category = "main" +optional = false +python-versions = ">=3.5.3" + +[package.dependencies] +memoir = ">=0.0.3,<1.0" +mypy = {version = ">=0.812,<1.0", markers = "platform_python_implementation != \"PyPy\""} +reprit = ">=0.3.1,<1.0" + [[package]] name = "pathtools" version = "0.1.2" @@ -747,6 +805,14 @@ category = "dev" optional = true python-versions = ">=3.6" +[[package]] +name = "reprit" +version = "0.6.0" +description = "Auto __repr__ method generation." +category = "main" +optional = false +python-versions = ">=3.5.3" + [[package]] name = "requests" version = "2.27.1" @@ -969,6 +1035,14 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "typing-extensions" +version = "4.1.1" +description = "Backported and Experimental Type Hints for Python 3.6+" +category = "main" +optional = false +python-versions = ">=3.6" + [[package]] name = "urllib3" version = "1.26.8" @@ -1075,7 +1149,7 @@ gui = ["dash", "dash-bootstrap-components", "dash-vtk"] [metadata] lock-version = "1.1" python-versions = ">=3.9,<3.11" -content-hash = "9d38bd5da0ffac15f137cbbb7d4fbb7448aaf88ec77370f5361fa0b1a2e8ae68" +content-hash = "6bde8dbd6b2431799fef60413d84962c500bc934457dd2f514e14932bdd0596b" [metadata.files] aiohttp = [ @@ -1250,47 +1324,47 @@ commonmark = [ {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] coverage = [ - {file = "coverage-6.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeffd96882d8c06d31b65dddcf51db7c612547babc1c4c5db6a011abe9798525"}, - {file = "coverage-6.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:621f6ea7260ea2ffdaec64fe5cb521669984f567b66f62f81445221d4754df4c"}, - {file = "coverage-6.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84f2436d6742c01136dd940ee158bfc7cf5ced3da7e4c949662b8703b5cd8145"}, - {file = "coverage-6.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de73fca6fb403dd72d4da517cfc49fcf791f74eee697d3219f6be29adf5af6ce"}, - {file = "coverage-6.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78fbb2be068a13a5d99dce9e1e7d168db880870f7bc73f876152130575bd6167"}, - {file = "coverage-6.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f5a4551dfd09c3bd12fca8144d47fe7745275adf3229b7223c2f9e29a975ebda"}, - {file = "coverage-6.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7bff3a98f63b47464480de1b5bdd80c8fade0ba2832c9381253c9b74c4153c27"}, - {file = "coverage-6.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a06c358f4aed05fa1099c39decc8022261bb07dfadc127c08cfbd1391b09689e"}, - {file = "coverage-6.3.1-cp310-cp310-win32.whl", hash = "sha256:9fff3ff052922cb99f9e52f63f985d4f7a54f6b94287463bc66b7cdf3eb41217"}, - {file = "coverage-6.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:276b13cc085474e482566c477c25ed66a097b44c6e77132f3304ac0b039f83eb"}, - {file = "coverage-6.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:56c4a409381ddd7bbff134e9756077860d4e8a583d310a6f38a2315b9ce301d0"}, - {file = "coverage-6.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eb494070aa060ceba6e4bbf44c1bc5fa97bfb883a0d9b0c9049415f9e944793"}, - {file = "coverage-6.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e15d424b8153756b7c903bde6d4610be0c3daca3986173c18dd5c1a1625e4cd"}, - {file = "coverage-6.3.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61d47a897c1e91f33f177c21de897267b38fbb45f2cd8e22a710bcef1df09ac1"}, - {file = "coverage-6.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:25e73d4c81efa8ea3785274a2f7f3bfbbeccb6fcba2a0bdd3be9223371c37554"}, - {file = "coverage-6.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:fac0bcc5b7e8169bffa87f0dcc24435446d329cbc2b5486d155c2e0f3b493ae1"}, - {file = "coverage-6.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:72128176fea72012063200b7b395ed8a57849282b207321124d7ff14e26988e8"}, - {file = "coverage-6.3.1-cp37-cp37m-win32.whl", hash = "sha256:1bc6d709939ff262fd1432f03f080c5042dc6508b6e0d3d20e61dd045456a1a0"}, - {file = "coverage-6.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:618eeba986cea7f621d8607ee378ecc8c2504b98b3fdc4952b30fe3578304687"}, - {file = "coverage-6.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d5ed164af5c9078596cfc40b078c3b337911190d3faeac830c3f1274f26b8320"}, - {file = "coverage-6.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:352c68e233409c31048a3725c446a9e48bbff36e39db92774d4f2380d630d8f8"}, - {file = "coverage-6.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:448d7bde7ceb6c69e08474c2ddbc5b4cd13c9e4aa4a717467f716b5fc938a734"}, - {file = "coverage-6.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9fde6b90889522c220dd56a670102ceef24955d994ff7af2cb786b4ba8fe11e4"}, - {file = "coverage-6.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e647a0be741edbb529a72644e999acb09f2ad60465f80757da183528941ff975"}, - {file = "coverage-6.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a5cdc3adb4f8bb8d8f5e64c2e9e282bc12980ef055ec6da59db562ee9bdfefa"}, - {file = "coverage-6.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2dd70a167843b4b4b2630c0c56f1b586fe965b4f8ac5da05b6690344fd065c6b"}, - {file = "coverage-6.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9ad0a117b8dc2061ce9461ea4c1b4799e55edceb236522c5b8f958ce9ed8fa9a"}, - {file = "coverage-6.3.1-cp38-cp38-win32.whl", hash = "sha256:e92c7a5f7d62edff50f60a045dc9542bf939758c95b2fcd686175dd10ce0ed10"}, - {file = "coverage-6.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:482fb42eea6164894ff82abbcf33d526362de5d1a7ed25af7ecbdddd28fc124f"}, - {file = "coverage-6.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c5b81fb37db76ebea79aa963b76d96ff854e7662921ce742293463635a87a78d"}, - {file = "coverage-6.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a4f923b9ab265136e57cc14794a15b9dcea07a9c578609cd5dbbfff28a0d15e6"}, - {file = "coverage-6.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56d296cbc8254a7dffdd7bcc2eb70be5a233aae7c01856d2d936f5ac4e8ac1f1"}, - {file = "coverage-6.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1245ab82e8554fa88c4b2ab1e098ae051faac5af829efdcf2ce6b34dccd5567c"}, - {file = "coverage-6.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f2b05757c92ad96b33dbf8e8ec8d4ccb9af6ae3c9e9bd141c7cc44d20c6bcba"}, - {file = "coverage-6.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9e3dd806f34de38d4c01416344e98eab2437ac450b3ae39c62a0ede2f8b5e4ed"}, - {file = "coverage-6.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d651fde74a4d3122e5562705824507e2f5b2d3d57557f1916c4b27635f8fbe3f"}, - {file = "coverage-6.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:704f89b87c4f4737da2860695a18c852b78ec7279b24eedacab10b29067d3a38"}, - {file = "coverage-6.3.1-cp39-cp39-win32.whl", hash = "sha256:2aed4761809640f02e44e16b8b32c1a5dee5e80ea30a0ff0912158bde9c501f2"}, - {file = "coverage-6.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:9976fb0a5709988778ac9bc44f3d50fccd989987876dfd7716dee28beed0a9fa"}, - {file = "coverage-6.3.1-pp36.pp37.pp38-none-any.whl", hash = "sha256:463e52616ea687fd323888e86bf25e864a3cc6335a043fad6bbb037dbf49bbe2"}, - {file = "coverage-6.3.1.tar.gz", hash = "sha256:6c3f6158b02ac403868eea390930ae64e9a9a2a5bbfafefbb920d29258d9f2f8"}, + {file = "coverage-6.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9b27d894748475fa858f9597c0ee1d4829f44683f3813633aaf94b19cb5453cf"}, + {file = "coverage-6.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37d1141ad6b2466a7b53a22e08fe76994c2d35a5b6b469590424a9953155afac"}, + {file = "coverage-6.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9987b0354b06d4df0f4d3e0ec1ae76d7ce7cbca9a2f98c25041eb79eec766f1"}, + {file = "coverage-6.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:26e2deacd414fc2f97dd9f7676ee3eaecd299ca751412d89f40bc01557a6b1b4"}, + {file = "coverage-6.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dd8bafa458b5c7d061540f1ee9f18025a68e2d8471b3e858a9dad47c8d41903"}, + {file = "coverage-6.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:46191097ebc381fbf89bdce207a6c107ac4ec0890d8d20f3360345ff5976155c"}, + {file = "coverage-6.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6f89d05e028d274ce4fa1a86887b071ae1755082ef94a6740238cd7a8178804f"}, + {file = "coverage-6.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:58303469e9a272b4abdb9e302a780072c0633cdcc0165db7eec0f9e32f901e05"}, + {file = "coverage-6.3.2-cp310-cp310-win32.whl", hash = "sha256:2fea046bfb455510e05be95e879f0e768d45c10c11509e20e06d8fcaa31d9e39"}, + {file = "coverage-6.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:a2a8b8bcc399edb4347a5ca8b9b87e7524c0967b335fbb08a83c8421489ddee1"}, + {file = "coverage-6.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f1555ea6d6da108e1999b2463ea1003fe03f29213e459145e70edbaf3e004aaa"}, + {file = "coverage-6.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5f4e1edcf57ce94e5475fe09e5afa3e3145081318e5fd1a43a6b4539a97e518"}, + {file = "coverage-6.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a15dc0a14008f1da3d1ebd44bdda3e357dbabdf5a0b5034d38fcde0b5c234b7"}, + {file = "coverage-6.3.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21b7745788866028adeb1e0eca3bf1101109e2dc58456cb49d2d9b99a8c516e6"}, + {file = "coverage-6.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8ce257cac556cb03be4a248d92ed36904a59a4a5ff55a994e92214cde15c5bad"}, + {file = "coverage-6.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b0be84e5a6209858a1d3e8d1806c46214e867ce1b0fd32e4ea03f4bd8b2e3359"}, + {file = "coverage-6.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:acf53bc2cf7282ab9b8ba346746afe703474004d9e566ad164c91a7a59f188a4"}, + {file = "coverage-6.3.2-cp37-cp37m-win32.whl", hash = "sha256:8bdde1177f2311ee552f47ae6e5aa7750c0e3291ca6b75f71f7ffe1f1dab3dca"}, + {file = "coverage-6.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b31651d018b23ec463e95cf10070d0b2c548aa950a03d0b559eaa11c7e5a6fa3"}, + {file = "coverage-6.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:07e6db90cd9686c767dcc593dff16c8c09f9814f5e9c51034066cad3373b914d"}, + {file = "coverage-6.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2c6dbb42f3ad25760010c45191e9757e7dce981cbfb90e42feef301d71540059"}, + {file = "coverage-6.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c76aeef1b95aff3905fb2ae2d96e319caca5b76fa41d3470b19d4e4a3a313512"}, + {file = "coverage-6.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cf5cfcb1521dc3255d845d9dca3ff204b3229401994ef8d1984b32746bb45ca"}, + {file = "coverage-6.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fbbdc8d55990eac1b0919ca69eb5a988a802b854488c34b8f37f3e2025fa90d"}, + {file = "coverage-6.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ec6bc7fe73a938933d4178c9b23c4e0568e43e220aef9472c4f6044bfc6dd0f0"}, + {file = "coverage-6.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9baff2a45ae1f17c8078452e9e5962e518eab705e50a0aa8083733ea7d45f3a6"}, + {file = "coverage-6.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd9e830e9d8d89b20ab1e5af09b32d33e1a08ef4c4e14411e559556fd788e6b2"}, + {file = "coverage-6.3.2-cp38-cp38-win32.whl", hash = "sha256:f7331dbf301b7289013175087636bbaf5b2405e57259dd2c42fdcc9fcc47325e"}, + {file = "coverage-6.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:68353fe7cdf91f109fc7d474461b46e7f1f14e533e911a2a2cbb8b0fc8613cf1"}, + {file = "coverage-6.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b78e5afb39941572209f71866aa0b206c12f0109835aa0d601e41552f9b3e620"}, + {file = "coverage-6.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4e21876082ed887baed0146fe222f861b5815455ada3b33b890f4105d806128d"}, + {file = "coverage-6.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34626a7eee2a3da12af0507780bb51eb52dca0e1751fd1471d0810539cefb536"}, + {file = "coverage-6.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ebf730d2381158ecf3dfd4453fbca0613e16eaa547b4170e2450c9707665ce7"}, + {file = "coverage-6.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd6fe30bd519694b356cbfcaca9bd5c1737cddd20778c6a581ae20dc8c04def2"}, + {file = "coverage-6.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:96f8a1cb43ca1422f36492bebe63312d396491a9165ed3b9231e778d43a7fca4"}, + {file = "coverage-6.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:dd035edafefee4d573140a76fdc785dc38829fe5a455c4bb12bac8c20cfc3d69"}, + {file = "coverage-6.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ca5aeb4344b30d0bec47481536b8ba1181d50dbe783b0e4ad03c95dc1296684"}, + {file = "coverage-6.3.2-cp39-cp39-win32.whl", hash = "sha256:f5fa5803f47e095d7ad8443d28b01d48c0359484fec1b9d8606d0e3282084bc4"}, + {file = "coverage-6.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:9548f10d8be799551eb3a9c74bbf2b4934ddb330e08a73320123c07f95cc2d92"}, + {file = "coverage-6.3.2-pp36.pp37.pp38-none-any.whl", hash = "sha256:18d520c6860515a771708937d2f78f63cc47ab3b80cb78e86573b0a760161faf"}, + {file = "coverage-6.3.2.tar.gz", hash = "sha256:03e2a7826086b91ef345ff18742ee9fc47a6839ccd517061ef8fa1976e652ce9"}, ] cycler = [ {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, @@ -1479,6 +1553,10 @@ kiwisolver = [ {file = "kiwisolver-1.3.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:bcadb05c3d4794eb9eee1dddf1c24215c92fb7b55a80beae7a60530a91060560"}, {file = "kiwisolver-1.3.2.tar.gz", hash = "sha256:fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c"}, ] +lz = [ + {file = "lz-0.11.1-py3-none-any.whl", hash = "sha256:7b322bfe30a6d7ba7eabe3ed854873f04312382720744207de80f1e6e1b70910"}, + {file = "lz-0.11.1.tar.gz", hash = "sha256:6b816276e140389b93234da7b6d767380b9a9eba50c725a9da471d0bf5a0a007"}, +] markupsafe = [ {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, @@ -1591,6 +1669,10 @@ mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, ] +memoir = [ + {file = "memoir-0.0.3-py3-none-any.whl", hash = "sha256:24b9038d29cab4a17ef3ec495932f321e76b6cf425eca1d7518dc8af7cd82d37"}, + {file = "memoir-0.0.3.tar.gz", hash = "sha256:1f7fc401da6575f8f03ef7f7147bdecf969499aa41a3532c28cace8fe7237c3d"}, +] meshio = [ {file = "meshio-5.3.0-py3-none-any.whl", hash = "sha256:e7d31d9e4d96e454d4c88c6b0a5bbc2f16da1a53d1d9a7350d0f3a06660a5be7"}, {file = "meshio-5.3.0.tar.gz", hash = "sha256:28f7685cdd0cd41ff72af16594d26318a531e362f75c42338f946dfadaab6e36"}, @@ -1656,6 +1738,32 @@ multidict = [ {file = "multidict-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae"}, {file = "multidict-6.0.2.tar.gz", hash = "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013"}, ] +mypy = [ + {file = "mypy-0.931-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3c5b42d0815e15518b1f0990cff7a705805961613e701db60387e6fb663fe78a"}, + {file = "mypy-0.931-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c89702cac5b302f0c5d33b172d2b55b5df2bede3344a2fbed99ff96bddb2cf00"}, + {file = "mypy-0.931-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:300717a07ad09525401a508ef5d105e6b56646f7942eb92715a1c8d610149714"}, + {file = "mypy-0.931-cp310-cp310-win_amd64.whl", hash = "sha256:7b3f6f557ba4afc7f2ce6d3215d5db279bcf120b3cfd0add20a5d4f4abdae5bc"}, + {file = "mypy-0.931-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:1bf752559797c897cdd2c65f7b60c2b6969ffe458417b8d947b8340cc9cec08d"}, + {file = "mypy-0.931-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4365c60266b95a3f216a3047f1d8e3f895da6c7402e9e1ddfab96393122cc58d"}, + {file = "mypy-0.931-cp36-cp36m-win_amd64.whl", hash = "sha256:1b65714dc296a7991000b6ee59a35b3f550e0073411ac9d3202f6516621ba66c"}, + {file = "mypy-0.931-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e839191b8da5b4e5d805f940537efcaa13ea5dd98418f06dc585d2891d228cf0"}, + {file = "mypy-0.931-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:50c7346a46dc76a4ed88f3277d4959de8a2bd0a0fa47fa87a4cde36fe247ac05"}, + {file = "mypy-0.931-cp37-cp37m-win_amd64.whl", hash = "sha256:d8f1ff62f7a879c9fe5917b3f9eb93a79b78aad47b533911b853a757223f72e7"}, + {file = "mypy-0.931-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f9fe20d0872b26c4bba1c1be02c5340de1019530302cf2dcc85c7f9fc3252ae0"}, + {file = "mypy-0.931-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1b06268df7eb53a8feea99cbfff77a6e2b205e70bf31743e786678ef87ee8069"}, + {file = "mypy-0.931-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8c11003aaeaf7cc2d0f1bc101c1cc9454ec4cc9cb825aef3cafff8a5fdf4c799"}, + {file = "mypy-0.931-cp38-cp38-win_amd64.whl", hash = "sha256:d9d2b84b2007cea426e327d2483238f040c49405a6bf4074f605f0156c91a47a"}, + {file = "mypy-0.931-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ff3bf387c14c805ab1388185dd22d6b210824e164d4bb324b195ff34e322d166"}, + {file = "mypy-0.931-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5b56154f8c09427bae082b32275a21f500b24d93c88d69a5e82f3978018a0266"}, + {file = "mypy-0.931-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ca7f8c4b1584d63c9a0f827c37ba7a47226c19a23a753d52e5b5eddb201afcd"}, + {file = "mypy-0.931-cp39-cp39-win_amd64.whl", hash = "sha256:74f7eccbfd436abe9c352ad9fb65872cc0f1f0a868e9d9c44db0893440f0c697"}, + {file = "mypy-0.931-py3-none-any.whl", hash = "sha256:1171f2e0859cfff2d366da2c7092b06130f232c636a3f7301e3feb8b41f6377d"}, + {file = "mypy-0.931.tar.gz", hash = "sha256:0038b21890867793581e4cb0d810829f5fd4441aa75796b53033af3aa30430ce"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] numpy = [ {file = "numpy-1.22.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:515a8b6edbb904594685da6e176ac9fbea8f73a5ebae947281de6613e27f1956"}, {file = "numpy-1.22.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76a4f9bce0278becc2da7da3b8ef854bed41a991f4226911a24a9711baad672c"}, @@ -1704,6 +1812,10 @@ pandas = [ {file = "pandas-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:23c04dab11f3c6359cfa7afa83d3d054a8f8c283d773451184d98119ef54da97"}, {file = "pandas-1.4.0.tar.gz", hash = "sha256:cdd76254c7f0a1583bd4e4781fb450d0ebf392e10d3f12e92c95575942e37df5"}, ] +paradigm = [ + {file = "paradigm-0.6.2-py3-none-any.whl", hash = "sha256:33ba41cb31802dc40a39ef68350f822b13296376b3a3f530ee8fd8d3613b0af8"}, + {file = "paradigm-0.6.2.tar.gz", hash = "sha256:ffc058039895876faf8a6ceabea9780f506fe7bbeaef3bbaf754a5380f50f26d"}, +] pathtools = [ {file = "pathtools-0.1.2.tar.gz", hash = "sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0"}, ] @@ -1875,6 +1987,10 @@ pyyaml = [ {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, ] +reprit = [ + {file = "reprit-0.6.0-py3-none-any.whl", hash = "sha256:0a387ee2e00c7f589f02555b5d6b3de32e61f2fae1003759198b65eaea69e3a4"}, + {file = "reprit-0.6.0.tar.gz", hash = "sha256:35600bb3a5f24cf320d60707f74f09b3c377939bb1e3bd1310560957cd8560f6"}, +] requests = [ {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"}, {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"}, @@ -1943,6 +2059,10 @@ tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +typing-extensions = [ + {file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"}, + {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"}, +] urllib3 = [ {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"}, {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"}, diff --git a/pyproject.toml b/pyproject.toml index 781f32e..8a1f1bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,7 @@ dash-bootstrap-components = {version = "^1.0.2", optional = true, extras = ["gui meshio = "^5.2.2" vtk = "^9.1.0" dash-vtk = {version = "^0.0.9", optional = true, extras = ["gui"]} +lz = "^0.11.1" [tool.poetry.dev-dependencies] pytest = "^6.2.5"