So, this is a complicated topic to dive into and it's been a long time since I went into the source code to find this stuff. I'll do my best to explain here.
As Rob stated, VSPAERO is set to run unsteady pitch, roll, and yaw perturbations with the -p/q/rstab options. This can be run from the GUI as well. These are effectively a single period perturbation of unit amplitude in the pitch, roll, and yaw directions. VSPAERO has a separate block(s) of code to run this unsteady case where a maximum angle and omega are defined. It's hard-coded and can't be adjusted by the user.
An Unsteady run is different. These are usually the cases resulting from performing a rotating blades analysis with props and rotors (from the GUI) but the capabilities don't stop there. The Groups file tells the unsteady solver what components belong in which group and then how to set motion for each group. For a typical rotating blades analysis, you'll find that the rotors are all defined in their respective groups with the GeometryIsARotor flag as True (1) and everything else is Fixed. For a Fixed group, GeometryIsDynamic will be zero. Let's break down how each component could possibly move in simple terms. It's either fixed (not moving), moving at a constant rate/acceleration, moving periodically, or free to move (6DoF). Yes, the motion could be defined in much more complex arrangements but this is what VSPAERO understands for now. Each of these are accessible through the GeometryIsDynamic term. Source code where you can see these options is here:
https://github.com/OpenVSP/OpenVSP/blob/4ba939ff18997266a5d3993067948ff0b74735bf/src/vsp_aero/Solver/ComponentGroup.C#L559GID = 0 >> Fixed
GID = 1 >> Prescribed motion (Origin vector, Rotation vector, velocity (XYZ), Accleration (XYZ), Omega (about Rvec))
GID = 2 >> Periodic motion (Omega and AngleMax (more on this)
GID = 3 >> Six Degree of Freedom (Requires Mass and Inertias, Acceleration and Velocities, the works)
The issue with trying to run periodic motion (for now) is that the input parser for VSPAERO isn't reading the AngleMax variable into the solver setup. That parameter is used for the -p/q/rstab runs and could alter how those analyses behave if you overwrite it. Not enough people have wanted this extra feature yet so it's not readily available. However if you REALLY need this feature, you can alter the VSPAERO source code to let you use it. Of course, you'll have to download the source code and build it yourself for this to work.
So unless you have a really good reason to want to run an analysis like this, I would leave it be.
- Brandon