WSF_OLD_GUIDED_MOVER

mover WSF_OLD_GUIDED_MOVER

Note

This refers to the ‘old’ implementation and should be avoided for new work.

mover <name> WSF_OLD_GUIDED_MOVER
   mover Commands ...

   show_status
   show_trajectory
   disable_guidance
   integration_method ...
   integration_timestep ...

   stage 1
      aero ...
      empty_mass ...
      fuel_mass ...
      total_mass ...
      pre_ignition_coast_time ...
      pre_separation_coast_time ...
      thrust ...
      thrust_duration ...
      burn_rate ...
      specific_impulse ...
      thrust_vectoring_angle_limit ...
      thrust_vectoring_time_limits ...
   end_stage

   stage <n>
      ... stage commands ...
   end_stage
end_mover

Overview

WSF_OLD_GUIDED_MOVER implements a mover that is capable of representing a guided glide bomb, or a single or multistage guided missile. The model has the following characteristics:

  • Propulsion is not required to model a glide-bomb type weapon, but if propulsion is desired, each stage thrust, burn rate, and thus Isp is assumed constant over the burn time.

  • Mass properties and propulsion input are both flexible, and any omitted values will calculated if possible. On multistage vehicles, lower stages will carry as payload the aggregate mass of each upper stage. Interrelated values include thrust, burn_rate, thrust_duration, specific_impulse, fuel_mass, empty_mass, and total_mass. If all values are specified, but they do not sum consistently, an error message will be generated during initialization.

  • Aerodynamic drag and lift are modeled. See aero class. Missile will aerodynamically turn to intercept a target track, within the specified aerodynamics constraints. Model will not properly guide to intercept if aerodynamics are insufficient due to inadequate maximum lift coefficient or inadequate dynamic pressure (flight at extreme altitudes or low speeds).

  • Aerodynamic angle of attack required to attain a desired side force is not modeled, so body pitch and yaw are directed along the velocity vector, and local NED roll is zero at all times.

  • The guidance profile to be flown will be determined by the WSF_OLD_GUIDANCE_COMPUTER processor that must be present on the same platform. The guidance computer will supply the desired lateral and vertical forces to steer the mover.

A WSF_OLD_GUIDED_MOVER is typically part of a platform type that is launched by an instance of WSF_EXPLICIT_WEAPON. The platform type also typically includes a WSF_WEAPON_FUSE to indicate when to terminate.

Detailed Process Description: The WSF_OLD_GUIDANCE_COMPUTER is documented separately, and provides desired pitch and yaw forces to accomplish intercept guidance with the target track. The desired forces are provided to the aero object, which may intervene to reduce the lateral forces, based upon the current dynamic pressure and specified maximum lift coefficient. In addition, drag values are calculated, impeding forward motion. The vector sum of lateral and longitudinal forces act upon the platform in a Newtonian fashion, resulting in an acceleration vector which is integrated once for velocities, and a second time for positional updates.

Commands

show_status

Enables a debug printout that indicates when a staging operation takes place. Automatically enabled if debug is also enabled.

show_trajectory

Enables debug printouts on mass changes and trajectory data points. (Normal debug information includes [LLA] location and NED Orientation [hdg,pitch,roll]). This option provides downrange distance, speed, Mach number, and applied aerodynamic forces.

disable_guidance

Disables generation of any aerodynamic lift (lateral or vertical forces). Turns a guided weapon into a “dumb” ballistic one. This option is the default setting for the WSF_UNGUIDED_MOVER.

integration_method [ rk2 | rk4 | trapezoidal ]

Specify the method used to integrate the equations of motion.

Default: rk2

integration_timestep <time-value>

Specifies the global value of timestep to be used for integrating the equations of motion. This value is used for any stage that does not specify a local integration timestep.

Default: Must be specified.

stage <stage-number>

Defines the attributes of the only stage of a single stage vehicle or one of the stages in a multistage vehicle. <stage number> must be a value that is greater than or equal to 1 and less than or equal to the current number of defined stages plus one. If the value specifies a stage that already exists then the enclosed subcommands override the values in that stage. If the value is equal to the current number of defined stages plus one then a new stage is created and populated with the enclosed subcommands. It is invalid to specify a stage number that is more than one higher than the current highest defined stage number.

integration_timestep <time-value>

Specifies the timestep to be used for integrating the equations of motion. If specified this overrides the global integration timestep.

Default: Not specified (use global integration_timestep)

aero <aero-type-name>

Specifies the aerodynamics type name for this stage. Type must be known at initialization time.

empty_mass <mass-value>

Specifies the mass of the stage without fuel.

fuel_mass <mass-value>

Specifies the mass of the fuel on the stage.

total_mass <mass-value>

Specifies the total mass of the stage, which is the sum of empty_mass and fuel_mass but does not include the mass of any upper stages on top of this one (considered payload). Note: For backward compatibility, this same value may be supplied via the keywords: ‘launch_mass’, ‘mass’, ‘initial_mass’, or ‘weight’, but future support of these keywords is not guaranteed.

Default: If not provided, this value will be computed from fuel_mass and empty_mass if they are provided. If either fuel_mass or empty_mass is not provided then this value must be provided.

pre_ignition_coast_time <time-value>

Specifies the amount of time that will elapse between the start of the stage and when the engine will ignite.

Default: 0.0 sec

pre_separation_coast_time <time-value>

Specifies the amount of time that will elapse between the burnout of this stage and its separation from the vehicle. This command has no effect for single-stage vehicles or the last stage of a multistage vehicle.

Default: 0.0 sec

thrust <force-value>

Specifies the thrust of the propulsion system.

thrust_duration <time-value>

Specifies the amount of time the engine will produce the specified thrust.

burn_rate <mass-flow-value>

Specifies the propellant burn rate while thrusting.

specific_impulse <time-value>

Specific impulse of the propulsion system.

thrust_vectoring_angle_limit <angle-value>

Specifies the angle off the longitudinal axis that the thrust is vectored during thrust_vectoring_time_limits in order to introduce a pitch-over maneuver.

Default: 0 - No thrust vectoring.

thrust_vectoring_time_limits <time-value min-time-value> <time-value max-time-value>

Specifies the time window after stage ignition in which thrust vectoring may be employed. This is applicable only if thrust_vectoring_angle_limit is greater than zero.

Default: 0 sec <inf> sec

end_stage

Script Interface

The following script methods may be defined on the on the platform (not in the mover block):

void on_stage_ignition(int aStage)
void on_stage_burnout(int aStage)
void on_stage_separation(int aStage)

These scripts are invoked during the ignition, burnout and separation of a stage respectively. The value of ‘aStage’ will be the stage number, starting at 1.

One use of these methods is to alter the signature state so as to reflect a change in signature of the vehicle, or to use other script methods to change visual effects for the platform.