radiation_pressure
#
This module contains a set of factory functions for setting up the radiation pressure models of celestial bodies in an environment.
Functions#
|
Factory function for creating cannonball radiation pressure interface model settings. |
|
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
- Returns
Instance of the
RadiationPressureInterfaceSettings
derivedCannonBallRadiationPressureInterfaceSettings
class- Return type
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.
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
derivedPanelledRadiationPressureInterfaceSettings
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#
Enumeration of available radiation pressure types. |
Classes#
Base class for providing settings for radiation pressure interface models. |
|
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.