diff --git a/README.md b/README.md index 108c107f..85d9a899 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![Python](https://img.shields.io/pypi/pyversions/engibench.svg)](https://badge.fury.io/py/engibench) ![tests](https://github.com/IDEALLab/engibench/workflows/Python%20tests/badge.svg) +[![arXiv](https://img.shields.io/badge/arXiv-2508.00831-b31b1b.svg)](https://arxiv.org/abs/2508.00831) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://pre-commit.com/) [![code style: Ruff]( https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)]( diff --git a/tutorial.ipynb b/tutorial.ipynb index 46de1116..4700a350 100644 --- a/tutorial.ipynb +++ b/tutorial.ipynb @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "fec5d22a-ae5f-4b86-92bd-fd9591b672e5", "metadata": {}, "outputs": [ @@ -53,9 +53,9 @@ "Requirement already satisfied: pytz>=2020.1 in ./.venv/lib/python3.12/site-packages (from pandas>=2.2.3->engibench[all]) (2025.2)\n", "Requirement already satisfied: tzdata>=2022.7 in ./.venv/lib/python3.12/site-packages (from pandas>=2.2.3->engibench[all]) (2025.2)\n", "Collecting pyoptsparse@ git+https://github.com/mdolab/pyoptsparse#egg=7e862db49bbc8bde2b49dee686cce68c8d2ab9f0 (from engibench[all])\n", - " Cloning https://github.com/mdolab/pyoptsparse to /private/var/folders/fw/69hmbxm946l1xycg8w29nw0800l9gd/T/pip-install-sspoulap/pyoptsparse_fab6b0f907454f0f9b93f6d193a01da0\n", - " Running command git clone --filter=blob:none --quiet https://github.com/mdolab/pyoptsparse /private/var/folders/fw/69hmbxm946l1xycg8w29nw0800l9gd/T/pip-install-sspoulap/pyoptsparse_fab6b0f907454f0f9b93f6d193a01da0\n", - " Resolved https://github.com/mdolab/pyoptsparse to commit 61d8b83829ab23062be09a31fef5502007c31c50\n", + " Cloning https://github.com/mdolab/pyoptsparse to /private/var/folders/fw/69hmbxm946l1xycg8w29nw0800l9gd/T/pip-install-wrmzr524/pyoptsparse_0cc3a3d7b43549dfa5cecaceb6a05617\n", + " Running command git clone --filter=blob:none --quiet https://github.com/mdolab/pyoptsparse /private/var/folders/fw/69hmbxm946l1xycg8w29nw0800l9gd/T/pip-install-wrmzr524/pyoptsparse_0cc3a3d7b43549dfa5cecaceb6a05617\n", + " Resolved https://github.com/mdolab/pyoptsparse to commit b9ff2c3e9abca4f5d7f3f91449476734075cb133\n", " Installing build dependencies ... \u001b[?25ldone\n", "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", @@ -83,7 +83,7 @@ "Requirement already satisfied: mdolab-baseclasses>=1.3.1 in ./.venv/lib/python3.12/site-packages (from pyoptsparse@ git+https://github.com/mdolab/pyoptsparse#egg=7e862db49bbc8bde2b49dee686cce68c8d2ab9f0->engibench[all]) (1.8.2)\n", "Requirement already satisfied: future in ./.venv/lib/python3.12/site-packages (from pyMKL>=0.0.3->ceviche>=0.1.3->engibench[all]) (1.0.0)\n", "\n", - "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.0\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.1\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.0\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.2\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n" ] } @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "95eb27a2-25c1-49db-8494-bda712d135db", "metadata": {}, "outputs": [], @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "44ed0ebe-b218-44ee-819b-7d211050b8c9", "metadata": {}, "outputs": [], @@ -141,7 +141,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "79bc79cd-9301-422d-a4c0-d388a3444616", "metadata": {}, "outputs": [ @@ -151,7 +151,7 @@ "Box(0.0, 1.0, (50, 100), float64)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -162,7 +162,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "5f264428-56d9-44e3-b242-2a4e5e355b68", "metadata": {}, "outputs": [ @@ -172,7 +172,7 @@ "(('c', ),)" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -183,20 +183,17 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "d50ffe26-0275-480f-82df-f05e6eac7ced", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(('volfrac', 0.35),\n", - " ('rmin', 2.0),\n", - " ('forcedist', 0.0),\n", - " ('overhang_constraint', False))" + "Beams2D.Conditions(volfrac=0.35, rmin=2.0, forcedist=0.0, overhang_constraint=False)" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -216,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "6e5daaff-8720-474d-95cf-d64d4086d1e4", "metadata": {}, "outputs": [ @@ -239,7 +236,7 @@ "})" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -259,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "b74db0b1-e661-4841-8b04-05aff15e4635", "metadata": {}, "outputs": [ @@ -269,7 +266,7 @@ "(50, 100)" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -289,7 +286,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "e7987839-6a4a-4988-9080-768bfc46a3b5", "metadata": {}, "outputs": [ @@ -299,7 +296,7 @@ "(
, )" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, @@ -328,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "34b42db8", "metadata": {}, "outputs": [ @@ -336,7 +333,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "\n" + "Violations found volume_fraction_bound: Volume fraction of the design 0.3625 does not match target 0.3000 specified in the conditions. While the optimizer might fix it, this is likely to affect objective values as the initial design is not feasible given the constraints.\n" ] } ], @@ -361,7 +358,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "2152a7f8-0270-42a9-9f1a-110bd9470d54", "metadata": {}, "outputs": [ @@ -371,7 +368,7 @@ "array([2463.819078])" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -382,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "b7562ff7-1cb1-4538-b726-f2df8e18d980", "metadata": {}, "outputs": [ @@ -392,7 +389,7 @@ "ExtendedOptiStep(obj_values=array([278.44655728]), step=99, design=array([1., 1., 1., ..., 1., 1., 1.]))" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -413,7 +410,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "105126c1-831c-47ff-a787-e62e4b56a33d", "metadata": {}, "outputs": [ @@ -423,7 +420,7 @@ "(
, )" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" },