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 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.).
For the purposes of this exercise, a pre-generated CGNS mesh will be used. This configuration has a blade pitch of 10°, targeting an ascent operating condition. The XV-15 mesh can be uploaded either through the Flow360 Web UI or through the Python API.
Case Inputs#
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/m3
Alpha = -90°, 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° per time step for 5 revolutions, hence 600 steps
Nondimensionalizing the above (see nondimensional inputs) and referencing the CFL and volumeZones guidelines yields the following flow conditions and timeStepping
parameters in the case configuration file.
{
"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 Web UI or the Python API, launch a new case referencing the mesh uploaded above and the case configuration file 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.
The forces also seem to have stabilized after running for 5 revolutions.