6. nPlateModel#

class nPlateModel(plates_names: list, plates_areas: ArrayWUnits, plates_crs: ArrayWUnits, plates_abs: ArrayWUnits, plates_dref: ArrayWUnits, plates_sref: ArrayWUnits, plates_u_vectors: ArrayWUnits, plates_types: list)#

Bases: Geometry

Plate model that is used to represent the spacecraft structure, used for the nPlate SRP modeling

Parameters:
  • plates_names (list) – List of strings containing unique names for each plate

  • plates_areas (ArrayWUnits) – The areas of each plate in square meters

  • plates_crs (ArrayWUnits) – Reflectivity coefficients of the panels (material property)

  • plates_abs (ArrayWUnits) – Absorption coefficients of the panels (material property)

  • plates_dref (ArrayWUnits) – Diffuse reflection coefficients of the panels (material property)

  • plates_sref (ArrayWUnits) – Specular coefficients of the panels (material property)

  • plates_u_vectors (ArrayWUnits) – Normal vectors of the panels

  • plates_types (list[str]) – List of strings either ‘Fixed’ or ‘CK’. ‘Fixed’ defines plates with a normal unit vector fixed to the body frame. ‘CK’ assigns plate with an unfixed normal unit vector.

See also

scarabaeus.Spacecraft

Ingests an nPlateModel for use in propagating n-plate dynamics.

scrabaeus.nPlateSRP

Utilizes nPlateModel to calculate solar radiation pressure.

Notes

References

Examples

## initial setup
import scarabaeus as scb

# generate units
km = scb.Units.get_units('km')

# define input parameters
plates_names     =                          ['plusX', 'minusX', 'plusY']
plates_areas     = scb.ArrayWUnits(np.array([ 1e-06 ,  1e-06  ,  1e-06 ]), km**2)
plates_crs       = scb.ArrayWUnits(np.array([  1.5  ,   1.5   ,   1.5  ]), None)
plates_abs       = scb.ArrayWUnits(np.array([  0.33 ,  0.33   ,  0.33  ]), None )
plates_dref      = scb.ArrayWUnits(np.array([  0.33 ,  0.33   ,  0.33  ]), None )
plates_sref      = scb.ArrayWUnits(np.array([  0.34 ,  0.34   ,  0.34  ]), None )
plates_u_vectors = scb.ArrayWUnits(np.array([[1,0,0], [-1,0,0], [0,1,0]]), None )
plates_ypes      =                          ['Fixed', 'Fixed' , 'CK'   ]

# use parameters to define the model
n_plate = scb.nPlateModel(plates_names, plates_areas, plates_crs, plates_abs,
                          plates_dref, plates_sref, plates_u_vectors, plates_types)

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.

plates_abs

Absorption coefficient of the plate.

plates_areas

Surface area of the plate.

plates_crs

Reflectivity coefficients of the plate.

plates_dref

Diffuse reflection coefficient of the plate.

plates_names

Names associated to the panels (e.g. spacecraft, asteroid, etc.).

plates_sref

Specular refleciton coefficient of the plate.

plates_types

Type of the plate panel (e.g. 'Fixed' or 'CK').

plates_u_vectors

Normal vector of the plate.

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 plates_abs: list#

Absorption coefficient of the plate.

property plates_areas: list#

Surface area of the plate.

property plates_crs: list#

Reflectivity coefficients of the plate.

property plates_dref: list#

Diffuse reflection coefficient of the plate.

property plates_names: list#

Names associated to the panels (e.g. spacecraft, asteroid, etc.).

property plates_sref: list#

Specular refleciton coefficient of the plate.

property plates_types: list#

Type of the plate panel (e.g. ‘Fixed’ or ‘CK’).

property plates_u_vectors: list#

Normal vector of the plate.

property ref_coeff: float#

The reflectivity coefficient of the spacecraft.

property spice_id: int | str#

The SPICE ID of the Body object.