{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "warm-00-title",
   "metadata": {},
   "source": [
    "# Warm-Started Alpha Sweep\n",
    "\n",
    "This notebook demonstrates how to run a **warm-started** angle of attack (alpha) sweep. In this setup, each next case is initialized from the previous alpha solution rather than from freestream. This is achieved using the `fork_from` argument of `project.run_case()`. Warm-starting can produce more accurate results especially for conditions close to separation, as RANS simulations often get stuck in topological flow phenomena. With an initial condition closer to the final result, warm-starting reduces the formation of non-physical separation patterns during the convergence history. Each case also uses a custom **stopping criterion** on `CL` so the solver exits as soon as convergence is reached rather than always running to `max_steps`.\n",
    "\n",
    "The example uses the built-in `Airplane` geometry with the new mesher. After all cases finish we build a pandas `DataFrame` of time-averaged `CL` and `CD` values taken from `results.total_forces` using its `get_averages()` helper and plot the standard aerodynamic curves: `CL` vs `AoA`, `CD` vs `AoA` and the drag polar (`CL` vs `CD`)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-01-setup",
   "metadata": {},
   "source": [
    "## 1. Setup and Imports\n",
    "\n",
    "We import `flow360` for everything related to project and case management, `pandas` for the post-processing dataframe and `matplotlib` to display the plots produced by pandas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "warm-02-imports",
   "metadata": {},
   "outputs": [],
   "source": [
    "import flow360 as fl\n",
    "from flow360.examples import Airplane\n",
    "\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-03-project",
   "metadata": {},
   "source": [
    "## 2. Project Creation\n",
    "\n",
    "A Flow360 `Project` holds the geometry asset as well as every mesh and case derived from it. We initialise the project directly from the `Airplane` example geometry."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "warm-04-project",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:10] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Geometry successfully submitted:                                                                  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        type        = Geometry                                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        name        = Warm-Started Alpha Sweep                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = geo-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">37a2ec12-19c3-4cee-b210-e473c6f616d2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        status      = uploaded                                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        project id  = prj-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9ea5207f-0689-4f81-a46d-dae5f6a463f2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:10]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Geometry successfully submitted:                                                                  \n",
       "\u001b[2;36m           \u001b[0m        type        = Geometry                                                                          \n",
       "\u001b[2;36m           \u001b[0m        name        = Warm-Started Alpha Sweep                                                          \n",
       "\u001b[2;36m           \u001b[0m        id          = geo-\u001b[93m37a2ec12-19c3-4cee-b210-e473c6f616d2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m        status      = uploaded                                                                          \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m9ea5207f-0689-4f81-a46d-dae5f6a463f2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Waiting for geometry to be processed.                                                             \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Waiting for geometry to be processed.                                                             \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Airplane.get_files()\n",
    "\n",
    "project = fl.Project.from_geometry(\n",
    "    Airplane.geometry,\n",
    "    name=\"Warm-Started Alpha Sweep\",\n",
    ")\n",
    "\n",
    "geometry = project.geometry"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-05-meshing",
   "metadata": {},
   "source": [
    "## 3. Meshing Parameters\n",
    "\n",
    "Showcasing meshing is not a goal of this tutorial, so we keep the configuration minimal:\n",
    "\n",
    "- a first boundary-layer cell thickness and a single `surface_max_edge_length` in `MeshingDefaults`,\n",
    "- a single `AutomatedFarfield` volume zone that generates the outer farfield for us.\n",
    "\n",
    "The new mesher is selected later on by passing `use_beta_mesher=True` to `project.run_case()`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "warm-06-meshing",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:39] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: using: SI unit system for unit inference.                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:39]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with fl.SI_unit_system:\n",
    "    far_field_zone = fl.AutomatedFarfield()\n",
    "\n",
    "    meshing_params = fl.MeshingParams(\n",
    "        defaults=fl.MeshingDefaults(\n",
    "            boundary_layer_first_layer_thickness=0.01 * fl.u.mm,\n",
    "            surface_max_edge_length=0.2,\n",
    "        ),\n",
    "        volume_zones=[far_field_zone],\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-07-params",
   "metadata": {},
   "source": [
    "## 4. Simulation Parameters\n",
    "\n",
    "We build one `SimulationParams` object that will be reused for every case in the sweep. The only field we will modify between runs is `operating_condition.alpha`, which the loop below overwrites on each iteration.\n",
    "\n",
    "To let the solver finish as soon as each case has settled, we attach a `RunControl` with a `StoppingCriterion` that watches `CL`: once the coefficient stays within a tolerance of `0.05` over a window of `200` pseudo-steps the run is terminated, even if `max_steps` has not been reached. A matching `ForceOutput` on the airplane walls exposes `CL` as a monitored output so the stopping criterion has a field to watch. The residual tolerances are loosened so that the force convergence is the main condition for stopping the simulation (all criteria, including the solver tolerances must be met for the case to stop).\n",
    "\n",
    "> **Note:** A `CL` tolerance of `0.05` is deliberately generous and is used here only for demonstration purposes so the cases finish quickly. For production runs you would typically pick a much tighter value matched to the accuracy you actually need."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "warm-08-params",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: using: SI unit system for unit inference.                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with fl.SI_unit_system:\n",
    "    walls = fl.Wall(surfaces=[geometry[\"*\"]])\n",
    "    cl_output = fl.ForceOutput(output_fields=[\"CL\"], models=[walls])\n",
    "    params = fl.SimulationParams(\n",
    "        meshing=meshing_params,\n",
    "        reference_geometry=fl.ReferenceGeometry(),\n",
    "        operating_condition=fl.AerospaceCondition(\n",
    "            velocity_magnitude=100,\n",
    "            alpha=0 * fl.u.deg,\n",
    "        ),\n",
    "        time_stepping=fl.Steady(max_steps=4000),\n",
    "        models=[\n",
    "            walls,\n",
    "            fl.Freestream(surfaces=[far_field_zone.farfield]),\n",
    "            fl.Fluid(\n",
    "                navier_stokes_solver=fl.NavierStokesSolver(absolute_tolerance=1e-5),\n",
    "                turbulence_model_solver=fl.SpalartAllmaras(absolute_tolerance=1e-5),\n",
    "            ),\n",
    "        ],\n",
    "        outputs=[cl_output],\n",
    "        run_control=fl.RunControl(\n",
    "            stopping_criteria=[\n",
    "                fl.StoppingCriterion(\n",
    "                    monitor_field=\"CL\",\n",
    "                    monitor_output=cl_output,\n",
    "                    tolerance=0.05,\n",
    "                    tolerance_window_size=200,\n",
    "                )\n",
    "            ]\n",
    "        ),\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-09-baseline",
   "metadata": {},
   "source": [
    "## 5. Running the Sweep\n",
    "\n",
    "We iterate through the list of alphas, updating `params.operating_condition.alpha` in place on every iteration and submitting a case via `project.run_case()`. The very first case is a regular cold-start run (no `fork_from`); for every subsequent alpha we pass `fork_from=previous_case`, which tells the platform to initialise the flow field from the previous alpha's final solution instead of from uniform freestream.\n",
    "\n",
    "We do **not** need to wait for each case to finish before submitting the next: Flow360 will schedule the forked cases on the cloud and start each of them as soon as its parent has produced a restart file. This lets us submit the whole sweep in one pass and then wait once at the end."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "warm-10-baseline",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:40] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Selecting beta/in-house mesher for possible meshing tasks.                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:40]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Selecting beta/in-house mesher for possible meshing tasks.                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:43] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Successfully submitted:                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        type        = Case                                                                              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        name        = alpha_-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span>                                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">cae6ebfa-19de-429c-86e0-544fe70dd03c</span>                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        status      = pending                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        project id  = prj-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9ea5207f-0689-4f81-a46d-dae5f6a463f2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:43]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Successfully submitted:                                                                           \n",
       "\u001b[2;36m           \u001b[0m        type        = Case                                                                              \n",
       "\u001b[2;36m           \u001b[0m        name        = alpha_-\u001b[1;36m4\u001b[0m                                                                          \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93mcae6ebfa-19de-429c-86e0-544fe70dd03c\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m9ea5207f-0689-4f81-a46d-dae5f6a463f2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Submitted alpha_-4 (id: case-cae6ebfa-19de-429c-86e0-544fe70dd03c)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:44] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Selecting beta/in-house mesher for possible meshing tasks.                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:44]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Selecting beta/in-house mesher for possible meshing tasks.                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:46] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Successfully submitted:                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        type        = Case                                                                              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        name        = alpha_0                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">fd96b8ec-90f0-492a-a012-63127281cdc8</span>                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        status      = pending                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        project id  = prj-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9ea5207f-0689-4f81-a46d-dae5f6a463f2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:46]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Successfully submitted:                                                                           \n",
       "\u001b[2;36m           \u001b[0m        type        = Case                                                                              \n",
       "\u001b[2;36m           \u001b[0m        name        = alpha_0                                                                           \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93mfd96b8ec-90f0-492a-a012-63127281cdc8\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m9ea5207f-0689-4f81-a46d-dae5f6a463f2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Submitted alpha_0 (id: case-fd96b8ec-90f0-492a-a012-63127281cdc8)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:47] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Selecting beta/in-house mesher for possible meshing tasks.                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:47]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Selecting beta/in-house mesher for possible meshing tasks.                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:49] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Successfully submitted:                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        type        = Case                                                                              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        name        = alpha_4                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">4dba1cb9-0c31-4c05-a976-616bc0be1bb0</span>                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        status      = pending                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        project id  = prj-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9ea5207f-0689-4f81-a46d-dae5f6a463f2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:49]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Successfully submitted:                                                                           \n",
       "\u001b[2;36m           \u001b[0m        type        = Case                                                                              \n",
       "\u001b[2;36m           \u001b[0m        name        = alpha_4                                                                           \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93m4dba1cb9-0c31-4c05-a976-616bc0be1bb0\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m9ea5207f-0689-4f81-a46d-dae5f6a463f2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Submitted alpha_4 (id: case-4dba1cb9-0c31-4c05-a976-616bc0be1bb0)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:50] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Selecting beta/in-house mesher for possible meshing tasks.                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:50]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Selecting beta/in-house mesher for possible meshing tasks.                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:52] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Successfully submitted:                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        type        = Case                                                                              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        name        = alpha_8                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">36c5179c-4c25-4f82-8dfa-aa8c42b0bb71</span>                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        status      = pending                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        project id  = prj-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9ea5207f-0689-4f81-a46d-dae5f6a463f2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:52]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Successfully submitted:                                                                           \n",
       "\u001b[2;36m           \u001b[0m        type        = Case                                                                              \n",
       "\u001b[2;36m           \u001b[0m        name        = alpha_8                                                                           \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93m36c5179c-4c25-4f82-8dfa-aa8c42b0bb71\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m9ea5207f-0689-4f81-a46d-dae5f6a463f2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Submitted alpha_8 (id: case-36c5179c-4c25-4f82-8dfa-aa8c42b0bb71)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:53] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Selecting beta/in-house mesher for possible meshing tasks.                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:53]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Selecting beta/in-house mesher for possible meshing tasks.                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[22:22:55] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Successfully submitted:                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        type        = Case                                                                              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        name        = alpha_12                                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">af2bd93e-4855-447c-abfe-9dab43855d9e</span>                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        status      = pending                                                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        project id  = prj-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9ea5207f-0689-4f81-a46d-dae5f6a463f2</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[22:22:55]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Successfully submitted:                                                                           \n",
       "\u001b[2;36m           \u001b[0m        type        = Case                                                                              \n",
       "\u001b[2;36m           \u001b[0m        name        = alpha_12                                                                          \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93maf2bd93e-4855-447c-abfe-9dab43855d9e\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m9ea5207f-0689-4f81-a46d-dae5f6a463f2\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Submitted alpha_12 (id: case-af2bd93e-4855-447c-abfe-9dab43855d9e)\n",
      "Waiting for all cases to finish...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "All cases completed.\n"
     ]
    }
   ],
   "source": [
    "alphas = [-4, 0, 4, 8, 12] * fl.u.deg\n",
    "\n",
    "case_list = []\n",
    "previous_case = None\n",
    "\n",
    "for alpha_angle in alphas:\n",
    "    params.operating_condition.alpha = alpha_angle\n",
    "\n",
    "    if alpha_angle == alphas[0]:\n",
    "        # First case: cold-start from uniform freestream.\n",
    "        case = project.run_case(\n",
    "            params=params,\n",
    "            name=f\"alpha_{alpha_angle.value}\",\n",
    "            use_beta_mesher=True,\n",
    "        )\n",
    "    else:\n",
    "        # Subsequent cases: warm-start by forking from the previous alpha.\n",
    "        case = project.run_case(\n",
    "            params=params,\n",
    "            name=f\"alpha_{alpha_angle.value}\",\n",
    "            fork_from=previous_case,\n",
    "            use_beta_mesher=True,\n",
    "        )\n",
    "\n",
    "    previous_case = case\n",
    "\n",
    "    print(f\"Submitted {case.name} (id: {case.id})\")\n",
    "    case_list.append((alpha_angle, case))\n",
    "\n",
    "print(\"Waiting for all cases to finish...\")\n",
    "for _, case in case_list:\n",
    "    case.wait()\n",
    "print(\"All cases completed.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-13-post",
   "metadata": {},
   "source": [
    "## 6. Post-Processing\n",
    "\n",
    "With the sweep finished we collect averaged total force coefficients from each case. `case.results.total_forces` exposes a `get_averages(fraction)` helper that returns the mean of the last `fraction` of pseudo-steps as a pandas `Series`, so we can index directly into it to obtain the converged `CL` and `CD`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "warm-14-gather",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[23:00:09] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">ccb1d2ec-769a-415f-963e-ab4107915615</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[23:00:09]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\\u001b[93mccb1d2ec-769a-415f-963e-ab4107915615\u001b[0m.csv   \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[23:00:12] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">55abf9de-19a6-4fea-affe-4ef66a558c3d</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[23:00:12]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\\u001b[93m55abf9de-19a6-4fea-affe-4ef66a558c3d\u001b[0m.csv   \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[23:00:14] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">d1c7d713-bc47-40cc-8b05-45d14f6f9dd2</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[23:00:14]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\\u001b[93md1c7d713-bc47-40cc-8b05-45d14f6f9dd2\u001b[0m.csv   \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[23:00:16] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">ca7c651e-efdf-4b34-ad14-61f8fa17a772</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[23:00:16]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\\u001b[93mca7c651e-efdf-4b34-ad14-61f8fa17a772\u001b[0m.csv   \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">[23:00:19] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">9b311da0-e62c-42ca-b8f9-e0d6f0069fb0</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[23:00:19]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\Piotr\\AppData\\Local\\Temp\\tmpz_p_3h1s\\\u001b[93m9b311da0-e62c-42ca-b8f9-e0d6f0069fb0\u001b[0m.csv   \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   alpha_deg         CL        CD\n",
      "0       -4.0  -4.623297  0.266586\n",
      "1        0.0   1.617527  0.195803\n",
      "2        4.0   7.870213  0.395486\n",
      "3        8.0  14.101717  0.982705\n",
      "4       12.0  18.091709  2.830544\n"
     ]
    }
   ],
   "source": [
    "records = []\n",
    "for alpha_angle, case in case_list:\n",
    "    averages = case.results.total_forces.get_averages(0.1)\n",
    "    records.append(\n",
    "        {\n",
    "            \"alpha_deg\": float(alpha_angle.to(\"deg\").value),\n",
    "            \"CL\": averages[\"CL\"],\n",
    "            \"CD\": averages[\"CD\"],\n",
    "        }\n",
    "    )\n",
    "\n",
    "sweep = pd.DataFrame(records).sort_values(\"alpha_deg\").reset_index(drop=True)\n",
    "print(sweep)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "warm-15-plots",
   "metadata": {},
   "source": [
    "### CL vs AOA, CD vs AOA and the drag polar\n",
    "\n",
    "Pandas' built-in `DataFrame.plot()` is convenient for quick engineering plots. We produce three panels: the lift curve, the drag curve and the drag polar."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "warm-16-cl-alpha",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArEAAAGJCAYAAACdG2twAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUThJREFUeJzt3Qd4VFX6x/E3PQSSQAghCQQIpNFRFARBQDqI3bUsimVZZcVVURH0b0FdQVHsa9ldsZddO0rvSJVeTEICoSaUACkQ0uf/vCfMmIQEAiSZmcz38zxDuHcmM2fO3Lnzy5lz3+tmsVgsAgAAADgRd3s3AAAAADhXhFgAAAA4HUIsAAAAnA4hFgAAAE6HEAsAAACnQ4gFAACA0yHEAgAAwOkQYgEAAOB0CLEAAABwOoRYoA7ZtWuXuLm5yUcffVRm/ezZs6VLly7i6+trrs/IyBBn8emnn0pcXJx4eXlJw4YNbeunTp0qrVu3Fg8PD/PcVKtWreTOO++slj5DzdH+fvbZZ+3SxRVtN85Mt1vtz7Vr19q7KUCtI8QCdfzD6siRI/KnP/1J6tWrJ++8844JhfXr15cXX3xRfvjhB3FkCQkJJpS2adNG/vWvf8kHH3xg1s+dO1fGjx8vl19+uUyfPt08F0f3z3/+k6BsZzWx3cycObPCQJ6Tk2PWL168+IIfA0DFPCtZD8AJtWzZUk6ePGlGLa1+++03yc7Olueff14GDBhgW68f4DfeeKNce+214qg0ABQXF8sbb7whUVFRtvULFy4Ud3d3+c9//iPe3t629YmJiWb9hfZZTYXY4ODgcx4pRvWpbLu50BCrfxyWD7IaYidNmmT+37dv32p5LABlEWKBOkRHanXKQGmHDh0yP0t/Fe8sKmu7rteR5fJBxMfHp1r6DHVTZdsNAOfEdAKgDik/v1NHgEaNGmX+f+mll5rrdCRQf544cUI+/vhj83/r+jPJzc01o00xMTEm9IWFhcn1118vO3bssN1G7/ORRx6RiIgIEyhjY2PllVdeEYvFctr9ffbZZ9K1a1cTKoKCguSWW26RvXv32q7X+a3PPPOM+X+TJk1s8yj1p34VrI9lbbv1+VY0J1bn/z788MPmOm1T8+bN5Y477pD09PQK+6z0VAYdqda26fO95JJL5Keffqpwisfy5ctl3Lhxpp06VeO6666Tw4cPl3ku27ZtkyVLltjaXNnoXEFBgXnMu+6667TrsrKyTFseffRR27q33npL2rdvL35+ftKoUSPTzi+++ELOJD8/X55++mnT/4GBgabNvXv3lkWLFpW5nbVv9DXUqRw6rUP7ULclHeEv73//+5+0a9fOtLFDhw7y/fffm9dDn//Z7N+/X+6++25p2rSpeQx9Th9++KFURWFhofmmwdo+fbwnnnhC8vLybLc503ZTkWXLlslNN90kLVq0MPep27RuRzpqb6XPTUdhrfdvvWi/6bagdDTWut46Wrt582bzuzo3V/sqNDTUPHed+lNRv9xzzz0SHh5u2hEZGSljxowxr2Fljh07Jt26dTPbun47AdRVjMQCddiTTz5pgqQGkOeee858AOoHvU4r+Mtf/mI+6P7617+a2+r6yhQVFclVV10lCxYsMGHzwQcfNFMU5s2bJ1u3bjW/q0H16quvNkFIP3T1oJk5c+bIY489Zj6IX3vtNdv9/eMf/5CnnnrKzNXVdmjg0zB2xRVXyIYNG8zI6+uvvy6ffPKJCULvvvuuNGjQQDp16mSmFejzWbNmjfz73/8299ezZ88K2338+HETzuLj401IuPjii0141TC6b98+8/V+RTRw6rzJZs2ayYQJE0zI++9//2umXnz77bcmpJb2wAMPmACpoVsDjLZ97Nix8vXXX5vrdVlvo89BXxOlYa0iOq1B7/+7776T999/v8yooc5h1mCmr4HSecJ///vfTdjW10T/0NCAtHr1arntttsqfT01DGvf3XrrrTJ69GjzWupX7IMHDzb9Wv6AJw3Fept7773XhLGXX37Z/AGzc+dO2zSMX375RW6++Wbp2LGjTJ482QQp3Q60D8/m4MGDctlll5n71n7TADhr1izz+9rWhx566Iy/r9uQ/kGm/aB/ROnz1zbo667bj9K54FXdbqyBXKcEaGBs3Lix+T3dRnW70euU9kdqaqp5H+j9W2n7dZvV39XXUvtK6far9Pbad/qHigZY3d60bfpz1apVph+U3re+R/UPMX2f6gGO+l765ptvTNsqGlHW7XvgwIFy9OhR80fTmd7XgNOzAHAK06dP1+FMy2+//VbpbVJSUsxt9LZn+7369etbRo0aVaXH/vDDD819TJs27bTriouLzc8ffvjB3OaFF14oc/2NN95ocXNzsyQnJ5vlXbt2WTw8PCz/+Mc/ytxuy5Yt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",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sweep.plot(\n",
    "    x=\"alpha_deg\",\n",
    "    y=\"CL\",\n",
    "    marker=\"o\",\n",
    "    legend=False,\n",
    "    xlabel=\"AoA [deg]\",\n",
    "    ylabel=\"CL\",\n",
    "    title=\"Lift coefficient vs angle of attack\",\n",
    "    figsize=(8, 4),\n",
    ")\n",
    "ax.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "warm-17-cd-alpha",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AAAAzpDbwsPDy7qIeFnKE3lrkIKCAjlw4ICEhoaKl5eXQz5ZaHDeu3evhIWFVfvtuRPGhnFhm+G5xOsMr7+uhvcm1xgXjacaZBs0aCDe3mVXxXrczKwOSGxsrMNvVx94wixjwzbD84nXGefgNZhxYZtxv+fSmWZkrdgBDAAAAG6LMAsAAAC3RZitZgEBAfL888+b/8HYsM3wfOJ1xrF4DWZc2GZq/nPJ43YAAwAAQM3BzCwAAADcFmEWAAAAboswCwAAALdFmAUAAIDbIsw6SXZ2tnTs2NEchWzt2rXiyXbt2iV33323xMfHS1BQkJxzzjlmj8mcnBzxRO+++640adJEAgMDpXv37rJixQrxZGPHjpWuXbuao/ZFRUXJNddcI9u2bXP2armkl19+2bymPPzww+Lp9u/fL7fddpvUrVvXvK60a9dOVq5cKZ4uPz9fnn322WKvt2PGjDFHW/IkixYtkquuusocXUqfMzNnziz2ex2P5557TmJiYsw4XXrppbJ9+3bx9LHJzc2VJ5980jyfatWqZS5zxx13mCOrOhNh1kmeeOIJsxFAZOvWreYww++//75s2rRJ3njjDZk4caL8+9//9rjhmTp1qowYMcKE+dWrV0uHDh2kf//+cuTIEfFUCxculAcffFCWLVsmc+fONS+m/fr1k4yMDGevmkv5888/zXOoffv24ulOnDghvXr1Ej8/P/npp59k8+bNMn78eKlTp454uldeeUXee+89eeedd2TLli3m51dffVXefvtt8ST6+qGvrzp5YI+OyVtvvWXei5YvX26Cm74WZ2VliSePTWZmpnlv0g9E+v+3335rJhcGDhwoTqWtueBYP/74o6Vly5aWTZs26Udhy5o1a3gISnj11Vct8fHxHjcu3bp1szz44IO2n/Pz8y0NGjSwjB071qnr5UqOHDlinjcLFy509qq4jLS0NEvz5s0tc+fOtVx88cWW4cOHWzzZk08+abngggucvRouacCAAZahQ4cWW3bddddZbr31Voun0teTGTNm2H4uKCiwREdHW8aNG2dblpycbAkICLB89dVXFk8eG3tWrFhhLrd7926LszAz62CHDx+We++9Vz777DMJDg529M27jZSUFImIiBBPomUVq1atMl9nWXl7e5ufly5d6tR1c7VtQ3na9lEWnbkeMGBAsW3Hk3333Xdy3nnnyY03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",
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sweep.plot(\n",
    "    x=\"alpha_deg\",\n",
    "    y=\"CD\",\n",
    "    marker=\"o\",\n",
    "    legend=False,\n",
    "    xlabel=\"AoA [deg]\",\n",
    "    ylabel=\"CD\",\n",
    "    title=\"Drag coefficient vs angle of attack\",\n",
    "    figsize=(8, 4),\n",
    ")\n",
    "ax.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "warm-18-polar",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAIjCAYAAABf8FLNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARLFJREFUeJzt3Ql4VOXZ//F7shPIHkKCEAi7gIKAIEoVLYsb1bbW3aKtS93q0r59tVURtaVWi0tLtctfLfoq1rpVqyhu4AIim4IssoQ9AZJAVrKf/3U/yYxZIYQzy5nz/VzXkMnMyeTMwyTzy7Pcj8eyLEsAAABsEGHHgwAAABAsAACAreixAAAAtiFYAAAA2xAsAACAbQgWAADANgQLAABgG4IFAACwDcECAADYhmAB4Ihs3bpVPB6PPPPMMwFruX/961+SmpoqZWVlAfue4eLiiy+WCy+8MNinARchWAAdpG+k+obqvcTFxUnPnj1l6tSp8vjjj0tpaSlt6Qd1dXUyY8YMufnmm6Vbt26t7nv66adl4sSJJnjExsZK37595aqrrpJly5a1+r9relsoqayslEceeUTGjRsnSUlJ5rU1aNAguemmm+Sbb77xHXfvvfc2ew3Gx8dLdna2TJs2zbRDVVVVq8f+3//9X3n55Zflyy+/DPCzgltFBfsEAKe57777JCcnR2pqaiQ/P18++ugjufXWW2X27Nnyn//8R44//vhgn2JYeeONN2TDhg1y7bXXNrv94MGD8oMf/EDmz58vp556qvz617824UJ7VLSH45///Kds375devXqJaGsoKBAzjzzTFm+fLmce+65cumll5oApc953rx58re//U2qq6ubfc0TTzxhjtEgsWvXLnnnnXfkJz/5iTz66KPy5ptvSu/evX3HnnDCCTJmzBj54x//KHPnzg3CM4Tr6CZkAA7v6aef1g37rC+++KLVfe+//77VpUsXq0+fPlZFRcUhH6esrMzRzZ2bm2vaQdvDDodrj+9973vWhAkTWt1+4403mvN45JFHWt1XW1trPfTQQ9aOHTsO+38XbOecc44VERFh/fvf/251X2VlpfWLX/zC9/mMGTPM89i3b1+rY5977jnzOOPGjWt138MPP2x17drVKi0t9cMzAJpjKASwwRlnnCF33323bNu2TZ577jnf7VdeeaX5y3Lz5s1y9tlnS0JCglx22WXmvo8//lh+9KMfma5s7cLXvzJvu+0285d4Sy+99JIMHTrUdJEPHz5cXn31VfPY2u1/OHqM/iX87rvvysiRI81j6GO98sorrY7dsmWLOSf9y1+72U866ST573//e9jv8dVXX5nz6devn3n8zMxM8xd0YWFhs+O8Xflr1641f5mnpKTIhAkTDjlEoD0SkyZNanb7zp075a9//atMnjzZ9Ba1FBkZKb/85S+PurdC2/r0009vdXt9fb0cc8wxcsEFF/hu096F0aNHm//jxMREOe644+Sxxx475ON//vnnpn1/+tOfyg9/+MNW9+vr4uGHH+7Querr6uqrrzaPuWDBgmb3aTuVl5e3uh3wB4IFYJMrrrjCfNQ38KZqa2vNPIyMjAzzJuF9A9GwUFFRIddff7386U9/Msfoxx//+MfNvl7feC666CKJjo6WWbNmme5/fSPSrvOO2rhxo3mMs846yzxGVFSUCRBN32j27NkjJ598sulWv+GGG+S3v/2teWP/3ve+Z4LMoejjaCjRuQ36HHTCoL7RapiyLP0juzn93vrcf/e738k111zT7uPqc9RhgFGjRjW7/e233zbt6m1zf9E2W7RokRnyauqTTz6R3bt3m+fpff6XXHKJCUoPPvig/P73vzfzPj799NNDPr4OnSm7nkd7r0ENkl26dDns+QC2aNGDAaAdHelOT0pKsk444QTf59OnTzdfc8cdd7Q6tq0hk1mzZlkej8fatm2b77bjjjvO6tWrV7Nu7I8++sg8rg69HI4eo8e+/PLLvtuKi4utrKysZud66623muM+/vhj3236PXNycqy+fftadXV17Q6FtPVcXnjhBXPcokWLWnXlX3LJJVZH/OMf/zDHr169utntt912m7l95cqVHXqczg6FbNiwwXzdn/70p2a333DDDVa3bt18z/uWW26xEhMTzRDMkfj+979vHn///v0dOv5QQyFKH0fv18dtadCgQdZZZ511ROcHdAY9FoCNdNijrdUh2ivRkv4F6aXd1DqJT3sM9C/8lStXmtv1r+LVq1ebXoymKyJOO+0009XeUbp65fvf/77vc+2q18fU7+P9a/ytt96SsWPHNhua0O+pkyZ1QqQOX7Sn6XPRXg59LjqMolasWNHq+J/97GcdOm/vUIr2BDRVUlJiPuqwgz/pygwdPnrxxRebrUT597//bVZieJ93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Xn311UMe86tf/coaNmxYs9suuugia+rUqX4+u/Bpww8//NAct3///oCdl1Ps3bvXtM3ChQvbPebCCy+0zjnnnGa3jRs3zrruuusCcIbh0Yb8Djw69FiEuerqalm+fLlMmjSp2Z4p+vnixYvb/bqysjLp06eP2ZzsvPPOk6+//jpAZ+xs2qZN21pp79Ch2hptGzlypGRlZcnkyZPl008/pZlEpLi42LRDamoqr0E/tqHid2DnESzCXEFBgdTV1UmPHj2a3a6ftzdmPXjwYHnqqafk9ddfl+eee87sCnvyySfLzp07A3TWzqVt2lZb6w6UBw8eDNp5OYmGiSeffFJefvllc9FwO3HiRDOM52b6c6hDa6eccooMHz78iF+Dbpyj0tk25Hfg0XHV7qbomPHjx5uLl4aKY489Vv7617/K/fffTzPCr/SXul6avv42b94sjzzyiDz77LOubX2dJ6DzJD755JNgn0rYtyG/A48OPRZhLj09XSIjI2XPnj3NbtfPMzMzO/QY0dHRcsIJJ8imTZv8dJbhQ9u0rbbWiWBdunQJ2nk53dixY139+rvpppvkzTfflA8//FB69erVqddgR3/ew9WRtGFL/A48MgSLMBcTEyOjR4+W999/v1l3oH7etFfiUHQoZfXq1aaLGoembdq0rZXORO9oW6NtusLGja8/ne+qb4ivvvqqfPDBB5KTk3PYr+E1ePRt2BK/A4/QUU7+hAPMmzfPio2NtZ555hlr7dq11rXXXmslJydb+fn55v4rrrjCuuOOO3zHz5w503rnnXeszZs3W8uXL7cuvvhiKy4uzvr6668ttyktLbVWrlxpLvrjMnv2bHN927Zt5n5tN20/ry1btljx8fHW//zP/1jr1q2z5syZY0VGRlrz58+33OpI2/CRRx6xXnvtNWvjxo3W6tWrrVtuucWKiIiw3nvvPcttrr/+erNC66OPPrLy8vJ8l4qKCt8xLX9+P/30UysqKsp6+OGHzWtwxowZVnR0tGlLN+pMG/I78OgQLFziT3/6k5WdnW3FxMSY5adLlizx3XfaaadZ06dP931+6623+o7t0aOHdfbZZ1srVqyw3Mi79LHlxdte+lHbr+XXjBw50rRfv379zNI1NzvSNnzwwQet/v37mzCbmppqTZw40frggw8sN2qr3fTS9DXV8udX/etf/7IGDRpkXoO6/Pm///2v5VadaUN+Bx4dtk0HAAC2YY4FAACwDcECAADYhmABAABsQ7AAAAC2IVgAAADbECwAAIBtCBYAAMA2BAsAAGAbggUAALANwQJAQOXn58vNN98s/fr1k9jYWOndu7dMmzbNt3lb3759xePxmIvuCKufX3jhhWYDKQChj2ABIGC2bt1qdtvVkPDQQw+ZXXPnz58vp59+utx4442+4+677z7Jy8uTDRs2yNy5cyU5OVkmTZokv/3tb/nfAkJcVLBPAIB73HDDDaYnYunSpdK1a1ff7cOGDZOf/OQnvs8TEhIkMzPTXM/OzpZTTz3VbJt+zz33yAUXXCCDBw8OyvkDODx6LAAERFFRkemd0J6JpqHCS3slDuWWW27R3Zjl9ddf9+NZAjhaBAsAAbFp0yYTDIYMGdKpr09NTZWMjAwznAIgdBEsAASEhgo7HkOHUgCELoIFgIAYOHCgCQXr16/v1NcXFhbKvn37JCcnx/ZzA2AfggWAgNChjKlTp8qcOXOkvLy81f0HDhw45Nc/9thjEhERIeeff74fzxLA0SJYAAgYDRV1dXUyduxYefnll2Xjxo2ybt06efzxx2X8+PG+40pLS029ix07dsiiRYvk2muvlQceeMAsNx0wYAD/Y0AI81h2DHwCQAdpfQoNCG+++aa53r17d1Pb4rbbbpOJEyeagljbtm0zx8bExJhlpyeddJL87Gc/M/UuAIQ2ggUAALANQyEAAMA2BAsAAGAbggUAALANwQIAANiGYAEAAGxDsAAAALYhWAAAANsQLAAAgG0IFgAAwDYECwAAYBuCBQAAELv8f9lKIRwT85aXAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sweep.plot(\n",
    "    x=\"CD\",\n",
    "    y=\"CL\",\n",
    "    marker=\"o\",\n",
    "    legend=False,\n",
    "    xlabel=\"CD\",\n",
    "    ylabel=\"CL\",\n",
    "    title=\"Drag polar (CL vs CD)\",\n",
    "    figsize=(6, 6),\n",
    ")\n",
    "ax.grid(True)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv (3.11.9)",
   "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.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
