Top  Previous  Next


The Vary command specifies the object properties that are adjusted in a Targeting loop in order to meet a set of user-specified goals. For each object property that is varied, the user specifies an initial guess and a perturbation value, and optionally the allowable range of values. For more information, see the Targeting Guide.





      Iterate mySpacecraft;

      Vary myImpulsiveBurn.BurnDirection[0] = 0 + 0.001;

      Maneuver mySpacecraft using myImpulsiveBurn;

      Achieve mySpacecraft.A = 8000 +/- 2;

      Report myImpulsiveBurn.BurnDirection[0], mySpacecraft.A;

Target using myDifferentialCorrector;
     // ...
     Vary myVariable1 = 50 - 0.001;
     Vary myVariable2 = 50 - 0.001 within <30,70>;
     // ...



50 is the seed value for myVariable1 and myVariable2

-0.001 is the perturbation for myVariable1 and myVariable2

<30,70> is the allowable range of myVariable2




The Vary command can only be used inside a Target loop.

At least one Vary command must be present in every Target loop. As a best practice, a Target loop should have one Vary command for each Achieve command.

An unlimited number of object properties may be varied in a single Target loop, but a separate Vary command is required for each.

Any FreeFlyer object property can be varied.

The seed, perturbation, and allowable range values can be specified using numerical values or FreeFlyer object properties or expressions that evaluate to numbers.

The Achieve command defines the goals of a targeting loop: the desired value and the allowable tolerance for a user-specified set of object properties.

If the current values of the Varied properties are such that the properties being Achieved are within the specified tolerance of their goal value, the Target loop converges on the current solution.

The ResetTargetingLoop command is an optional component of the Targeting loop which allows the user to re-initialize the seeds and perturbations of a Vary command if the Targeting process is not converging properly.



Command Editor

Note: To add a Vary command via Command Editor, you must start with a Target command, and edit the Choose Parameters To Vary page.


Parameter to Vary

Determines the object properties that are adjusted in the Target loop in order to meet the user-specified goals


Seed Value

Initial guess for the varied parameter



Offset from the current guess that is used to determine the next guess


Use Constraints

Determines whether the allowable guesses will be constrained to a specified range of values



Lowest allowable value for the varied parameter



Highest allowable value for the varied parameter



Displays the FreeFlyer Script that is generated by the editor

The ellipsis (...) indicates that additional script can be added inside the loop



Displays descriptions of the editor and its fields

Description text changes as the mouse pointer moves over the different fields within the editor




See Also

Achieve Command

Iterate Command

Maneuver Command

DifferentialCorrector Properties and Methods


Target Command

Targeting Guide