9. Spacecraft#

class Spacecraft(name: str, spice_id: int | str, dry_mass: ArrayWUnits, dv_fuel_mass: ArrayWUnits, fb_fuel_mass: ArrayWUnits, area: ArrayWUnits = None, ref_coeff: float = None, n_plate_model=None, instrument_list: list = [])#

Bases: Body

Represents a spacecraft body.

Parameters:
  • name (str) – The name of the spacecraft.

  • spice_id (int | str) – The NAIF ID code of the object. May be given as an integer ID or as a string.

  • dry_mass (ArrayWUnits) – The overall mass of the spacecraft excluding the propellant. Recommend expressed in units of kilograms.

  • dv_fuel_mass (ArrayWUnits) – The mass of the spacecraft’s fuel used for delta-v burns. Recommend expressed in units of kilograms.

  • fb_fuel_mass (ArrayWUnits) – The mass of the spacecraft’s fuel used for finite burns. Recommend expressed in units of kilograms.

  • area (ArrayWUnits, optional) – The cross-sectional area of the spacecraft. Recommend expressed in units of \(m^2\). Defaults to None.

  • ref_coeff (float, optional) – The reflectivity coefficient of the spacecraft. Defaults to None.

  • n_plate_model (nPlateModel, optional) – The n-plate model that describes the shape and physical parameters of the spacecraft. Defaults to None.

  • instrument_list (list[Instrument], optional) – The Instrument objects attached to the spacecraft. Defaults to [].

Attributes

area

The cross-sectional area of the spacecraft.

dry_mass

The dry mass of the spacecraft.

dv_fuel_mass

The mass of the fuel spent during delta-v burns.

fb_fuel_mass

The mass of the fuel spent during finite burns.

instrument_list

The list of instruments attached to the spacecraft.

mass

The mass of the Body object.

n_plate_model

The N-Plate model representing the spacecraft's geometry.

name

The name of the spacecraft.

ref_coeff

The reflectivity coefficient of the spacecraft.

spice_id

The SPICE ID of the Body object.

Methods

add_instrument(instruments)

Adds an instrument or instruments to the spacecraft.

get_state(epoch_0[, reference_frame, origin])

Retrieves the state of the body relative to a given origin in a specified reference frame.

add_instrument(instruments) None#

Adds an instrument or instruments to the spacecraft.

Parameters:

instruments (Instrument or list of Instrument) – The instrument or instruments to be attached to the spacecraft.

Return type:

None

get_state(epoch_0, reference_frame: str = 'J2000', origin: str = 'EARTH')#

Retrieves the state of the body relative to a given origin in a specified reference frame.

Parameters:
  • epoch_0 (EpochArray) – The epoch times for which the state is to be computed.

  • reference_frame (str) – The reference frame in which the state is desired. Defaults to ‘J2000’.

  • origin (str) – The origin body relative to which the state is computed. Defaults to 'EARTH'.

Returns:

state_vector – The state vector of the body relative to the origin.

Return type:

ArrayWUnits

property area: ArrayWUnits#

The cross-sectional area of the spacecraft. Expressed in units of square meters.

property dry_mass: ArrayWUnits#

The dry mass of the spacecraft. Expressed in units of kilograms.

property dv_fuel_mass: ArrayWUnits#

The mass of the fuel spent during delta-v burns. Expressed in units of kilograms.

property fb_fuel_mass: ArrayWUnits#

The mass of the fuel spent during finite burns. Expressed in units of kilograms.

property instrument_list: list#

The list of instruments attached to the spacecraft.

property mass: ArrayWUnits#

The mass of the Body object.

property n_plate_model#

The N-Plate model representing the spacecraft’s geometry.

property name: str#

The name of the spacecraft.

property ref_coeff: float#

The reflectivity coefficient of the spacecraft.

property spice_id: int | str#

The SPICE ID of the Body object.