Click or drag to resize

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.

Inheritance Hierarchy
SystemObject
  AGI.Foundation.RouteDesignRouteProfile
    AGI.Foundation.RouteDesignPrescribedAccelerationTransitionProfile

Namespace:  AGI.Foundation.RouteDesign
Assembly:  AGI.Foundation.RouteDesign (in AGI.Foundation.RouteDesign.dll) Version: 19.1.398.0 (19.1.398.0)
Syntax
public class PrescribedAccelerationTransitionProfile : RouteProfile

The PrescribedAccelerationTransitionProfile type exposes the following members.

Constructors
  NameDescription
Public methodPrescribedAccelerationTransitionProfile
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.
Public methodPrescribedAccelerationTransitionProfile(Double, Double, Double, Double, TerrainProvider)
Create a new instance based on the given platform properties.
Public methodPrescribedAccelerationTransitionProfile(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.
Top
Properties
  NameDescription
Public propertyAllowModificationOfFinalHeight
Gets or sets a flag indicating whether to allow changes to the FinalHeight while configuring the route. By default, this is true.
Public propertyAllowModificationOfInitialHeight
Gets or sets a flag indicating whether to allow changes to the InitialHeight while configuring the route. By default, this is true.
Public propertyAllowModificationOfInitialSpeed
Gets or sets a flag 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.
Public propertyFinalHeight
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.
Public propertyFinalHeightRate
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.
Public propertyHeightReferenceSurface
Gets or sets the reference surface above which the height is defined. By default, this is the surface of the Earth.
Public propertyInitialHeight
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.
Public propertyInitialHeightRate
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.
Public propertyInitialSpeed
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.
Public propertyPitchUpAcceleration
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.
Public propertyPushOverAcceleration
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.
Public propertyThrustAcceleration
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.
Top
Methods
  NameDescription
Public methodCreateConfigurableProfile
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).)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Since this is a transition profile, the initial and final conditions are usually specified by the surrounding procedures, with the exception of 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 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.

See Also