radiation_pressure#

This module contains a set of factory functions for setting up the radiation pressure models of celestial bodies in an environment.

Functions#

cannonball(source_body, reference_area, ...)

Factory function for creating cannonball radiation pressure interface model settings.

panelled(source_body, emissivities, areas, ...)

Factory function for creating panelled radiation pressure interface model settings.

cannonball(source_body: str, reference_area: float, radiation_pressure_coefficient: float, occulting_bodies: List[str] = []) tudatpy.kernel.numerical_simulation.environment_setup.radiation_pressure.RadiationPressureInterfaceSettings#

Factory function for creating cannonball radiation pressure interface model settings.

Factory function for settings object, defining a cannonball radiation pressure interface model, In this model the effective force is co-linear with the vector from radiation source to the body experiencing the force.

Parameters:
  • source_body (str) – Name of body emitting the radiation.

  • reference_area (float) – Surface area that undergoes radiation pressure.

  • radiation_pressure_coefficient (float) – Radiation pressure coefficient.

  • occulting_bodies (list[str], default = [""]) – List of bodies causing (partial) occultation.

Returns:

Instance of the RadiationPressureInterfaceSettings derived CannonBallRadiationPressureInterfaceSettings class

Return type:

CannonBallRadiationPressureInterfaceSettings

Examples

In this example, we create RadiationPressureInterfaceSettings using a cannonball radiation pressure model. The radiating body is the Sun, the body experiencing the radiation pressure force is the “Spacecraft” body; occultations due to the Earth are taken into account:

# define parameters of the cannonball model
reference_area_radiation = 4.0
radiation_pressure_coefficient = 1.2
# define parameter for occulting body
occulting_bodies = [ "Earth" ]
# create radiation pressure interface settings
radiation_pressure_settings = environment_setup.radiation_pressure.cannonball(
    "Sun",
    reference_area_radiation,
    radiation_pressure_coefficient,
    occulting_bodies )
# add radiation pressure interface to "Spacecraft" body
environment_setup.add_radiation_pressure_interface( bodies, "Spacecraft", radiation_pressure_settings )
panelled(source_body: str, emissivities: List[float], areas: List[float], diffusion_coefficients: List[float], surface_normals_in_body_fixed_frame: List[numpy.ndarray[numpy.float64[3, 1]]], occulting_bodies: List[str] = []) tudatpy.kernel.numerical_simulation.environment_setup.radiation_pressure.RadiationPressureInterfaceSettings#

Factory function for creating panelled radiation pressure interface model settings.

Factory function for settings object, defining panelled radiation pressure interface model. In this model the solar radiation pressure force is derived from a so-called boxes-and-wings model.

Parameters:
  • source_body (str) – Name of body emitting the radiation.

  • emissivities (list[float]) – List containing the panels’ emissivities.

  • areas (list[float]) – List containing the panels’ areas.

  • diffusion_coefficients (list[float]) – List containing diffuse reflection coefficients of the panels.

  • surface_normals_in_body_fixed_frame (list[numpy.ndarray[numpy.float64[3, 1]]]) – List containing the (constant) surface normals of the panels, expressed in the body-fixed frame.

  • occulting_bodies (list[str], default = [""]) – List of bodies causing (partial) occultation.

Returns:

Instance of the RadiationPressureInterfaceSettings derived PanelledRadiationPressureInterfaceSettings class

Return type:

PanelledRadiationPressureInterfaceSettings

Examples

In this example, we create RadiationPressureInterfaceSettings using a panelled radiation pressure model. The radiating body is the Sun, the body experiencing the radiation pressure force is the boxes-and-wings - modelled “Spacecraft” body; occultations due to the Earth are taken into account:

# define parameters of the panelled model
emissivities = [0.1, 0.0, 0.1, 0.1]                 # emissivity of each panel
areas = [4.0, 6.0, 2.3, 2,3]                        # area of each panel
diffusion_coefficients = [0.46, 0.06, 0.46, 0.46]   # diffusion coefficient of each panel
panel_surface_normals = [                           # normals of each panel surfaces in body-fixed reference frame
    [0.0, 0.0, 1.0],
    [0.0, 0.0, -1.0],
    [1.0, 0.0, 0.0],
    [-1.0, 0.0, 0.0]
]
# define parameter for occulting body
occulting_bodies = [ "Earth" ]
# create radiation pressure interface settings
radiation_pressure_settings = environment_setup.radiation_pressure.panelled(
    "Sun",
    emissivities,
    areas,
    diffusion_coefficients,
    panel_surface_normals,
    occulting_bodies)
# add radiation pressure interface to "Spacecraft" body
environment_setup.add_radiation_pressure_interface( bodies, "Vehicle", radiation_pressure_settings )

Enumerations#

RadiationPressureType

Enumeration of available radiation pressure types.

class RadiationPressureType#

Enumeration of available radiation pressure types.

Members:

cannonball_radiation_pressure_interface :

panelled_radiation_pressure_interface :

solar_sailing_radiation_pressure_interface :

property name#

Classes#

RadiationPressureInterfaceSettings

Base class for providing settings for radiation pressure interface models.

CannonBallRadiationPressureInterfaceSettings

Class for defining model settings of a cannonball radiation pressure interface.

class RadiationPressureInterfaceSettings#

Base class for providing settings for radiation pressure interface models.

Functional (base) class for settings of radiation pressure interface models that require no information in addition to their type. Radiation pressure interface model settings requiring additional information must be defined using an object derived from this class.

class CannonBallRadiationPressureInterfaceSettings#

Class for defining model settings of a cannonball radiation pressure interface.

RadiationPressureInterfaceSettings derived class for cannonball radiation pressure interface model settings.