{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "49395934",
   "metadata": {},
   "source": [
    "# Rotating Zone Cutting Through the Geometry\n",
    "\n",
    "A tractor propeller is usually mounted on a spinner that blends into a stationary nacelle or motor pod. To simulate it with a rotating zone, the zone has to end somewhere along that body, and the CAD normally needs a split line exactly where the zone boundary crosses it. With **GeometryAI**, this is not needed: the rotating zone can cut straight through the geometry. The surface mesher splits every surface that crosses the zone boundary into the part inside the zone and the part outside, and the boundary conditions follow automatically.\n",
    "\n",
    "This notebook adds a nacelle behind the five-bladed isolated propeller used in other Flow360 examples:\n",
    "\n",
    "- a cylindrical rotating zone wraps the blades and the spinner and ends 0.1 m behind the spinner, cutting through the nacelle,\n",
    "- GeometryAI splits the nacelle at the zone boundary into a part inside the zone and a part outside,\n",
    "- the blades and the spinner rotate with the zone, while the piece of nacelle inside the zone is kept stationary,\n",
    "- a single `Wall` boundary condition on all surfaces covers every part,\n",
    "- a steady multiple reference frame (MRF) simulation then gives the thrust and torque of the propeller.\n",
    "\n",
    "![Rotating zone cutting through the nacelle behind the propeller](../thumbnails/gai_propeller_nacelle.png)\n",
    "\n",
    "**Note:** The settings in this example are by no means a validation setup; they are crafted to showcase the capabilities of Flow360 and we have intentionally reduced node count and example FC cost. For rigorous validation, modify the settings as needed."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28bb0901",
   "metadata": {},
   "source": [
    "## 1. Create the Project\n",
    "\n",
    "The geometry is an Engineering Sketch Pad (`.csm`) file downloaded from the example database. Its length unit is metres, and the flow comes from the negative x side:\n",
    "\n",
    "- the propeller has a diameter of 3.0 m and turns about the x axis,\n",
    "- the parabolic spinner has a base radius of 0.2 m and runs from x = -0.25 m to x = 0.15 m,\n",
    "- the nacelle continues the spinner with the same radius up to x = 1.25 m and closes with a parabolic tail at x = 1.85 m.\n",
    "\n",
    "The blades, the spinner and the nacelle form a single solid body."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "73cca890",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:55:16.457848Z",
     "iopub.status.busy": "2026-10-16T06:55:16.457714Z",
     "iopub.status.idle": "2026-10-16T06:56:12.848289Z",
     "shell.execute_reply": "2026-10-16T06:56:12.847287Z"
    }
   },
   "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\">[08:55:18] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: The file <span style=\"font-weight: bold\">(</span>isolated_propeller_nacelle.csm<span style=\"font-weight: bold\">)</span> is being downloaded, please wait.                       \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[08:55:18]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: The file \u001b[1m(\u001b[0misolated_propeller_nacelle.csm\u001b[1m)\u001b[0m is being downloaded, please wait.                       \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\">[08:55:36] </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        = Propeller with nacelle, rotating zone with GeometryAI                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = geo-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">0f7a4d1f-e99f-4620-a6ca-97c4d78e4be6</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\">3a7fae2a-9834-4065-880a-f8737797fe21</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[08:55:36]\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        = Propeller with nacelle, rotating zone with GeometryAI                             \n",
       "\u001b[2;36m           \u001b[0m        id          = geo-\u001b[93m0f7a4d1f-e99f-4620-a6ca-97c4d78e4be6\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m        status      = uploaded                                                                          \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m3a7fae2a-9834-4065-880a-f8737797fe21\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": [
    "import math\n",
    "\n",
    "import flow360 as fl\n",
    "from flow360.examples import IsolatedPropellerNacelle\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "\n",
    "IsolatedPropellerNacelle.get_files()\n",
    "project = fl.Project.from_geometry(\n",
    "    IsolatedPropellerNacelle.geometry,\n",
    "    length_unit=\"m\",\n",
    "    name=\"Propeller with nacelle, rotating zone with GeometryAI\",\n",
    ")\n",
    "geometry = project.geometry"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc1e9d52",
   "metadata": {},
   "source": [
    "## 2. Create a Draft and Select the Surfaces\n",
    "\n",
    "A draft holds the entities used by the simulation setup. Grouping the faces by `faceName` gives one surface for each named part of the CAD: `blade1` to `blade5`, `spinner` and `nacelle`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3eed0036",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:56:13.062673Z",
     "iopub.status.busy": "2026-10-16T06:56:13.062614Z",
     "iopub.status.idle": "2026-10-16T06:56:13.070704Z",
     "shell.execute_reply": "2026-10-16T06:56:13.070311Z"
    }
   },
   "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\">[08:56:13] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Regrouping face entities under `faceName` tag <span style=\"font-weight: bold\">(</span>previous `faceId`<span style=\"font-weight: bold\">)</span>.                                \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[08:56:13]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Regrouping face entities under `faceName` tag \u001b[1m(\u001b[0mprevious `faceId`\u001b[1m)\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>: Creating draft with geometry grouping:                                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>  faces: faceName                                                                                       \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>  edges: edgeId                                                                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>  bodies: groupByFile                                                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Creating draft with geometry grouping:                                                            \n",
       "\u001b[2;36m           \u001b[0m  faces: faceName                                                                                       \n",
       "\u001b[2;36m           \u001b[0m  edges: edgeId                                                                                         \n",
       "\u001b[2;36m           \u001b[0m  bodies: groupByFile                                                                                   \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['blade1', 'blade2', 'blade3', 'blade4', 'blade5', 'nacelle', 'spinner']\n"
     ]
    }
   ],
   "source": [
    "draft = fl.create_draft(new_run_from=geometry, face_grouping=\"faceName\", edge_grouping=\"edgeId\")\n",
    "\n",
    "with draft:\n",
    "    all_surfaces = draft.surfaces[\"*\"]\n",
    "    blades = [draft.surfaces[f\"blade{i}\"] for i in range(1, 6)]\n",
    "    spinner = draft.surfaces[\"spinner\"]\n",
    "    nacelle = draft.surfaces[\"nacelle\"]\n",
    "\n",
    "print(sorted(surface.name for surface in all_surfaces))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e3872064",
   "metadata": {},
   "source": [
    "## 3. Define the Rotating Zone\n",
    "\n",
    "The rotating zone is a `Cylinder` aligned with the propeller axis. Its radius of 1.6 m clears the blade tips, and it runs from x = -0.30 m, ahead of the spinner tip, to x = 0.25 m. The spinner ends at x = 0.15 m, so the downstream face of the cylinder crosses the nacelle 0.1 m behind the spinner. That is where GeometryAI cuts the nacelle.\n",
    "\n",
    "The `RotationVolume` that meshes this zone takes three lists:\n",
    "\n",
    "- `entities`: the cylinder itself. To cut through the geometry, it must be a `Cylinder` without an inner radius or an `AxisymmetricBody`.\n",
    "- `enclosed_entities`: every surface that lies inside the zone or crosses its boundary. Here those are the blades, the spinner and the nacelle.\n",
    "- `stationary_enclosed_entities`: the enclosed surfaces that must not move with the zone. The nacelle does not turn with the propeller, so it is listed here. The blades and the spinner are not listed, so they rotate.\n",
    "\n",
    "The three spacings of a `RotationVolume` set the mesh on the sliding interface only, not inside the zone. A `UniformRefinement` on a slightly smaller cylinder controls the cell size inside it. Its spacing, 1/32 m, is a value of the octree series of the mesher (1 m divided by a power of two), so it is used as given.\n",
    "\n",
    "The interface spacings are all 1/16 m, the same octree level as the surface mesh on the nacelle that the interface cuts (`surface_max_edge_length` in the next section).\n",
    "\n",
    "**Warning:** Set the spacings of the `RotationVolume` to match the surface mesh spacing of the surfaces the sliding interface cuts. When the two resolutions match, GeometryAI intersects the interface with the geometry robustly. Coarsening the interface to match is cheaper than refining the surface."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ef31424e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:56:13.072183Z",
     "iopub.status.busy": "2026-10-16T06:56:13.072111Z",
     "iopub.status.idle": "2026-10-16T06:56:13.080311Z",
     "shell.execute_reply": "2026-10-16T06:56:13.079866Z"
    }
   },
   "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",
    "    rotor_cylinder = fl.Cylinder(\n",
    "        name=\"rotor\",\n",
    "        axis=(1, 0, 0),\n",
    "        center=(-0.025, 0, 0),\n",
    "        outer_radius=1.6,\n",
    "        height=0.55,\n",
    "    )\n",
    "\n",
    "    rotation_zone = fl.RotationVolume(\n",
    "        name=\"rotor_zone\",\n",
    "        entities=rotor_cylinder,\n",
    "        spacing_axial=0.0625,\n",
    "        spacing_radial=0.0625,\n",
    "        spacing_circumferential=0.0625,\n",
    "        enclosed_entities=blades + [spinner, nacelle],\n",
    "        stationary_enclosed_entities=[nacelle],\n",
    "    )\n",
    "\n",
    "    rotor_refinement = fl.UniformRefinement(\n",
    "        name=\"rotor_refinement\",\n",
    "        spacing=0.03125,\n",
    "        entities=fl.Cylinder(\n",
    "            name=\"rotor_refinement\",\n",
    "            axis=(1, 0, 0),\n",
    "            center=(-0.025, 0, 0),\n",
    "            outer_radius=1.58,\n",
    "            height=0.53,\n",
    "        ),\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b211c4a",
   "metadata": {},
   "source": [
    "## 4. Meshing Parameters\n",
    "\n",
    "GeometryAI needs a `geometry_accuracy`, the size of the smallest geometric feature the surface mesh must capture. Together with `curvature_resolution_angle`, it sets how finely the curved leading edges of the blades are resolved; a slightly larger angle than the default of 12 degrees keeps the mesh small. A `SurfaceRefinement` keeps the surface mesh on the blades finer than on the nacelle."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c6042b00",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:56:13.081157Z",
     "iopub.status.busy": "2026-10-16T06:56:13.081086Z",
     "iopub.status.idle": "2026-10-16T06:56:13.086205Z",
     "shell.execute_reply": "2026-10-16T06:56:13.085606Z"
    }
   },
   "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": [
    "farfield = fl.AutomatedFarfield()\n",
    "\n",
    "with fl.SI_unit_system:\n",
    "    meshing = fl.MeshingParams(\n",
    "        defaults=fl.MeshingDefaults(\n",
    "            geometry_accuracy=1 * fl.u.mm,\n",
    "            curvature_resolution_angle=15 * fl.u.deg,\n",
    "            surface_max_edge_length=0.0625,\n",
    "            boundary_layer_first_layer_thickness=1e-5,\n",
    "            boundary_layer_growth_rate=1.25,\n",
    "        ),\n",
    "        refinements=[\n",
    "            rotor_refinement,\n",
    "            fl.SurfaceRefinement(name=\"blades\", max_edge_length=0.03, faces=blades),\n",
    "        ],\n",
    "        volume_zones=[farfield, rotation_zone],\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f8578a9d",
   "metadata": {},
   "source": [
    "## 5. Simulation Parameters\n",
    "\n",
    "The propeller turns at 500 rpm in a 20 m/s freestream, an advance ratio of $J = V / (n D) = 0.8$. A `Rotation` model on the cylinder, combined with `Steady` time stepping, applies the multiple reference frame approximation in the rotating zone. The reference area is the propeller disk area and the moment length is the propeller radius.\n",
    "\n",
    "A single `Wall` covers all surfaces. After meshing, Flow360 assigns this wall condition to both parts of each split surface, and the parts listed in `stationary_enclosed_entities` get a zero wall velocity. You do not need to name the split parts yourself."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "623bbe46",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:56:13.087099Z",
     "iopub.status.busy": "2026-10-16T06:56:13.087023Z",
     "iopub.status.idle": "2026-10-16T06:56:13.108940Z",
     "shell.execute_reply": "2026-10-16T06:56:13.108608Z"
    }
   },
   "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": [
    "rpm = 500\n",
    "velocity = 20\n",
    "diameter = 3.0\n",
    "\n",
    "with fl.SI_unit_system:\n",
    "    params = fl.SimulationParams(\n",
    "        meshing=meshing,\n",
    "        reference_geometry=fl.ReferenceGeometry(\n",
    "            moment_center=(0, 0, 0),\n",
    "            moment_length=(diameter / 2, diameter / 2, diameter / 2),\n",
    "            area=math.pi * (diameter / 2) ** 2,\n",
    "        ),\n",
    "        operating_condition=fl.AerospaceCondition(velocity_magnitude=velocity),\n",
    "        time_stepping=fl.Steady(max_steps=1000),\n",
    "        models=[\n",
    "            fl.Fluid(\n",
    "                navier_stokes_solver=fl.NavierStokesSolver(),\n",
    "                turbulence_model_solver=fl.SpalartAllmaras(),\n",
    "            ),\n",
    "            fl.Wall(name=\"propeller_and_nacelle\", surfaces=all_surfaces),\n",
    "            fl.Freestream(surfaces=farfield.farfield),\n",
    "            fl.Rotation(\n",
    "                name=\"propeller_rotation\",\n",
    "                volumes=rotor_cylinder,\n",
    "                spec=fl.AngularVelocity(rpm * fl.u.rpm),\n",
    "            ),\n",
    "        ],\n",
    "        outputs=[\n",
    "            fl.SurfaceOutput(\n",
    "                surfaces=all_surfaces,\n",
    "                output_fields=[\"Cp\", \"Cf\", \"CfVec\", \"yPlus\", \"velocity\"],\n",
    "            ),\n",
    "            fl.SliceOutput(\n",
    "                slices=[fl.Slice(name=\"y0\", normal=(0, 1, 0), origin=(0, 0, 0))],\n",
    "                output_fields=[\"velocity\", \"Cp\", \"Mach\"],\n",
    "            ),\n",
    "        ],\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4b6f2687",
   "metadata": {},
   "source": [
    "## 6. Run the Case\n",
    "\n",
    "The cut is made by the GeometryAI surface mesher, so the case must be submitted with both `use_geometry_AI=True` and `use_beta_mesher=True`. Submit it inside the `with draft:` context so that the draft entities are used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "01e8497c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:56:13.110440Z",
     "iopub.status.busy": "2026-10-16T06:56:13.110368Z",
     "iopub.status.idle": "2026-10-16T06:56:16.988664Z",
     "shell.execute_reply": "2026-10-16T06:56:16.987728Z"
    }
   },
   "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\">[08:56:14] </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[08:56:14]\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\">           </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Using the Geometry AI surface mesher.                                                             \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Using the Geometry AI surface mesher.                                                             \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\">[08:56:16] </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        = Propeller with nacelle, J = <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.8</span>                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">d49c2eed-4312-408c-a61d-a0097c29806f</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\">3a7fae2a-9834-4065-880a-f8737797fe21</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[08:56:16]\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        = Propeller with nacelle, J = \u001b[1;36m0.8\u001b[0m                                                   \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93md49c2eed-4312-408c-a61d-a0097c29806f\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93m3a7fae2a-9834-4065-880a-f8737797fe21\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with draft:\n",
    "    case = project.run_case(\n",
    "        params=params,\n",
    "        name=\"Propeller with nacelle, J = 0.8\",\n",
    "        use_geometry_AI=True,\n",
    "        use_beta_mesher=True,\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "80b67863",
   "metadata": {},
   "source": [
    "## 7. Convergence\n",
    "\n",
    "Wait for the case to finish, then check the convergence of the steady MRF solution with the nonlinear residuals."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "459eafaa",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T06:56:16.990621Z",
     "iopub.status.busy": "2026-10-16T06:56:16.990476Z",
     "shell.execute_reply": "2026-10-16T07:11:44.257387Z"
    }
   },
   "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\">[09:15:46] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to <span style=\"color: #800080; text-decoration-color: #800080\">/tmp/tmphky1tbx2/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">dd6519aa-ee74-481a-a30c-36f82ce0dc22.csv</span>                                \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[09:15:46]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to \u001b[35m/tmp/tmphky1tbx2/\u001b[0m\u001b[95mdd6519aa-ee74-481a-a30c-36f82ce0dc22.csv\u001b[0m                                \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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sb6sE4aLL74Yh8MxbPy6667jjjvuiH3evXs3v/nNb6itraW4uJh77rmH8ePHxx0zmjkChffee4/f/OY3rFixIm7c6XTy3//933z55ZckJSXxjW98gwsuuOCQ55zqvP766/ztb39jYGCAKVOmcPfdd5OVlRXbHw6Hee6553jnnXcIh8NceOGFfOtb34rFdo12zqlMMBiMZRT19vZSWFjIrbfeyuzZs+Pmff755zz55JPY7fZYMG/UKnMoc04VHn74YT766KNh408++SRTpkyJff7LX/7Cm2++id/v59xzz+U73/nOsNiUIzXnUBDCRSAQCAQCwQmDiHERCAQCgUBwwiCEi0AgEAgEghMGIVwEAoFAIBCcMAjhIhAIBAKB4IRBCBeBQCAQCAQnDEK4CAQCgUAgOGEQwkUgEAgEAsEJgxAuAoHguKWqqooPP/xwrC9DIBAcRwjhIhAIjls++ugj7rnnnmNyrsrKSj7++ONjci6BQHD4COEiEAgEwFtvvcUDDzww1pchEAgOgmiIIRCc4lRUVGC321m4cCFbtmyhq6uL0047DZvNFjevra2NrVu3YjabmTVrFgkJCXH79+7dS2VlJZmZmcyYMQO9Xh/bt3HjRnw+H6eddlrc/NraWs4///zYWDAYZPXq1fj9fqZPn77fa964cSONjY3k5+cP61tzMEa6j5qaGioqKuju7uaVV14BYN68eRQVFR303kb7/AQCwZFBCBeB4BTn1Vdf5dVXX0Wj0ZCZmYnT6aS2tpb33nuP008/HYDnnnuO73//+8yfP59wOExLSwsvv/wys2fPJhAI8PWvf53ly5czd+5cmpqa8Hq9vPPOO5SXl8eOj77Qo3zwwQc899xzMeHicrk4++yzaW5uZvr06Wzbti12fJS+vj4uueQSKisrmTVrFps2bWLSpEm8++67mEymg97r/u7D4XCwa9cuent7efvttwHIysoiNzf3oPc2mucnEAiOIP9Rb2mBQHDC85Of/EQG5Jdeeik2dtttt8kTJkyQQ6GQLMuynJubKz///POx/S0tLfK6detkWZblhx56SJ41a5bsdrtj+++88055yZIlcetdeeWVcef93e9+J0+aNCn2+f7775fLy8tlh8Mhy7IsNzY2ysnJyXFzHnjgAbmwsFC22+2yLMtyZ2ennJ+fL//0pz8d1b0e6D4efvhhed68eXHzR3Nvo3l+AoHgyCFiXAQCAVlZWdxwww2xz/fddx+7du2ioqICAKPRSGVlJYFAAIDs7GzmzZsHwAsvvMDUqVP58MMPef3113nttddIS0tjzZo1+P3+UV/Da6+9xje/+U0SExMByMvL47rrroub88orr3DrrbeSmpoKQFpaGrfeemvMvXMwDnQfIzHaezvY8xMIBEcO4SoSCAQUFBQgSVLcZ5VKRUNDA9OmTePPf/4z3/72t3n22WdZtGgRV1xxBTfddBNqtZqGhgb27t2Lx+OJW/PKK69kYGAAnU43qmtobGyksLAwbqyoqIjPP/88bk5xcXHcnJKSEhoaGkZ1jgPdx0iM9t4O9vwEAsGRQwgXgUBAb29v3Gen00k4HI5ZNhYtWkRFRQWNjY0sX76cBx54gIqKCh5//HEsFgtXXHEFd999937XV6lUhMPhuDGv1xv3OSUlZdh17Ps5JSWFnp6euLGenp7YdR6MA93HSIzm3ka6zn2fn0AgOHIIV5FAIIhlzUR56623sFqtTJ48GVmWaW1tBSA/P59bbrmFm2++mXXr1gFw/vnn8+c//znmfonS0tIS+3dOTg7V1dVx+z/77LO4z6effnosMBYgHA7HfY7Oeeutt+LG3njjjVEFwR7sPsxm8zAxNZp7gwM/P4FAcGQRFheBQIDVauXSSy/lu9/9Lg6Hg8cee4yHHnoIq9VKOBxmyZIlnH322cyaNYve3l6eeeYZfvzjHwPw61//mkWLFjF//nxuuukmVCoVq1evJhgM8uabbwJwzTXX8NBDD/HNb36T+fPn89FHH7FlyxbS09Nj1/Dzn/+cuXPncsMNN7BkyRLeeustOjs7ycjIiM155JFHmDNnDldffTXnnHMOH330EZs3b2bDhg0HvUdZlg94H7Nnz+bee+/l8ccfj8W+jObeDvb8BALBkUWSZVke64sQCARjxwMPPMDq1av51a9+xZtvvklXVxcXXnghV111VWyOx+Phr3/9K5s2bcJkMnHBBRdw3nnnxfa7XC5efPFFtmzZgsViYfHixVxxxRVxcR9bt27lxRdfxO/3s3jxYiwWC5999hm//vWvY3N27tzJM888g9/vZ8GCBaSnp/PJJ5/EzWloaODZZ5+loaGBgoICvvnNb1JQUDCqez3Yfbzxxht8/PHHOJ1Obr/9dpYsWXLQexvN8xMIBEcOIVwEglOc6It3xYoVY30pJyTi+QkExxbhKhIIBCcN//jHP/D5fCPuW7BgwagtMwKB4PhFCBeB4BRn6tSpo05ZPt7517/+hcvlGnFfbm7uUREuJ9PzEwhOBISrSCAQCAQCwQmDSIcWCAQCgUBwwiCEi0AgEAgEghMGIVwEAoFAIBCcMAjhIhAIBAKB4IRBCBeBQCAQCAQnDEK4CAQCgUAgOGEQwkUgEAgEAsEJgxAuAoFAIBAIThiEcBEIBAKBQHDC8P8BpRUYqn3U23oAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "case.wait()\n",
    "\n",
    "residuals = case.results.nonlinear_residuals.as_dataframe()\n",
    "residuals.plot(\"pseudo_step\", [\"0_cont\", \"1_momx\", \"2_momy\", \"3_momz\", \"4_energ\", \"5_nuHat\"], logy=True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1273eabc",
   "metadata": {},
   "source": [
    "## 8. The Split Surfaces\n",
    "\n",
    "The surface forces are reported for each boundary of the volume mesh, prefixed with the name of its zone, so they show what GeometryAI did:\n",
    "\n",
    "- the blades and the spinner lie entirely inside the rotating zone, so they appear with the suffix `__rotating_rotor`,\n",
    "- the nacelle appears twice: under its own name in the stationary zone for the part behind the cut, and with the suffix `__rotating_rotor` for the part inside the rotating zone.\n",
    "\n",
    "The force coefficients are converted to a force along x and a moment about x with the dynamic pressure, the reference area and the moment length."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "1550d4d1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T07:14:18.358631Z",
     "iopub.status.busy": "2026-10-16T07:14:18.358376Z",
     "iopub.status.idle": "2026-10-16T07:14:22.626205Z",
     "shell.execute_reply": "2026-10-16T07:14:22.625642Z"
    }
   },
   "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\">[09:15:48] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to <span style=\"color: #800080; text-decoration-color: #800080\">/tmp/tmphky1tbx2/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">09e3aaad-d57d-46f9-92f7-9f7454b85f2f.csv</span>                                \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[09:15:48]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to \u001b[35m/tmp/tmphky1tbx2/\u001b[0m\u001b[95m09e3aaad-d57d-46f9-92f7-9f7454b85f2f.csv\u001b[0m                                \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Fx [N]</th>\n",
       "      <th>Mx [N*m]</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>farfield/nacelle</th>\n",
       "      <td>5.31</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/blade1__rotating_rotor</th>\n",
       "      <td>-175.44</td>\n",
       "      <td>-90.24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/blade2__rotating_rotor</th>\n",
       "      <td>-170.93</td>\n",
       "      <td>-88.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/blade3__rotating_rotor</th>\n",
       "      <td>-171.55</td>\n",
       "      <td>-88.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/blade4__rotating_rotor</th>\n",
       "      <td>-172.93</td>\n",
       "      <td>-89.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/blade5__rotating_rotor</th>\n",
       "      <td>-175.36</td>\n",
       "      <td>-90.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/nacelle__rotating_rotor</th>\n",
       "      <td>0.21</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>rotor/spinner__rotating_rotor</th>\n",
       "      <td>0.12</td>\n",
       "      <td>-0.04</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               Fx [N]  Mx [N*m]\n",
       "farfield/nacelle                 5.31      0.00\n",
       "rotor/blade1__rotating_rotor  -175.44    -90.24\n",
       "rotor/blade2__rotating_rotor  -170.93    -88.00\n",
       "rotor/blade3__rotating_rotor  -171.55    -88.46\n",
       "rotor/blade4__rotating_rotor  -172.93    -89.05\n",
       "rotor/blade5__rotating_rotor  -175.36    -90.02\n",
       "rotor/nacelle__rotating_rotor    0.21      0.00\n",
       "rotor/spinner__rotating_rotor    0.12     -0.04"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "surface_forces = case.results.surface_forces.as_dataframe().iloc[-1]\n",
    "\n",
    "density = case.params.operating_condition.thermal_state.density\n",
    "A_ref = case.params.reference_geometry.area\n",
    "L_ref = case.params.reference_geometry.moment_length[0]\n",
    "q_inf = 0.5 * density * (velocity * fl.u.m / fl.u.s) ** 2\n",
    "\n",
    "boundaries = sorted(column.removesuffix(\"_CFx\") for column in surface_forces.index if column.endswith(\"_CFx\"))\n",
    "loads = pd.DataFrame(\n",
    "    {\n",
    "        \"Fx [N]\": [float((surface_forces[f\"{b}_CFx\"] * q_inf * A_ref).to(\"N\")) for b in boundaries],\n",
    "        \"Mx [N*m]\": [float((surface_forces[f\"{b}_CMx\"] * q_inf * A_ref * L_ref).to(\"N*m\")) for b in boundaries],\n",
    "    },\n",
    "    index=boundaries,\n",
    ")\n",
    "loads.round(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e780e2b",
   "metadata": {},
   "source": [
    "The pressure and friction on the rotating parts produce the thrust, a force along -x into the flow, and a moment about x that opposes the rotation. The nacelle carries a drag force but almost no moment about its axis, including the piece inside the rotating zone, which the wall condition keeps stationary.\n",
    "\n",
    "## 9. Thrust and Torque\n",
    "\n",
    "The propeller thrust $T$ and shaft torque $Q$ are the sums over the rotating parts. With the rotational speed $n$ in revolutions per second, they give the usual propeller coefficients:\n",
    "\n",
    "$$C_T = \\frac{T}{\\rho n^2 D^4}, \\qquad C_Q = \\frac{Q}{\\rho n^2 D^5}, \\qquad C_P = 2 \\pi C_Q, \\qquad \\eta = \\frac{J C_T}{C_P}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7f2c0531",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T07:14:22.637660Z",
     "iopub.status.busy": "2026-10-16T07:14:22.637604Z",
     "iopub.status.idle": "2026-10-16T07:14:22.641405Z",
     "shell.execute_reply": "2026-10-16T07:14:22.640967Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Advance ratio J = 0.80\n",
      "Thrust        T =    866.1 N    C_T = 0.1257\n",
      "Torque        Q =    445.8 N*m  C_Q = 0.02157\n",
      "Power         P =    23.34 kW   C_P = 0.1355\n",
      "Efficiency    eta = 0.74\n"
     ]
    }
   ],
   "source": [
    "propeller = [b for b in boundaries if \"nacelle\" not in b]\n",
    "thrust = -loads.loc[propeller, \"Fx [N]\"].sum()\n",
    "torque = -loads.loc[propeller, \"Mx [N*m]\"].sum()\n",
    "\n",
    "n = rpm / 60\n",
    "rho = float(density.to(\"kg/m**3\"))\n",
    "J = velocity / (n * diameter)\n",
    "C_T = thrust / (rho * n**2 * diameter**4)\n",
    "C_Q = torque / (rho * n**2 * diameter**5)\n",
    "C_P = 2 * math.pi * C_Q\n",
    "\n",
    "print(f\"Advance ratio J = {J:.2f}\")\n",
    "print(f\"Thrust        T = {thrust:8.1f} N    C_T = {C_T:.4f}\")\n",
    "print(f\"Torque        Q = {torque:8.1f} N*m  C_Q = {C_Q:.5f}\")\n",
    "print(f\"Power         P = {2 * math.pi * n * torque / 1000:8.2f} kW   C_P = {C_P:.4f}\")\n",
    "print(f\"Efficiency    eta = {J * C_T / C_P:.2f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9e8eada5",
   "metadata": {},
   "source": [
    "## 10. Next Steps\n",
    "\n",
    "- To let the whole body spin, remove `nacelle` from `stationary_enclosed_entities`. The cut stays the same; only the wall velocity of the nacelle piece inside the zone changes.\n",
    "- To resolve the unsteady interaction of the blades with the nacelle, run a time-accurate case with `Unsteady` time stepping instead of the MRF approximation.\n",
    "- For the meshing side of rotating zones, see the [Volume Mesher](../../../user_guide/Meshing/VolumeMesher.rst) page of the user guide."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.17"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
