Click or drag to resize

TargetedSegmentListDifferentialCorrector Class

When using the Segment Propagation Library, there will be times when you don't know exactly what a value should be set to. For example, it may be that you don't know when a StoppingCondition should stop, or where your satellite should start propagating from in an InitialStateSegmentT. This type provides a means to solve for such settings in your segments by using some sort of MultivariableFunctionSolver to drive the trajectory to a set of constraint values.
Inheritance Hierarchy

Namespace:  AGI.Foundation.NumericalMethods
Assembly:  AGI.Foundation.SegmentPropagation (in AGI.Foundation.SegmentPropagation.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class TargetedSegmentListDifferentialCorrector : TargetedSegmentListOperator, 
	IDisposable

The TargetedSegmentListDifferentialCorrector type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyConstraints
Gets the constraints that the Variables will attempt to drive the trajectory of the parent TargetedSegmentList to. These Constraints will provide the SolverConstraintSettings to the Solver when GetOperatorEvaluator(EvaluatorGroup) is called.
Public propertyDifferenceMethod
Gets or sets the difference method used to compute the derivative of the function.
Public propertyIsFrozen
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.)
Public propertyMaximumIterations
Gets or sets the maximum number of iterations this operator will take to find a solution. By default, this is set to 50.
Public propertyName
Gets or sets an optional name for you to identify this operator with.
(Inherited from TargetedSegmentListOperator.)
Public propertyOnlyStoreFinalResults
Gets or sets a value indicating whether this operator should report only the final results or all iterations/computations. For example, it is possible that this operator will iterate to a solution and that each iteration will produce a large ephemeris. If memory use is a concern and you do not need to do analysis on the iterations, ensure this is . Conversely, if debugging the operator's performance is needed set this property to . By default this is .
Public propertySolver
Gets or sets the MultivariableFunctionSolver that will be used to drive the trajectory to the constraints specified. All properties on the Solver should be set as needed except for the Function, Constraints and Variables.
Public propertyVariables
Gets the variables that will change the trajectory to satisfy the Constraints. These Variables will provide the SolverVariableSettings to the Solver when GetOperatorEvaluator(EvaluatorGroup) is called.
Top
Methods
  NameDescription
Protected methodCheckForSameDefinition(DefinitionalObject)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from TargetedSegmentListOperator.)
Protected methodCheckForSameDefinition(TargetedSegmentListDifferentialCorrector)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
Protected methodCheckForSameDefinition(TargetedSegmentListOperator)
Checks to determine if another instance has the same definition as this instance and returns if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Overrides TargetedSegmentListOperatorCheckForSameDefinition(TargetedSegmentListOperator).)
Public methodClone
Clones this object using the specified context.
(Overrides TargetedSegmentListOperatorClone(CopyContext).)
Protected methodComputeCurrentDefinitionHashCode
Computes a hash code based on the current properties of this object. Derived classes MUST override this method and compute a hash code that combines: a unique hash code seed, the base implementation result, and the hash codes of all new fields introduced by the derived class which are used in the CheckForSameDefinition(DefinitionalObject) method.
(Overrides TargetedSegmentListOperatorComputeCurrentDefinitionHashCode.)
Public methodDispose
Releases any resources associated with this instance.
Protected methodDispose(Boolean)
Releases any resources associated with this instance.
Public methodEnumerateDependencies
Enumerates the dependencies of this object by calling EnumerateT(T) for each object that this object directly depends upon. Derived classes which contain additional dependencies MUST override this method, call the base implementation, and enumerate dependencies introduced by the derived class.
(Overrides DefinitionalObjectEnumerateDependencies(DependencyEnumerator).)
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 methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
(Inherited from DefinitionalObject.)
Protected methodFreezeAggregatedObjects
Called by Freeze to also freeze any objects that are considered to be a part of this object. Derived classes which contain additional aggregated objects MUST override this method, call the base implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be frozen in this method are frequently created in this object's constructor and are not settable via properties.
(Overrides DefinitionalObjectFreezeAggregatedObjects.)
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetOperatorEvaluator
Creates and returns the fully configured TargetedSegmentListOperatorEvaluator for use in a TargetedSegmentLists propagator.
(Overrides TargetedSegmentListOperatorGetOperatorEvaluator(EvaluatorGroup).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodThrowIfFrozen
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.)
Public methodToString
Returns a string that represents the current object.
(Overrides ObjectToString.)
Top
Events
  NameDescription
Public eventNormalFunctionEvaluationEvent
An event that gets raised when the nominal orbit is evaluated with no perturbations. This event will be raised in whatever thread the orbit was run in.
Public eventPerturbedFunctionEvaluationEvent
An event that gets raised when a perturbed orbit is computed. This event will be raised in whatever thread the orbit was run in.
Top
See Also