{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Hinge Torques Monitoring\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."
   ],
   "id": "212cac3f"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![Geometry overview](../thumbnails/aileron_rudder_airplane_geometry.png)"
   ],
   "id": "db0eec14"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This tutorial will show how to set up a case where moments on specific surfaces are monitored throughout the simulation. The content will cover:\n",
    "- creating a project from a geometry,\n",
    "- meshing using the beta mesher and automated farfield,\n",
    "- setup of a steady case,\n",
    "- setup of `SurfaceIntegralOutput` using `UserVariable` to capture hinge moments on control surfaces,\n",
    "- results postprocessing."
   ],
   "id": "ae363631"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Imports and Project Creation\n",
    "\n",
    "To begin working with the **Flow360** API it is necessary to firstly import the `flow360` python package that will be the interface between you and the software. The files necessary for this example are being downloaded through the `TutorialUDDForcesMoments` example. \n",
    "\n",
    "All simulations are managed through the `Project` object, which stores all the runs associated with a certain root asset. Root asset can be a geometry, surface mesh or volume mesh. In case of this tutorial the `Project` will be started from the geometry."
   ],
   "id": "876f7dc7"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "import flow360 as fl\n",
    "from flow360.examples import TutorialUDDForcesMoments"
   ],
   "execution_count": 1,
   "outputs": [],
   "id": "b8542815"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "TutorialUDDForcesMoments.get_files()\n",
    "\n",
    "project = fl.Project.from_geometry(\n",
    "    TutorialUDDForcesMoments.geometry, name=\"Monitoring hinge torques\"\n",
    ")"
   ],
   "execution_count": 2,
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ab48cdf3467f44208ef23db1f780ff91",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "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\">[10:16:16] </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        = Monitoring hinge torques                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = geo-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">ca5ad8b9-6320-4438-ba13-9b22704743f3</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\">c1642540-6862-4460-89f3-220e400aa909</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[10:16:16]\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        = Monitoring hinge torques                                                          \n",
       "\u001b[2;36m           \u001b[0m        id          = geo-\u001b[93mca5ad8b9-6320-4438-ba13-9b22704743f3\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m        status      = uploaded                                                                          \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93mc1642540-6862-4460-89f3-220e400aa909\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",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cdcad31d5909419090ba954685f233dc",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {}
    }
   ],
   "id": "c24464c9"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If the `Project` has already been created before it is possible to retrieve it using its unique ID."
   ],
   "id": "61daeb53"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# project=fl.Project.from_cloud(\"prj-e8aa4e7a-a6b8-47f5-97c4-7e64bbf76aeb\")"
   ],
   "execution_count": 3,
   "outputs": [],
   "id": "6909cc0e"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Project` contains all the information about its root asset, in this case - geometry. To be able to correctly reference it it is necessary to group the faces and edges by the attribute that was assigned to distinguish the faces in a CAD file. "
   ],
   "id": "b630c2fc"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "geometry = project.geometry\n",
    "\n",
    "geometry.group_edges_by_tag(\"edgeName\")\n",
    "geometry.group_faces_by_tag(\"groupName\")\n",
    "\n",
    "print(\"Geometry boundaries:\")\n",
    "for boundary in geometry.entity_info.get_boundaries():\n",
    "    print(f\"- {boundary.name}\")"
   ],
   "execution_count": 4,
   "outputs": [
    {
     "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\">[10:17:08] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Regrouping face entities under `groupName` tag <span style=\"font-weight: bold\">(</span>previous `faceName`<span style=\"font-weight: bold\">)</span>.                             \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[10:17:08]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Regrouping face entities under `groupName` tag \u001b[1m(\u001b[0mprevious `faceName`\u001b[1m)\u001b[0m.                             \n"
      ]
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "text": [
      "Geometry boundaries:\n",
      "- vTailLeft\n",
      "- fuselage\n",
      "- wingLeft\n",
      "- wingRight\n",
      "- vTailRight\n",
      "- rudderLeft\n",
      "- rudderRight\n",
      "- aileronLeft\n",
      "- aileronRight\n"
     ],
     "name": "stdout"
    }
   ],
   "id": "ff6f95dd"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Meshing\n",
    "When the projects starts from the geometry it is necessary to set up the automated meshing workflow.\n",
    "\n",
    "Firstly the AutomatedFarfield object is created to indicate that the geometry only contains the simulated object and the farfield has to be created around it.\n",
    "\n",
    "Then the defaults for meshing are defined. Those are the \"global\" settings for the mesher."
   ],
   "id": "b1ba1819"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "farfield = fl.AutomatedFarfield()\n",
    "\n",
    "with fl.SI_unit_system:\n",
    "    meshing = fl.MeshingParams(\n",
    "        defaults=fl.MeshingDefaults(\n",
    "            surface_max_edge_length=0.5,\n",
    "            curvature_resolution_angle=10 * fl.u.deg,\n",
    "            boundary_layer_first_layer_thickness=2e-6,\n",
    "            boundary_layer_growth_rate=1.2,\n",
    "        ),\n",
    "        volume_zones=[farfield],\n",
    "    )"
   ],
   "execution_count": 5,
   "outputs": [
    {
     "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\">[10:17:15] </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[10:17:15]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \n"
      ]
     },
     "metadata": {}
    }
   ],
   "id": "13df1c5b"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To refine specific parts of the mesh the `refinements` field is used, where user can define surface (such as `SurfaceRefinement` and `SurfaceEdgeRefinement`) and volumetric refinements (`UniformRefinement`).\n",
    "\n",
    "It is worth to notice how the specific parts of the geometry are referenced using the `geometry` object. They can be then referenced using face names directly or through a wildcard entry (`*`). "
   ],
   "id": "95e7d8b7"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "with fl.SI_unit_system:\n",
    "    box1 = fl.Box(name=\"box1\", size=[2, 6, 3], center=[6.5, 9, 0], axis_of_rotation=[0, 1, 0])\n",
    "    box2 = fl.Box(name=\"box2\", size=[2, 6, 3], center=[6.5, -9, 0], axis_of_rotation=[0, 1, 0])\n",
    "    box3 = fl.Box(name=\"box3\", size=[4, 8, 3], center=[12, 0, 2], axis_of_rotation=[0, 1, 0])\n",
    "\n",
    "    meshing.refinements.extend(\n",
    "        [\n",
    "            fl.SurfaceEdgeRefinement(\n",
    "                method=fl.AngleBasedRefinement(value=1 * fl.u.deg),\n",
    "                edges=[geometry[\"leadingEdge\"]],\n",
    "            ),\n",
    "            fl.SurfaceEdgeRefinement(\n",
    "                method=fl.HeightBasedRefinement(value=5e-3),\n",
    "                edges=[geometry[\"trailingEdge\"]],\n",
    "            ),\n",
    "            fl.SurfaceRefinement(max_edge_length=0.5, faces=[geometry[\"wing*\"]]),\n",
    "            fl.UniformRefinement(name=\"box_refinement1\", entities=[box1, box2, box3], spacing=0.2),\n",
    "        ]\n",
    "    )"
   ],
   "execution_count": 6,
   "outputs": [
    {
     "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\">[10:17:18] </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[10:17:18]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \n"
      ]
     },
     "metadata": {}
    }
   ],
   "id": "34a45fee"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Boundary Conditions, Flow physics and numerics settings\n",
    "\n",
    "To describe the physical behaviour of the flow the Boundary Conditions or surface models are used. In this case the ones needed would be the `Freestream` condition that is assigned to the farfield and the `Wall` condition for the object. The `Fluid` model is a volume model that enables access to the controls of the fluid solver.\n",
    "\n",
    "The `operating_condition` is responsible for defining the fluid behaviour at the freestream and is used to set the velocity, angle of attack and the thermal state of the fluid in this case.\n",
    "\n",
    "`reference_geometry` defines values that are used as a reference when calculating various coefficients. \n",
    "\n",
    "Finally `time_stepping` describes whether the simulation is steady or transient and how many time (or pseudo time) steps should be performed."
   ],
   "id": "397fe4d3"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "with fl.SI_unit_system:\n",
    "    reference_geometry = fl.ReferenceGeometry(\n",
    "        area=60, moment_center=[5.7542, 0, 0], moment_length=[1, 1, 1]\n",
    "    )\n",
    "    operating_condition = fl.AerospaceCondition(\n",
    "        velocity_magnitude=50,\n",
    "        alpha=10 * fl.u.deg,\n",
    "        atmosphere=fl.ThermalState(temperature=288.15),\n",
    "    )\n",
    "    models = [\n",
    "        fl.Fluid(\n",
    "            navier_stokes_solver=fl.NavierStokesSolver(\n",
    "                absolute_tolerance=1e-9,\n",
    "                linear_solver=fl.LinearSolver(max_iterations=35),\n",
    "            ),\n",
    "            turbulence_model_solver=fl.SpalartAllmaras(\n",
    "                linear_solver=fl.LinearSolver(max_iterations=25)\n",
    "            ),\n",
    "        ),\n",
    "        fl.Wall(\n",
    "            surfaces=[geometry[\"*Left\"], geometry[\"*Right\"], geometry[\"fuselage\"]],\n",
    "        ),\n",
    "        fl.Freestream(surfaces=[farfield.farfield]),\n",
    "    ]\n",
    "    time_stepping = fl.Steady(max_steps=5000)"
   ],
   "execution_count": 7,
   "outputs": [
    {
     "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\">[10:17:20] </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[10:17:20]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \n"
      ]
     },
     "metadata": {}
    }
   ],
   "id": "60efc886"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. Definition of `UserVariable`s\n",
    "\n",
    "In the next cell, we define several custom `UserVariable`s to compute hinge torques for the control surfaces (right/left ailerons and right/left rudders). \n",
    "Each variable calculates the local contribution to the hinge torque by taking the moment (cross product) of the force per unit area about a specified torque center, and then projecting that moment onto the relevant hinge axis. The resulting user variables represent the hinge torque per unit area at each surface node, \n",
    "with units of pressure times length (Pa·m), and can be integrated over the relevant surfaces to obtain the total hinge torque values.\n",
    "\n",
    ">Note: The variables are defined **per unit area** because `SurfaceIntegralOutput` integrates over the surface area, not over individual nodes."
   ],
   "id": "2b9a8efd"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "right_aileron_torque_center = [5.7542, 7, 0] * fl.u.m\n",
    "right_aileron_torque_axis = [0, 1, 0]\n",
    "\n",
    "right_aileron_hinge_torque_partial_dim = fl.UserVariable(\n",
    "    name=\"right_aileron_hinge_torque_partial\",\n",
    "    value=fl.math.dot(\n",
    "        fl.math.cross(\n",
    "            fl.math.subtract(fl.solution.coordinate, right_aileron_torque_center),\n",
    "            fl.solution.node_forces_per_unit_area,\n",
    "        ),\n",
    "        right_aileron_torque_axis,\n",
    "    ),\n",
    ").in_units(new_unit=fl.u.Pa * fl.u.m)\n",
    "\n",
    "left_aileron_torque_center = [5.7542, -7, 0] * fl.u.m\n",
    "left_aileron_torque_axis = [0, -1, 0]\n",
    "\n",
    "left_aileron_hinge_torque_partial_dim = fl.UserVariable(\n",
    "    name=\"left_aileron_hinge_torque_partial\",\n",
    "    value=fl.math.dot(\n",
    "        fl.math.cross(\n",
    "            fl.math.subtract(fl.solution.coordinate, left_aileron_torque_center),\n",
    "            fl.solution.node_forces_per_unit_area,\n",
    "        ),\n",
    "        left_aileron_torque_axis,\n",
    "    ),\n",
    ").in_units(new_unit=fl.u.Pa * fl.u.m)\n",
    "\n",
    "right_rudder_torque_center = [12.01, 0.861, 0.861] * fl.u.m\n",
    "right_rudder_torque_axis = [0, fl.math.sqrt(2) / 2, fl.math.sqrt(2) / 2]\n",
    "\n",
    "right_rudder_hinge_torque_partial_dim = fl.UserVariable(\n",
    "    name=\"right_rudder_hinge_torque_partial\",\n",
    "    value=fl.math.dot(\n",
    "        fl.math.cross(\n",
    "            fl.math.subtract(fl.solution.coordinate, right_rudder_torque_center),\n",
    "            fl.solution.node_forces_per_unit_area,\n",
    "        ),\n",
    "        right_rudder_torque_axis,\n",
    "    ),\n",
    ").in_units(new_unit=fl.u.Pa * fl.u.m)\n",
    "\n",
    "left_rudder_torque_center = [12.01, -0.861, 0.861] * fl.u.m\n",
    "left_rudder_torque_axis = [0, -fl.math.sqrt(2) / 2, fl.math.sqrt(2) / 2]\n",
    "\n",
    "left_rudder_hinge_torque_partial_dim = fl.UserVariable(\n",
    "    name=\"left_rudder_hinge_torque_partial\",\n",
    "    value=fl.math.dot(\n",
    "        fl.math.cross(\n",
    "            fl.math.subtract(fl.solution.coordinate, left_rudder_torque_center),\n",
    "            fl.solution.node_forces_per_unit_area,\n",
    "        ),\n",
    "        left_rudder_torque_axis,\n",
    "    ),\n",
    ").in_units(new_unit=fl.u.Pa * fl.u.m)"
   ],
   "execution_count": 8,
   "outputs": [],
   "id": "92e728f8"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Below, each hinge torque user variable (representing the torque per unit area contribution) is integrated over the corresponding control surface using `SurfaceIntegralOutput`. These integrals compute the total hinge torque for each control surface (right/left aileron and rudder) by summing their local torque contributions defined above.\n",
    "\n",
    "The `output_fields` for each surface integral specify which user variable is integrated, and the `surfaces` parameter specifies which part of the geometry the integration is applied to."
   ],
   "id": "e68a0299"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "outputs = [\n",
    "    fl.SurfaceIntegralOutput(\n",
    "        name=\"right_aileron_hinge_torque\",\n",
    "        output_fields=[right_aileron_hinge_torque_partial_dim],\n",
    "        surfaces=geometry[\"aileronRight\"],\n",
    "    ),\n",
    "    fl.SurfaceIntegralOutput(\n",
    "        name=\"left_aileron_hinge_torque\",\n",
    "        output_fields=[left_aileron_hinge_torque_partial_dim],\n",
    "        surfaces=geometry[\"aileronLeft\"],\n",
    "    ),\n",
    "    fl.SurfaceIntegralOutput(\n",
    "        name=\"right_rudder_hinge_torque\",\n",
    "        output_fields=[right_rudder_hinge_torque_partial_dim],\n",
    "        surfaces=geometry[\"rudderRight\"],\n",
    "    ),\n",
    "    fl.SurfaceIntegralOutput(\n",
    "        name=\"left_rudder_hinge_torque\",\n",
    "        output_fields=[left_rudder_hinge_torque_partial_dim],\n",
    "        surfaces=geometry[\"rudderLeft\"],\n",
    "    ),\n",
    "]"
   ],
   "execution_count": 9,
   "outputs": [],
   "id": "b50144da"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. `SimulationParams`\n",
    "\n",
    "Finally all of the previously defined fields are input to the `SimulationParams` object that defines a whole process from meshing to performing the simulation.\n",
    "\n",
    "After preparing those parameters the simulation can be kicked off using the `run_case` command."
   ],
   "id": "e2f05891"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "with fl.SI_unit_system:\n",
    "    params = fl.SimulationParams(\n",
    "        meshing=meshing,\n",
    "        operating_condition=operating_condition,\n",
    "        reference_geometry=reference_geometry,\n",
    "        models=models,\n",
    "        outputs=outputs,\n",
    "    )\n",
    "\n",
    "case = project.run_case(params, name=\"Hinge torques monitoring\")"
   ],
   "execution_count": 10,
   "outputs": [
    {
     "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\">[10:17:26] </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[10:17:26]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \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\">[10:17:27] </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[10:17:27]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: using: SI unit system for unit inference.                                                         \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>:                                                                                                   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\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>: Units of output `UserVariables`:                                                                  \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Units of output `UserVariables`:                                                                  \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>: -----------------------------------------------                                                   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\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>: Variable Name                      | Unit                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Variable Name                      | Unit                                                         \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>: -----------------------------------------------                                                   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\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>: left_aileron_hinge_torque_partial  | Pa*m                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: left_aileron_hinge_torque_partial  | Pa*m                                                         \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>: left_rudder_hinge_torque_partial   | Pa*m                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: left_rudder_hinge_torque_partial   | Pa*m                                                         \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>: right_aileron_hinge_torque_partial | Pa*m                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: right_aileron_hinge_torque_partial | Pa*m                                                         \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>: right_rudder_hinge_torque_partial  | Pa*m                                                         \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: right_rudder_hinge_torque_partial  | Pa*m                                                         \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>: -----------------------------------------------                                                   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\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>:                                                                                                   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m          \u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\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\">[10:17:31] </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        = Hinge torques monitoring                                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>        id          = case-<span style=\"color: #ffff00; text-decoration-color: #ffff00\">b47f265b-f9f9-43d1-bbb5-31128c002e4f</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\">c1642540-6862-4460-89f3-220e400aa909</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">           </span>                                                                                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[10:17:31]\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        = Hinge torques monitoring                                                          \n",
       "\u001b[2;36m           \u001b[0m        id          = case-\u001b[93mb47f265b-f9f9-43d1-bbb5-31128c002e4f\u001b[0m                                         \n",
       "\u001b[2;36m           \u001b[0m        status      = pending                                                                           \n",
       "\u001b[2;36m           \u001b[0m        project id  = prj-\u001b[93mc1642540-6862-4460-89f3-220e400aa909\u001b[0m                                          \n",
       "\u001b[2;36m           \u001b[0m                                                                                                        \n"
      ]
     },
     "metadata": {}
    }
   ],
   "id": "594ee6a4"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6. Accessing the results\n",
    "\n",
    "The `case.wait()` command waits for the simulation to be finished before it is possible to access its results. After completing the whole set of results can be accessed using the `results` parameter of case. "
   ],
   "id": "3520b972"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "case.wait()\n",
    "results = case.results"
   ],
   "execution_count": 11,
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "180008e305524ea0a4b6f1243e25c8d0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {}
    }
   ],
   "id": "4493ce63"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The cell below shows how to quickly view the convergence of a simulation, but other results are available such as:\n",
    "- forces\n",
    "- monitors\n",
    "- aeroacoustics results\n",
    "- user defined dynamics monitoring\n",
    "- and others"
   ],
   "id": "86c64861"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "nonlinear_residuals_data = results.nonlinear_residuals.as_dataframe()\n",
    "nonlinear_residuals_data.plot(\n",
    "    \"pseudo_step\",\n",
    "    [\"0_cont\", \"1_momx\", \"2_momy\", \"3_momz\", \"4_energ\", \"5_nuHat\"],\n",
    "    logy=True,\n",
    "    xlim=[10, 2000],\n",
    "    grid=True,\n",
    ")"
   ],
   "execution_count": 12,
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fef8a6cd4df14e108d03c5287d5624b5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "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\">[10:35:34] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\user\\AppData\\Local\\Temp\\tmprp_0gk5h\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">b80acd78-93c3-47e2-b183-9654af7f590d</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[10:35:34]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\user\\AppData\\Local\\Temp\\tmprp_0gk5h\\\u001b[93mb80acd78-93c3-47e2-b183-9654af7f590d\u001b[0m.csv   \n"
      ]
     },
     "metadata": {}
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<Axes: xlabel='pseudo_step'>"
      ]
     },
     "metadata": {},
     "execution_count": null
    },
    {
     "output_type": "display_data",
     "data": {
      "image/png": "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Xqh2T507d3bvLy8vx3333YeQkBD4+vpi2rRpyM7ObtH37KJt27bV7p2M7rc1Pe/169dj8uTJiI6OFvewbNmySvspFXLu3LmIioqCRqPB2LFjceLEiUrHFBQU4MYbbxS1bagI3G233QadTlfpmP3792P48OFQq9WiGOYbb7yB5nrf1PbiiSeeQI8ePeDj4yOOueWWW0Sh2rP9jLz++uvN+r7r88xvvfXWavd12WWXtepnTtT0+0725ptvtuhn/lo9vr8a62/52rVr0bdvX5GsnZiYiAULFjTsYin5mmkZTJgwwT5//nz7wYMH7Xv37rVPmjTJHh8fb9fpdO5jRo4cab/jjjvsmZmZbisuLnbvt1gs9u7du9vHjh1r37Nnj33lypX20NBQ+1NPPWVvrjz//PP2bt26Vbqn3Nxc9/67777bHhcXZ1+1apV9586d9sGDB9uHDh3aou/ZRU5OTqX7/ueff2iyhH3NmjWt6nnTdT3zzDP2X375Rdzf0qVLK+1//fXX7QEBAfZly5bZ9+3bZ7/yyivtCQkJdoPB4D7msssus/fq1cu+detW+4YNG+yJiYn2G264wb2fPpeIiAj7jTfeKH6HfvjhB7tGo7F/9tln9uZ430VFReK5LVq0yH706FH7li1b7AMHDrT369ev0jnatGljf+mllyr9DHj+TWiO912fZz5z5kzxTD3vq6CgoNIxre2ZE573SzZv3jy7RCKxJycnt+hnPqEe31+N8bf85MmTdq1Wa58zZ4798OHD9g8++MAuk8nsf/75Z72vlYVRC4a+NOkXa926de4x+qJ86KGHan0N/SBJpVJ7VlaWe+yTTz6x+/v7241Go725CiP641cT9OWhUCjsP/30k3vsyJEj4nOhL5KWes+1Qc+2ffv2dpvN1mqfd9UvC7rXyMhI+5tvvlnpuatUKvEHn6A/gPS6HTt2uI/5448/xBdKenq62P7444/tQUFBle77iSeesHfq1MneHKjpS7Iq27dvF8edPn260pfku+++W+trmvt9E7UJo6uuuqrW13jLM6fP4NJLL6001hqeeU6V76/G+lv++OOPi/9Ie3LdddcJYVZfOJTWwvvHEMHBwZXGv//+e4SGhqJ79+546qmnRMd1F1u2bBGu+YiICPfYhAkTRO+hQ4cOoblCYRNyPbdr1064zsmdSuzatUuEHCi04oLCbNRX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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {}
    }
   ],
   "id": "02430383"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To access the hinge torque history that was set with the `SurfaceIntegralOutput`, the `monitors` result type should be accessed."
   ],
   "id": "7c3328e6"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "left_rudder_hinge_torque_history = results.monitors[\"left_rudder_hinge_torque\"].as_dataframe()\n",
    "left_rudder_hinge_torque_history.plot(\n",
    "    \"pseudo_step\", \"left_rudder_hinge_torque_partial_integral\", grid=True\n",
    ")"
   ],
   "execution_count": 13,
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d1a93c0055784271b97a628501c77582",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "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\">[10:35:38] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to C:\\Users\\user\\AppData\\Local\\Temp\\tmprp_0gk5h\\<span style=\"color: #ffff00; text-decoration-color: #ffff00\">5874a8b1-0f4e-402b-99bd-327224fd4adb</span>.csv   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[10:35:38]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to C:\\Users\\user\\AppData\\Local\\Temp\\tmprp_0gk5h\\\u001b[93m5874a8b1-0f4e-402b-99bd-327224fd4adb\u001b[0m.csv   \n"
      ]
     },
     "metadata": {}
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<Axes: xlabel='pseudo_step'>"
      ]
     },
     "metadata": {},
     "execution_count": null
    },
    {
     "output_type": "display_data",
     "data": {
      "image/png": "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fP1d6rmVVq9e7ejTp486IaWmpjq6dOnieOSRR9wCBqu2DydMnABx4sOwZgzNxjxRnl8OrXz8amujhsAEf1MIXDxZ/RhKLeeGYH524rXs0aOH+ozGFzLzc9QVV0snIiIi22MNDxEREdkeAx4iIiKyPQY8REREZHsMeIiIiMj2GPAQERGR7THgISIiIttjwENERES2x4CHiIiIbI8BDxHZyqRJk6RHjx6R3g0ishgGPEREdRQXFyfz5s3j60cUBRjwEBERke0x4CGiOuvfv7+MGTNGXbKzs6VJkybywAMPiHOdQZFnn31WTjjhBElNTZXmzZvLH//4R+O+lZWVMnXqVGnfvr2kpaVJ9+7d5V//+pdx+5w5c6Rhw4Zuz4dsCrIqZo8++qh67AYNGsiIESOkuLjY7XY8z5QpU6RVq1aSkpKiursWLlzoV/tKS0tV21q0aKHa0LZtW7XP0K5dO/XzkksuUfukf4f//ve/cuqpp6r7dOjQQSZPnizl5eXG7dj+ueeekyFDhqi2Yxtz24koBOq9/CgRxazf/e53auXqW2+91bF582bH66+/rlZIfuGFFxxff/21IyEhwfHmm2+q1ZG//fZbx8yZM437PvTQQ47OnTs7Fi5c6Ni+fbtaDRmrPy9dulTdjt+xarTZe++9p1Zn1ubOnavu89JLL6nnv++++xwNGjRwdO/e3dhmxowZamXtt956S21z1113qRW5f/jhh1rbN336dEfr1q0dn3/+uWrDsmXLVHtg//79xkrRWA0avwO2xfPNmTNHtWvRokWOdu3aOSZNmmQ8Lu7XuHFjx4svvqhWdL///vvVa/X999/X63gQkW8MeIioXgFPly5dHJWVlcZ1d999t7ru3//+tzrx5+XlVbtfcXGxCoyWL1/udv2IESMcV111ld8BT9++fR0333yz2zZ9+vRxC3hatmzpePjhh922Oe2006rdz5u//e1vjvPOO8+tfWbYF+yT2fnnn+945JFH3K775z//6WjRooXb/W666aZq+z1q1Kha94mI6oZdWkRUL2eccYZbN1Pfvn1l69atcv7556suIHTXXHvttfLGG29IYWGh2mbbtm3q3wMHDpTMzEzj8tprr8n27dv9fu5NmzZJnz593K7D82t5eXny66+/yllnneW2DX7HfWtz/fXXy9q1a6VTp05yyy23yKJFi2q9z7p161QXmrldI0eOlD179hjt99xP/bs/+0REdZNYx/sREdUIJ/pvv/1Wli5dqgKFCRMmqCHjX3/9teTn56tt5s+fL8cdd5zb/VBnA/Hx8UYtkFZWVhbWVx11ODt27JAPP/xQPv74Y/nTn/4kAwYMqLHeBm1Dzc6ll15a7TbU9BBRZDDDQ0T1snLlSrffv/rqK1WonJCQIImJiSpAmDZtmqxfv1527twpn3zyiZx00kkqsNm1a5d07NjR7dK6dWv1OE2bNpVjx45JQUGB8djItph16dLF6/NrWVlZ0rJlS/nyyy/dtsHv2Ad/4DGuuOIKefHFF2Xu3Lny73//Ww4dOqRuS0pKkoqKimpB0pYtW6q1CxcEcd72U/+O9hBRaDDDQ0T1gqBl7Nix8te//lVldJ5++ml54okn5IMPPpAff/xR+vXrJzk5ObJgwQI1YgrdQxhRdeedd8rtt9+urjv77LPl6NGjKhBBgDF8+HDVVZWeni733nuv6k5CYIORW2a33nqr6nbq3bu36qZCt9nGjRtVN5o2btw4mThxohx//PFqhNYrr7yiAidsW5sZM2aoEVo9e/ZUwcq7774rubm5xugxjMxasmSJem4EcGgnMlm///3vpU2bNmpUGu6Hbq4NGzbIQw89ZDw2Hgv7jbZjX1atWiUvv/wy341EoVLH2h8iIlW0jOJfFOCiQDknJ8dx7733qiJfjGjC7bguLS3N0a1bNzWqSsM2Tz31lKNTp05q1FTTpk0dgwcPdnz22WfGNigI7tixo7r/73//ezX6y/NjCwXJTZo0UaPFhg8frkZhmYuWKyoq1Aip4447Tj0Pbvvwww/9Onp4vh49ejgyMjJU+1CQjNFm2vvvv6/2LzEx0dG2bVvjeow8O/PMM9V+436nn366eiwNbZg1a5Zj4MCBapQZRnGZXxsiCr44/C9k0RQR2X4eHmRNnnrqqUjvSlRBkfd7770nw4YNi/SuEMUM1vAQERGR7THgIaKY9cgjj7gNHzdfMAsyEdkHu7SIKGZhtJUeceUJSz54DpknoujFgIeIiIhsj11aREREZHsMeIiIiMj2GPAQERGR7THgISIiIttjwENERES2x4CHiIiIbI8BDxEREdkeAx4iIiISu/t/bgXF1kJmuEoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {}
    }
   ],
   "id": "10095f31"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 7. Report generation\n",
    "This section illustrates the process for generating summary reports of simulation results with Flow360's reporting tool. Automated reports simplify compiling, visualizing, and sharing key simulation outputs, including tables, charts, and calculated quantities, without the need for manual post-processing. The example below builds and customizes a report that includes convergence history, force coefficients, and hinge torque summaries.\n",
    "\n",
    "The object necessary to construct a `ReportTemplate` are imported from `flow360.plugins.report` namespace."
   ],
   "id": "7287eb64"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "from flow360.plugins.report import (\n",
    "    ReportTemplate,\n",
    "    Chart2D,\n",
    "    Table,\n",
    "    NonlinearResiduals,\n",
    "    DataItem,\n",
    "    Average,\n",
    ")"
   ],
   "execution_count": 14,
   "outputs": [],
   "id": "b3b7f1a1"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As the first entries to the report summary tables are created containing force coefficients of the whole aircraft and monitored hinge torques. \n",
    "An object representing data is the `DataItem` that is defined using the `data` argument which is a \"path\" to a certain variable as would be accessed through the `Case` object. \n",
    "For example to access angle of attack:\n",
    "- through `Case`: `case.params.operating_condition.alpha`,\n",
    "- path for `DataItem`: `\"params/operating_condition/alpha\"`.\n",
    "\n",
    "`DataItem` also allows to perform operations on the base data provided. In this case an `Average` operation is performed to get the variables averaged over the last 10% of pseudo steps.  \n",
    "\n",
    "In the cell below necessary `DataItem`s are defined and `Table`s are constructed. "
   ],
   "id": "8d5dedd7"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "left_aileron_hinge_torque_final = DataItem(\n",
    "    data=\"results/monitors/left_aileron_hinge_torque/left_aileron_hinge_torque_partial_integral\",\n",
    "    operations=[Average(fraction=0.1)],\n",
    ")\n",
    "right_aileron_hinge_torque_final = DataItem(\n",
    "    data=\"results/monitors/right_aileron_hinge_torque/right_aileron_hinge_torque_partial_integral\",\n",
    "    operations=[Average(fraction=0.1)],\n",
    ")\n",
    "left_rudder_hinge_torque_final = DataItem(\n",
    "    data=\"results/monitors/left_rudder_hinge_torque/left_rudder_hinge_torque_partial_integral\",\n",
    "    operations=[Average(fraction=0.1)],\n",
    ")\n",
    "right_rudder_hinge_torque_final = DataItem(\n",
    "    data=\"results/monitors/right_rudder_hinge_torque/right_rudder_hinge_torque_partial_integral\",\n",
    "    operations=[Average(fraction=0.1)],\n",
    ")\n",
    "\n",
    "CL = DataItem(data=\"results/total_forces/CL\", operations=[Average(fraction=0.1)])\n",
    "CD = DataItem(data=\"results/total_forces/CD\", operations=[Average(fraction=0.1)])\n",
    "\n",
    "forces_table = Table(data=[CL, CD], section_title=\"Forces\")\n",
    "aileron_torques_table = Table(\n",
    "    data=[\n",
    "        left_aileron_hinge_torque_final,\n",
    "        right_aileron_hinge_torque_final,\n",
    "    ],\n",
    "    section_title=\"Aileron hinge torques\",\n",
    ")\n",
    "rudder_torques_table = Table(\n",
    "    data=[left_rudder_hinge_torque_final, right_rudder_hinge_torque_final],\n",
    "    section_title=\"Rudder hinge torques\",\n",
    ")"
   ],
   "execution_count": 15,
   "outputs": [],
   "id": "1dfe8404"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Another useful object to be used is `Chart2D` that allows to visualize time histories or pseudo step progressions of variables through the simulations. \n",
    "A different set of `DataItem`s has to be defined not to include the `Average` operation."
   ],
   "id": "449a2632"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "left_aileron_hinge_torque = DataItem(\n",
    "    data=\"results/monitors/left_aileron_hinge_torque/left_aileron_hinge_torque_partial_integral\",\n",
    "    title=\"left_aileron_hinge_torque_monitor\",\n",
    ")\n",
    "right_aileron_hinge_torque = DataItem(\n",
    "    data=\"results/monitors/right_aileron_hinge_torque/right_aileron_hinge_torque_partial_integral\",\n",
    "    title=\"right_aileron_hinge_torque_monitor\",\n",
    ")\n",
    "left_rudder_hinge_torque = DataItem(\n",
    "    data=\"results/monitors/left_rudder_hinge_torque/left_rudder_hinge_torque_partial_integral\",\n",
    "    title=\"left_rudder_hinge_torque_monitor\",\n",
    ")\n",
    "right_rudder_hinge_torque = DataItem(\n",
    "    data=\"results/monitors/right_rudder_hinge_torque/right_rudder_hinge_torque_partial_integral\",\n",
    "    title=\"right_rudder_hinge_torque_monitor\",\n",
    ")\n",
    "\n",
    "aileron_hinge_torques_convergence = Chart2D(\n",
    "    x=\"results/monitors/left_aileron_hinge_torque/pseudo_step\",\n",
    "    y=[\n",
    "        left_aileron_hinge_torque,\n",
    "        right_aileron_hinge_torque,\n",
    "    ],\n",
    "    section_title=\"Aileron hinge torques convergence\",\n",
    "    show_grid=True,\n",
    "    ylim=[-100, 100],\n",
    ")\n",
    "\n",
    "rudder_hinge_torques_convergence = Chart2D(\n",
    "    x=\"results/monitors/left_rudder_hinge_torque/pseudo_step\",\n",
    "    y=[left_rudder_hinge_torque, right_rudder_hinge_torque],\n",
    "    section_title=\"Rudder hinge torques convergence\",\n",
    "    show_grid=True,\n",
    "    ylim=[-30, 30],\n",
    ")"
   ],
   "execution_count": 16,
   "outputs": [],
   "id": "bb623054"
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally all of the objects are compiled into one `ReportTemplate` and submitted to the cloud. An additional `NonlinearResiduals` object is added that automatically adds the plots of convergence to the report.\n",
    "\n",
    "When submitting the report using `create_in_cloud` the list of `cases` has to be given. In this example only one is specified but when performing multiple simulations more cases can be specified and compared. The tables would then be populated with the data from all of the specified cases.\n",
    "\n",
    "For an example of utilizing the report API for more `Case` instances see [Alpha sweep tutorial](./alpha_sweep.ipynb)  or [Wall roughness tutorial](./wall_roughness.ipynb)"
   ],
   "id": "16f18174"
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "template = ReportTemplate(\n",
    "    title=\"Hinge forces report\",\n",
    "    items=[\n",
    "        forces_table,\n",
    "        aileron_torques_table,\n",
    "        rudder_torques_table,\n",
    "        NonlinearResiduals(),\n",
    "        aileron_hinge_torques_convergence,\n",
    "        rudder_hinge_torques_convergence,\n",
    "    ],\n",
    ")\n",
    "\n",
    "report = template.create_in_cloud(name=\"hinge_forces\", cases=[case])\n",
    "\n",
    "report.wait()\n",
    "report.download(\"report.pdf\")"
   ],
   "execution_count": 17,
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d5802357730e421f99d09e9c56ca9258",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "fecf693752cf429189ca0a9e37341bd2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "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\"></pre>\n"
      ],
      "text/plain": []
     },
     "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\">[10:36:58] </span><span style=\"color: #008080; text-decoration-color: #008080\">INFO</span>: Saved to report.pdf                                                                               \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m[10:36:58]\u001b[0m\u001b[2;36m \u001b[0m\u001b[36mINFO\u001b[0m: Saved to report.pdf                                                                               \n"
      ]
     },
     "metadata": {}
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'report.pdf'"
      ]
     },
     "metadata": {},
     "execution_count": null
    }
   ],
   "id": "6452e90e"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "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
}