.. _sliding_interface_quickstart: .. |deg| unicode:: U+000B0 .. DEGREE SIGN :ltrim: XV-15 Rotor =========== The `XV-15 tiltotor aircraft `__ is a commonly used test bed for propeller validation work. Its rotor geometry will be used to quickly run an isolated rotor simulation. This same geometry and additional simulation details are discussed further in a following :ref:`tutorial `. Uploading the Mesh ^^^^^^^^^^^^^^^^^^ In order to run a rotating geometry, set up a mesh with two domains, an inner “rotational volume” and an outer “stationary volume”. The sliding interface between those two volumes needs to be a body of revolution (i.e., sphere, cylinder, etc.). .. figure:: Figures/rotInterfaceView.png :width: 500px :align: center :alt: Inner rotational volume enclosing the XV-15 3-bladed prop *Inner rotational volume enclosing the XV-15 3-bladed propeller* .. _uploadXV15meshFile: For the purposes of this exercise, a pre-generated `CGNS mesh `__ will be used. This configuration has a blade pitch of 10 |deg|, targeting an ascent operating condition. The XV-15 mesh can be uploaded either through the Flow360 :ref:`Web UI ` or through the :ref:`Python API `. Case Inputs ^^^^^^^^^^^ .. _xv15jsondownload: For this example, a case configuration json file is provided `Click to download `__. This simulation will be using the following operating conditions: - Airspeed = 5 m/s - Rotation rate = 600 RPM - Speed of sound = 340.2 m/s - Density = 1.225 kg/m\ :sup:`3` - Alpha = -90 |deg|, air coming down from above (i.e., an ascent case) Other key considerations: - The reference Mach number is arbitrarily set to the tip Mach number of the blades - The simulation will run 3 |deg| per time step for 5 revolutions, hence 600 steps Nondimensionalizing the above (see :ref:`nondimensional inputs `) and referencing the :ref:`CFL ` and :ref:`volumeZones ` guidelines yields the following flow conditions and :code:`timeStepping` parameters in the case configuration file. .. code-block:: javascript { "freestream" : { "muRef" : 4.29279e-08, "Mach" : 1.46972e-02, "MachRef" : 0.70, "Temperature" : 288.15, "alphaAngle" : -90.0, "betaAngle" : 0.0 }, "boundaries" : { "farField/farField" : { "type" : "Freestream" }, "innerRotating/blade" : { "type" : "NoSlipWall" } }, "volumeZones":{ "innerRotating":{ "referenceFrame":{ "axisOfRotation" : [0,0,-1], "centerOfRotation" : [0,0,0], "omega" : 1.84691e-01 } } }, "timeStepping" : { "timeStepSize" : 2.83500e-01, "physicalSteps" : 600, "maxPseudoSteps" : 35, "CFL" : { "type":"adaptive" } } } Submit the Cases ^^^^^^^^^^^^^^^^ Using either the :ref:`Web UI ` or the :ref:`Python API `, launch a new case referencing the mesh uploaded :ref:`above ` and the case configuration file :ref:`previously downloaded `. The case takes about 3.5 to 4 minutes to run its 5 revolutions. For a time-accurate case to be considered well-converged, it is recommended to reduce residuals by at least 2 orders of magnitude within each time step. .. figure:: Figures/residuals_convergence.png :width: 500px :align: center :alt: convergence of residuals *Convergence plot showing more than 2 orders of magnitude decrease in residuals for each time step.* The forces also seem to have stabilized after running for 5 revolutions. .. figure:: Figures/force_convergence.png :width: 600px :align: center :alt: convergence of forces *Force history plot showing stabilization of the forces.*