PrescribedAccelerationTransitionProfile Class |
A profile defined by a simple incline used to connect two other profiles at different heights. Unlike the StandardTransitionProfile which includes cruising behavior, this profile has a predefined thrust acceleration which defines the change in speeds along the route. The profile will attempt to find an incline which connects the initial and final heights and then will accelerate along the incline according to the prescribed acceleration. It will then update the next profile's initial speed. If the next profile's speed is not configurable, this will produce the error status: FinalSpeedUnmatched in the ConnectionConfigurationResults. For more information about error cases, see the remarks section.
To add this as a connection between two procedures, use a ProfileRouteConnection with this profile and simply add the connection between your procedures in the RoutePropagator. The propagator will override the default connection behavior to use this one only between the surrounding segments.
Namespace: AGI.Foundation.RouteDesign
The PrescribedAccelerationTransitionProfile type exposes the following members.
Name | Description | |
---|---|---|
PrescribedAccelerationTransitionProfile |
Create a new instance. By default, this uses a ThrustAcceleration of zero,
indicating that it will update the next profile based on the initial speed which will
be determined by the previous profile unless AllowModificationOfInitialSpeed is
set to false. Similarly, the initial and final conditions for height will be determined by
the surrounding profiles unless the properties allowing them to change are set to false.
Also by default, the reference surface is set to the surface of the
EarthCentralBody in the CentralBodiesFacet.
| |
PrescribedAccelerationTransitionProfile(Double, Double, Double, Double, TerrainProvider) |
Create a new instance based on the given platform properties.
| |
PrescribedAccelerationTransitionProfile(Double, Double, Double, ProfileSpeed, Double, Double, Double, Double, TerrainProvider) |
Create a new instance based on the given parameters to completely define the incline.
By default, the height and speed parameters will be overridden by surrounding profiles unless the
appropriate 'allow' properties are set to fix their values.
|
Name | Description | |
---|---|---|
AllowModificationOfFinalHeight |
Gets or sets a value indicating whether to allow changes to the FinalHeight
while configuring the route. By default, this is true.
| |
AllowModificationOfInitialHeight |
Gets or sets a value indicating whether to allow changes to the InitialHeight
while configuring the route. By default, this is true.
| |
AllowModificationOfInitialSpeed |
Gets or sets a value indicating whether to allow changes to the InitialSpeed
while configuring the route. In general, when used as a transition between procedures,
the initial speed is usually set by the previous profile. By default, this is true.
| |
FinalHeight |
Gets or sets the final height of the incline with respect to the surface path, in meters.
If AllowModificationOfFinalHeight is false, this height will be fixed during
the configuration. Otherwise, the surrounding profiles may modify it to configure the route.
Unlike the StandardTransitionProfile or TerrainAvoidanceProfile,
this profile will defer to the surrounding profiles and will not attempt to modify them.
| |
FinalHeightRate |
Gets or sets the final vertical velocity, in meters per second.
If AllowModificationOfFinalHeight is false, this height will be fixed during
the configuration. Otherwise, the surrounding profiles may modify it to configure the route.
| |
HeightReferenceSurface |
Gets or sets the reference surface above which the height is defined.
By default, this is the surface of the Earth.
| |
InitialHeight |
Gets or sets the initial height of the incline with respect to the surface path, in meters.
If AllowModificationOfInitialHeight is false, this height will be fixed during
the configuration. Otherwise, the surrounding profiles may modify it to configure the route.
Unlike the StandardTransitionProfile or TerrainAvoidanceProfile,
this profile will defer to the surrounding profiles and will not attempt to modify them.
| |
InitialHeightRate |
Gets or sets the initial vertical velocity, in meters per second.
If AllowModificationOfInitialHeight is false, this height will be fixed during
the configuration. Otherwise, the surrounding profiles may modify it to configure the route.
| |
InitialSpeed |
Gets or sets the initial speed at the beginning of the profile. In general,
when used as a transition between procedures the initial speed is usually set
by the previous profile.
| |
PitchUpAcceleration |
Gets or sets the (vertical) acceleration used to pitch up when climbing, in meters per second squared.
This defines the functional pitch radius when changing the inclination of the flight path.
By default, this is ten times EarthSurfaceGravity.
If the ThrustAcceleration is such that the final velocity becomes very large,
that may cause certain inclined profiles to become invalid due to the time and distance spent
to execute pitching maneuvers to achieve the initial or final height rates. To remedy this,
make sure your pitch accelerations are sufficient to handle the rapid changes required.
For instance, missiles with attitude control systems may have much higher pitch rates than
aircraft depending on aerodynamic control surfaces.
| |
PushOverAcceleration |
Gets or sets the (vertical) acceleration used to pitch down when leveling out, in meters per second squared.
This defines the functional pitch radius when changing the inclination of the flight path.
By default, this is ten times EarthSurfaceGravity.
If the ThrustAcceleration is such that the final velocity becomes very large,
that may cause certain inclined profiles to become invalid due to the time and distance spent
to execute pitching maneuvers to achieve the initial or final height rates. To remedy this,
make sure your pitch accelerations are sufficient to handle the rapid changes required.
For instance, missiles with attitude control systems may have much higher pitch rates than
aircraft depending on aerodynamic control surfaces.
| |
ThrustAcceleration |
Gets or sets the acceleration to use when transitioning from the initial to the final speed.
By default, this is zero, indicating that the speed will not change and the next profile's
initial speed will be updated to be equal to the final speed of the previous profile.
|
Name | Description | |
---|---|---|
CreateConfigurableProfile |
Create a profile based on the given settings that the RoutePropagator can
use to configure this profile in relation to all other profiles along the route.
(Overrides RouteProfileCreateConfigurableProfile(SurfaceSegment).) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Since this is a transition profile, the initial and final conditions are usually specified by the surrounding procedures, except for the final speed which is determined by the initial speed and acceleration.
Note that this does not use the normal ProfileDynamics used elsewhere and instead only specifies the pitch accelerations and thrust acceleration. The pitch accelerations will define the curves used to connect the surrounding procedures. If the pitch accelerations are too small, this can mean very large curves required to connect the incline with the surrounding height rates and can cause this profile to be invalid if they grow too large. In the event that the profile cannot connect, it will still try to produce a valid profile while returning a ViolatesProfileDynamics status to indicate that the acceleration was too extreme to connect the surrounding profiles.
There are several cases which can cause errors in this profile. Primarily, if the PitchUpAcceleration or PushOverAcceleration are too small compared to the resulting final speed, this will cause the effective pitch radius to be too large and will limit the amount of space available for the incline. If the final pitch radius is such that a connection is infeasible, the profile will attempt to update the next profile's initial height rate to compensate. If it can't update the next profile, it will return an error in the ConnectionConfigurationResults. In addition, if specifying a negative acceleration, cases where the motion decelerates to zero before reaching the end of the segment will cause the profile to adjust the acceleration to decelerate to a surface speed of zero and returns an error (ViolatesProfileDynamics) indicating that the profile violates the specified acceleration.
To avoid problems with the pitch maneuvers, setting the previous and next profiles to be at the same height will simplify the acceleration profile, since no pitch maneuvers will be required. In this case, this profile acts like a ConstantHeightProfile except that instead of specifying an initial and final speed to determine acceleration, this specifies an initial speed and acceleration to determine the final speed.