Description | Example | Return message | Group

AttSim (Satellites)

Set values and run the Attitude Simulator

Syntax

AttSim <SatObjectPath> {AttSimOption} <Parameters>

Description

The AttSim Connect command provides the means to define one or more integrated attitude segments for a satellite.

Valid values for {AttSimOption} are:

{AttSimOption}<Parameters>Description
Run"<OutputAttFile>" [UseForAttitude]Run the Attitude Simulator, placing the resulting attitude in the file specified by "<OutputAttFile>". The file should have the .a extension. If "<OutputAttFile>" is just a filename without a path, the file will be saved in your default database directory.

If you include the UseForAttitude keyword, the simulated attitude will automatically be inserted into the satellite's attitude profile, overriding any existing basic or targeted attitude for the specified time period.

Times{TimeInterval} [{EpochTime}]Use Times to define a time period shorter than that defined for the satellite. The EpochTime will normally coincide with the Start Time. Otherwise, the program will integrate (forward or backward, as appropriate) without saving until it reaches the Start Time; then it will integrate forward and save.

For valid {TimeInterval} and {EpochTime} values, see Time Options.

InitCond{InitOption} [<Parameters>]Set the initial conditions for an attitude simulation. {InitOptions} and [<Parameters>] are outlined below.
Integrator"{IntegratorName}" <Parameters>Specify an integrator. {IntegratorNames} and [<Parameters>] are outlined below.
Advanced{AdvancedOption} <Parameters>Set advanced run options. {AdvancedOptions} and [<Parameters>] are outlined below.
Environment"{ModelName}" <Parameters>Set parameters for the atmospheric density model to be used. "{ModelName}" and <Parameters> are outlined below.
Config{FileList} <Parameters>Set initialization, simulation, and post-processing files and parameters regarding their use by the simulator. {FileList} and <Parameters> are outlined below.

InitCond

If {AttSimOption} is InitCond; valid values for {InitOption} and their associated [<Parameters>] are:

{InitOption}[<Parameters>]Description
FromCurrentN/ASet the initial conditions for an attitude simulation using values from the satellite specified in the <SatObjectPath>.
FixedRates<wx> <wy> <wz>Set the initial conditions for an attitude simulation by specifying the initial angular velocity rates about the satellite's X, Y, and Z axes. Enter <wx> <wy> <wz> in deg/sec.
Quaternion<q1> <q2> <q3> <q4>Set the initial conditions for an attitude simulation using quaternion coordinates.
Euler<euler1> <euler2> <euler3> {Sequence}Set the initial conditions for an attitude simulation using an euler angle. Enter <euler1> <euler2> <euler3> in degrees. {Sequence} is 121, 123, 131, 132, 212, 213, 231, 232, 312, 313, 321, or 323.
YPR<yaw> <pitch> <roll> {Sequence}Set the initial conditions for an attitude simulation using YPR coordinates. {Sequence} is RPY, RYP, PRY, PYR, YRP, or YPR.

Similarly to Euler angles, YPR angles specify attitude using three rotations in a chosen sequence: the rotation about the reference X axis is called roll (R), the rotation about the reference Y axis is called pitch (P), and the rotation about the reference Z axis is called yaw (Y). Sequences are identified using either numbers (1 is the X axis, 2 is the Y axis, 3 is the Z axis) or letters (R is the X axis, P is the Y axis, Y is the Z axis). Unlike Euler angles, the rotations are not made about axes defined by an earlier rotation. Instead, each rotation is made about the reference system's axes.

In YPR angles, the names yaw, pitch, and roll do NOT refer to the angles normally used in aviation; the terms yaw, pitch, and roll in aviation refer to 321 Euler angles.

MomentumBias{On | Off} [<hx> <hy> <hz>]If you wish to take account of a Momentum Bias (e.g., due to a spinning device within the satellite body), turn MomentumBias On and specify the initial angular momentum values. If MomentumBias is On, enter <hx> <hy> <hz> with values between -1000.0 and 1000.0 and in units of kg m^2/sec.

Integrator

If {AttSimOption} is Integrator; valid values for "{IntegratorName}" and their associated <Parameters> are:

"{IntegratorName}"<Parameters>Description
"Bulirsch Stoer"<RelativeError> <NumberOfStages> [<MinStepOption> <MaxStepOption>]Thsi integration method is based on Richardson extrapolation with automatic step size control. <RelativeError> is a real value between 1.0e-15 and 1.0. <NumberOfStages> is an integer between 1 and 10.
"RKF 7(8)"<RelativeError> <AbsoluteError> [<MinStepOption> <MaxStepOption>]This is a Runge-Kutta-Fehlberg integration method of the seventh order, with eighth-order error control for the integration step size. <RelativeError> and <AbsoluteError> are real values between 1.0e-15 and 1.0.
"RKF 4(5)"<RelativeError> <AbsoluteError> [<MinStepOption> <MaxStepOption>]This is a Runge-Kutta-Fehlberg integration method of the fourth order with fifth-order error control for the integration step size. <RelativeError> and <AbsoluteError> are real values between 1.0e-15 and 1.0.

The optional <MinStepOption> and <MaxStepOption> enable you to specify a minimum or maximum (or both) step, the time interval between evaluations.

Advanced

If {AttSimOption} is Advanced, valid values for {AdvancedOptions} and their associated <Parameters> are:

{AdvancedOption}<Parameters>Description
Progress{On | Off}If On, the percent of the run completed and the time remaining is displayed during the simulator run.
Animate{On | Off} [<SamplingPeriod>]If On, the scenario will animate in the 2D and 3D Graphics windows during the simulator run. If On, you can also include a <SamplingPeriod> by specifying a value between: 0.01 and 180.0 secs, entered in the Connect time unit.

Environment

If {AttSimOption} is Environment, valid values for "{ModelName}" and their associated <Parameters> are:

"{ModelName}"<Parameters>Description
"Harris-Priester"<AverageF10.7>Takes into account a 10.7 cm solar flux level and diurnal bulge and uses density tables.
"1976 Standard"N/AThis is a table look-up model based on the satellite's altitude, with a valid range of 86km - 1000 km.
"Jacchia 1970"<DailyF10.7> <AverageF10.7> <GeoMagIndex>Computes atmospheric density based on the composition of the atmosphere, which depends on altitude as well as seasonal variation. Valid range is 100-2500 km.
"Jacchia 1971"<DailyF10.7> <AverageF10.7> <GeoMagIndex>Similar to Jacchia 1970, with improved treatment of certain solar effects.
"Jacchia-Roberts"<DailyF10.7> <AverageF10.7> <GeoMagIndex>Similar to Jacchia 1971 but uses analytical methods to improve performance.
"Jacchia 1960"N/AAn earlier model by Jacchia that uses the solar cycle to predict a value for the F10.7 cm flux and accounts for the effects of the diurnal bulge.
"MSIS 1986"<DailyF10.7> <AverageF10.7> <GeoMagIndex>This is an empirical density model developed by Hedin based on satellite data. It finds the total density by accounting for the contribution of N2, O, O2, He, Ar, and H. This 1986 version has a valid range of 90-1000 km.
"MSISE 1990"<DailyF10.7> <AverageF10.7> <GeoMagIndex>This is an empirical density model developed by Hedin based on satellite data. It finds the total density by accounting for the contribution of N2, O, O2, He, Ar, and H. This 1990 version has a valid range of 0-1000 km.
"NRLMSISE 2000"<DailyF10.7> <AverageF10.7> <GeoMagIndex>This is an empirical density model developed by the US Naval Research Laboratory based on satellite data. It finds the total density by accounting for the contribution of N2, O, O2, He, Ar, and H. It includes anomalous oxygen. This 2000 version has a valid range of 0-1000 km. This implementation always calls the gtd7d routine (in contrast to switching between it and gtd7) per the recommendation of Mike Picone, one of the code authors.
"DTM 2012"<DailyF10.7> <AverageF10.7> <GeoMagIndex>The Drag Temperature Model (DTM), version 2012, is a semiempirical model that computes the temperature, density, and composition of the thermosphere. It was developed at CNES. The valid range is 120-1500 km.
"DTM 2020"<DailyF10.7> <AverageF10.7> <GeoMagIndex>The Drag Temperature Model (DTM), version 2020, is a semi-empirical model which computes the temperature, density, and composition of the thermosphere. Developed at CNES. Valid range is 120-1500 km.
"Exponential"<RefDensity> <RefAltitude> <ScaleAltitude>This model uses an equation to calculate atmospheric density. The equation is in the Astrogator Components: Atmospheric Models STK Help topic.

<Parameters> associated with available "{ModelNames}" can be:

<Parameter>Description
<AverageF10.7><AverageF10.7> is the 81-day averaged Ottawa 10.7 cm solar flux value and is expressed as an integer between 40 and 10000.
<DailyF10.7><DailyF10.7> is the daily Ottawa 10.7 cm solar flux value and is expressed as an integer between 40 and 10000.
<GeoMagIndex><GeoMagIndex> is the planetary geomagnetic flux index, Kp, and is expressed as a real number between 0.0 and 10.0.
<RefAltitude>Enter a value between 0.0m and 1.0e9m in Connect distance units.
<ScaleAltitude>
<RefDensity>Enter a value between 0.0 and 1000.0 in kg/m^3.

Config

Valid values for {FileList} and their associated <Parameters> are:

{FileList}<Parameters>Description
Initialization{Action} <FilePath> [<Index>] [<NewFilePath>]Use <FileName> to indicate the name of the file to be used. Valid values for {Action} and <SimulationParams> are outlined below.
Simulation{Action} <FilePath> [<Index>] [<NewFilePath>] [<SimulationParams>]
PostProcess{Action} <FilePath> [<Index>] [<NewFilePath>]

Valid values for {Action} and their associated <Parameters> are:

{Action}<Parameters>Description
Add<FilePath> [<Index>] [<SimulationParams>]
  • Use the optional <Index> parameter to indicate where to insert the file in the list.
  • If you do not include <Index>, the item will be added to the end of the list.
  • <SimulationParams> are included only if {FileList} is Simulation. <SimulationParams> are outlined below.

Only 10 files can be added to each list.

Remove<FilePath> [<Index>] [<SimulationParams>]
  • Use the optional <Index> parameter to indicate which item in the list is to be processed if there is more than one file with the same name.
  • If <Index> is not included, the last matching item in the list will be processed.
  • <SimulationParams> are included only if {FileList} is Simulation. <SimulationParams> are outlined below.
Modify<FilePath> [<Index>] [<NewFilePath>] [<SimulationParams>]
  • Use the optional <Index> parameter to indicate which item in the list is to be processed if there is more than one file with the same name.
  • If <Index> is not included, the last matching item in the list will be processed.
  • <SimulationParams> are included only if {FileList} is Simulation. <SimulationParams> are outlined below.
  • If {Action} is Modify, you can include the optional <NewFilePath>.

Valid values for <SimulationParams> are:

<SimulationParams> can be included only if {FileList} is Simulation.

<SimulationParams><Parameters>
Sampling <SampleValue> {Recompute | NoRecompute}Sampling occurs at the frequency set in <SampleValue>, which you enter in Connect time units. It must be greater than 0.0 and less than 3600.0 seconds. Enter Recompute to have the recomputation of attitude occur only at the intervals you set using the AttSim Times command instead of occurring at every sampling taken by the integrator.
NoSamplingAllow the integrator to use its step size control algorithm to determine the right steps.

Examples

To Run an attitude simulation for Satellite1 and place it in the file AttSimRun1.a:

AttSim */Satellite/Satellite1 Run "E:\Temp\AttSimRun1.a"

To Run an attitude simulation for Satellite1, place the result in the file AttSimRun1.a, and set the result attitude profile as Satellite1's profile:

AttSim */Satellite/Satellite1 Run "AttSimRun2.a" UseForAttitude

To set the start and stop times for an attitude simulation for attSat:

AttSim */Satellite/attSat Times "1 Jan 2002 01:00:00.00" "1 Jan 2002 01:45:00.00"

To set the initial conditions for an attitude simulation using values from the satellite attSat:

AttSim */Satellite/attSat InitCond FromCurrent

To set the initial conditions for an attitude simulation using a euler angle with values: -80 94 -23, and sequence 313:

AttSim */Satellite/attSat InitCond Euler -80 94 -23 313

To set up an attitude simulation using the RKF 4(5) integrator:

AttSim */Satellite/attSat Integrator "RKF 4(5)" 1.0e-2 1.0e-4

To animate during the simulator run and use a sampling period of 2.5 seconds:

AttSim */Satellite/attSat Advanced Animate On 2.5

To set up an attitude simulation using the "Jacchia 1960" environment model:

AttSim */Satellite/attSat Environment "Jacchia 1960"

To set up an attitude simulation using the "Exponential" model with Ref Density of 234.56 km, RefAltitude of 1234.5 km and Scale Altitude of 76.321 km:

AttSim */Satellite/attSat Environment "Exponential" 234.56 1234.5 76.321

To add the matlab file rblimit.m, to the initialization file list for an attitude simulation:

AttSim */Satellite/attSat Config Initialization Add rblimit.m

To change the satu.m file in the Simulation file list to not use sampling:

AttSim */Satellite/attSat Config Simulation Modify satu.m NoSampling

To remove the rblimit.m, which is in position 4, from the PostProcess file list:

AttSim */Satellite/attSat Config PostProcess Remove rblimit.m 4

Return message

Group membership

This command belongs to the following group(s):

Vehicles

Version

11.4