Files
lab1/weapons/ssm/red_mrbm_1.txt
2025-09-12 15:20:28 +08:00

422 lines
14 KiB
Plaintext

# ****************************************************************************
# CUI
#
# The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
#
# The use, dissemination or disclosure of data in this file is subject to
# limitation or restriction. See accompanying README and LICENSE for details.
# ****************************************************************************
###############################################################################
# ------ UNCLASSIFIED ------
# RED_MRBM_1
###############################################################################
#
# ***** WARNING ***** WARNING ***** WARNING ***** WARNING ***** WARNING *****
#
# This definition is intended to be EXPORTABLE. It is defined using publicly
# available, attributable sources. DO NOT ADD ANYTHING BASED ON OTHER SOURCES!
#
# ***** WARNING ***** WARNING ***** WARNING ***** WARNING ***** WARNING *****
#
###############################################################################
#
# NOTE: If you modify any parameter in this file, you must rerun 'weapon_tools'
# with 'red_mrbm_1_lcg.txt' as input to regenerate the launch computer data.
#
###############################################################################
#
# This model is built using data from unclassified sources as follows:
#
# 1) Jane's DF-21 (CSS-5)
# RED_MRBM parameters
# Length: 10.7 m
# Body Diameter: 1.4 m
# Launch weight: 14,700 kg
# Payload: Single warhead, 600 kg
# Minimum range 500 km, Maximum range 2500 km
#
# RED_MRBM_4/RED_MRBM_1 parameters
# Length: 12.3 m
# Body Diameter: 1.4 m
# Launch weight: 15,200 kg
# Payload: Single warhead, 500 kg
# Minimum range 600 km, Maximum range 2150 km
#
# RED_MRBM_1 RV is believed to have pop-out fins and an active radar seeker.
#
# 2) http://www.astronautix.com/lvs/df21.htm
# Length: 10.43 m
# Diameter: 1.4 m
# Total Mass: 14,664 kg
# Stage 1 gross mass: 10,000 kg
# Stage 2 gross mass: 4,000 kg
# Warhead mass: 600 kg
#
# 3) http://en.wikipedia.org/wiki/Space_Shuttle_Solid_Rocket_Booster
# Because there is no data that gives the mass of the propellant, it is
# assumed that it will follow the ratio of the fuel mass/total mass for
# the Space Shuttle solid rockets:
#
# Propellant Mass: 500,000 kg
# Inert (empty) Mass: 91,000 kg
# Fuel Mass / Total Mass = 500,000 / 591,000 = 0.846
#
# As a point of reference, it also quotes the specific impulse as 242 secs.
#
# 4) http://en.wikipedia.org/wiki/Solid-fuel_rocket
# Indicates 'a typical solid fuel rocket motor may have a specific impulse
# of 265 sec'.
#
# 5) http://en.wikipedia.org/wiki/Specific_impulse
# Indicates specific impulse of 250 sec for 'solid rocket technologies'.
#
###############################################################################
###############################################################################
# Support for explicit representation of spent stages
#
# Platforms will be created for spent stages if one the global script variables
# is defined as follows:
#
# script_variables
# SHOW_SPENT_STAGES["ALL"] = true; # For any weapon
# SHOW_SPENT_STAGES["RED_MRBM_1"] = true; # For just this weapon type
# end_script_variables
###############################################################################
include_once show_spent_stages.txt
##### Stage 1
aero RED_MRBM_1_SPENT_STAGE_1_AERO WSF_AERO # TODO
reference_area 16.62 ft^2
aspect_ratio 1.0
cl_max 5.0
zero_lift_cd 0.7
end_aero
infrared_signature RED_MRBM_1_SPENT_STAGE_1_INFRARED_SIG
constant 1 watts/steradian
end_infrared_signature
optical_signature RED_MRBM_1_SPENT_STAGE_1_OPTICAL_SIG
constant 1 m^2
end_optical_signature
radar_signature RED_MRBM_1_SPENT_STAGE_1_RADAR_SIG
constant 1 m^2
end_radar_signature
platform_type RED_MRBM_1_SPENT_STAGE_1 WSF_PLATFORM
icon Scud_Missile
infrared_signature RED_MRBM_1_SPENT_STAGE_1_INFRARED_SIG
optical_signature RED_MRBM_1_SPENT_STAGE_1_OPTICAL_SIG
radar_signature RED_MRBM_1_SPENT_STAGE_1_RADAR_SIG
mover WSF_GUIDED_MOVER
integration_timestep 0.01 secs
stage 1
aero RED_MRBM_1_SPENT_STAGE_1_AERO
total_mass 1618.0 kg
end_stage
end_mover
processor fuse WSF_GROUND_TARGET_FUSE
end_processor
end_platform_type
##### Stage 2
aero RED_MRBM_1_SPENT_STAGE_2_AERO WSF_AERO # TODO
reference_area 16.62 ft^2
aspect_ratio 1.0
cl_max 5.0
zero_lift_cd 0.7
end_aero
infrared_signature RED_MRBM_1_SPENT_STAGE_2_INFRARED_SIG
constant 1 watts/steradian
end_infrared_signature
optical_signature RED_MRBM_1_SPENT_STAGE_2_OPTICAL_SIG
constant 1 m^2
end_optical_signature
radar_signature RED_MRBM_1_SPENT_STAGE_2_RADAR_SIG
constant 1 m^2
end_radar_signature
platform_type RED_MRBM_1_SPENT_STAGE_2 WSF_PLATFORM
icon Scud_Missile
infrared_signature RED_MRBM_1_SPENT_STAGE_2_INFRARED_SIG
optical_signature RED_MRBM_1_SPENT_STAGE_2_OPTICAL_SIG
radar_signature RED_MRBM_1_SPENT_STAGE_2_RADAR_SIG
mover WSF_GUIDED_MOVER
integration_timestep 0.01 secs
stage 1
aero RED_MRBM_1_SPENT_STAGE_2_AERO
total_mass 708.0 kg
end_stage
end_mover
processor fuse WSF_GROUND_TARGET_FUSE
end_processor
end_platform_type
###############################################################################
# Signature data is unknown...
infrared_signature RED_MRBM_1_INFRARED_SIG
constant 1 watts/steradian
end_infrared_signature
optical_signature RED_MRBM_1_OPTICAL_SIG
constant 1 m^2
end_optical_signature
radar_signature RED_MRBM_1_RADAR_SIG
constant 1 m^2
end_radar_signature
# Nominal lethality data.
weapon_effects RED_MRBM_1_EFFECT WSF_GRADUATED_LETHALITY
radius_and_pk 1000.0 m 1.0
end_weapon_effects
###############################################################################
aero RED_MRBM_1_STAGE_1_AERO WSF_AERO
reference_area 1.539 m^2 # 1.4 m diameter (Ref 1)
aspect_ratio 2.0
cl_max 4.5
# Values estimated from Hoerner's Drag book
cd_zero_subsonic 0.10
cd_zero_supersonic 0.35
mach_begin_cd_rise 0.95
mach_end_cd_rise 1.30
mach_max_supersonic 6.00
end_aero
aero RED_MRBM_1_STAGE_2_AERO WSF_AERO
reference_area 1.539 m^2 # 1.4 m diameter (Ref 1)
aspect_ratio 2.0
cl_max 4.5
# Values estimated from Hoerner's Drag book
cd_zero_subsonic 0.10
cd_zero_supersonic 0.35
mach_begin_cd_rise 0.95
mach_end_cd_rise 1.30
mach_max_supersonic 6.00
end_aero
aero RED_MRBM_1_RV_AERO WSF_AERO
# Based on the line drawing from Janes, it appears the RV is about 60% of the
# stage 1/2 diameter. So, 1.4 * 0.6 = 0.84m
reference_area 0.554 m^2 # 0.84 m diameter
aspect_ratio 2.0
cl_max 4.5
# Values estimated from Hoerner's Drag book
cd_zero_subsonic 0.10
cd_zero_supersonic 0.35
mach_begin_cd_rise 0.95
mach_end_cd_rise 1.30
mach_max_supersonic 6.00
end_aero
###############################################################################
mover RED_MRBM_1_MOVER WSF_GUIDED_MOVER
integration_timestep 0.005 secs
update_interval 0.05 secs
# Total mass for RED_MRBM_1 is 15,200 kg (Ref 1). Ref 2 is the only thing that
# states the mass of the stages and that is for the orignal RED_MRBM.
#
# For original RED_MRBM (Ref 2)
# Total = 14,664 kg
# Stage 1 = 10,000 kg
# Stage 2 = 4,000 kg
# Payload = 600 kg
# Assume the shroud is the remaining 64 kg
#
# For the RED_MRBM_1, we'll assume the shroud is the same 64 kg and the payload
# is 500 kg (Ref 1). We'll ratio the stage 1 and stage 2 masses.
#
# Total - Shroud - Payload = 15,200 - 64 - 500 = 14,636
# Stage 1 = 14,636 * (10,000 / 14,000) = 10,454
# Stage 2 = 14,636 * (4,000 / 14,000) = 4,182
# The burn times were set so as to match the ratio of the fuel masses.
# The specific impulse was tuned to get a match on maximium range.
stage 1
aero RED_MRBM_1_STAGE_1_AERO
total_mass 10454 kg
fuel_mass 8844 kg # 10,454 * 0.846 (using Ref 3)
specific_impulse 260 sec # Ref 4/5
thrust_duration 90 sec
end_stage
stage 2
aero RED_MRBM_1_STAGE_2_AERO
total_mass 4246 kg # Stage + shroud = 4182 + 64
fuel_mass 3538 kg # 4182 * 0.846 (using Ref 3)
specific_impulse 260 sec # Ref 4/5
thrust_duration 36 sec
end_stage
stage 3
aero RED_MRBM_1_RV_AERO
total_mass 500 kg # Ref 1
end_stage
end_mover
###############################################################################
processor RED_MRBM_1_GUIDANCE WSF_GUIDANCE_COMPUTER
# Go vertical for a short time.
phase LIFTOFF
guidance_delay 100.0 sec
# NOTE: Do not use altitude for the criteria for starting pitch over as
# trajectory is VERY sensitive to the TIME when pitch over starts. If it
# were to be used, a minor changes in the launcher altitude would cause
# pitch over to start at a different time!
next_phase PITCH_OVER when phase_time >= 2.0 sec # About 100 ft
end_phase
# Pitch over to the desired flight path angle from the launch computer.
phase PITCH_OVER
commanded_flight_path_angle from_launch_computer
proportional_navigation_gain 0.0 # Don't guide to target
velocity_pursuit_gain 0.0 # Don't guide to target
maximum_commanded_g 1.0 g
next_phase BALLISTIC when on_commanded_flight_path_angle
end_phase
# Continue flight without guidance (gravity turn).
phase BALLISTIC
# Turn the guidance processor off once pure ballistic mode is started.
# This shaves several percent off the processor time.
on_entry
TurnOff();
end_on_entry
guidance_delay 2000.0 sec
end_phase
end_processor
###############################################################################
platform_type RED_MRBM_1 WSF_PLATFORM
icon Scud_Missile
infrared_signature RED_MRBM_1_INFRARED_SIG
optical_signature RED_MRBM_1_OPTICAL_SIG
radar_signature RED_MRBM_1_RADAR_SIG
weapon_effects RED_MRBM_1_EFFECT
mover RED_MRBM_1_MOVER
#show_status
#debug
end_mover
processor guidance RED_MRBM_1_GUIDANCE
#show_status
#show_graphics
end_processor
processor fuse WSF_GROUND_TARGET_FUSE
# If the target is killed by another weapon we want to still keep going.
coast_time_on_loss_of_target 10000.0 secs
end_processor
weapon stage_1 WSF_EXPLICIT_WEAPON
launched_platform_type RED_MRBM_1_SPENT_STAGE_1
launch_delta_v -100.0 0.0 0.0 m/s
quantity 1
end_weapon
weapon stage_2 WSF_EXPLICIT_WEAPON
launched_platform_type RED_MRBM_1_SPENT_STAGE_2
launch_delta_v -100.0 0.0 0.0 m/s
quantity 1
end_weapon
script void on_stage_separation(int aStage)
extern Map<string, bool> SHOW_SPENT_STAGES;
if (SHOW_SPENT_STAGES["ALL"] ||
SHOW_SPENT_STAGES["RED_MRBM_1"])
{
if (aStage == 1) Weapon("stage_1").Fire(WsfTrack());
if (aStage == 2) Weapon("stage_2").Fire(WsfTrack());
}
end_script
end_platform_type
###############################################################################
launch_computer RED_MRBM_1_LAUNCH_COMPUTER WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER
surface_to_surface_table weapons/ssm/red_mrbm_1_launch_data.txt
end_launch_computer
###############################################################################
# Provide the aero and mass data to WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER. This
# is 'truth data' used by the launch computer for 'trajectory estimation'.
ballistic_missile_launch_computer
target_data RED_MRBM_1
aero RED_MRBM_1_RV_AERO # Aero type of final stage
mass 500 kg # Mass of final stage
end_target_data
end_ballistic_missile_launch_computer
###############################################################################
weapon RED_MRBM_1 WSF_EXPLICIT_WEAPON
# The location offset puts the weapon center at half the length - 1 m.
# This assumes the scenario creator puts the launching platform at 1 m agl.
location 0.0 0.0 -5.15 m # Ref 1, length = 12.3 m
launched_platform_type RED_MRBM_1
launch_computer RED_MRBM_1_LAUNCH_COMPUTER
end_launch_computer
# The missiles are launched vertically.
# We can't specify 90 degrees because of a singularity
tilt 89.9 degrees
# This causes a call to the launch computer to compute the predicted intercept.
# The launcher will then be cued to the proper angles (Subject to the slewing
# limits defined below). This is a bit of a hack until the guidance computer
# is changed...
cue_to_predicted_intercept true
slew_mode azimuth
azimuth_slew_limits -180 deg 180 deg
# Default to a single weapon on the vehicle
quantity 1
# Abort the launch if the launch computer didn't provide the required data
require_loft_angle
end_weapon