shape_deformation¶
This module contains a set of factory functions for setting up the shape deformation models of celestial bodies in an environment.
The main interfaces with Tudat is the shape_deformation_settings list
attribute (with entries of type BodyShapeSettings) of the body settings, which defines settings for the global shape deformation model of a body.
The functions in this submodule are used to create these settings objects. When creating a body (typically using the
create_system_of_bodies() function), a list of objects of type
BodyShapeDeformationModel (or a derived class) is created
and added to the associated Body object based on the settings object, which can
be retrieved using the shape_deformation_model attribute.
The shape deformation models are used for global shape variations of a celestial body, which are used (for instance) for the high-accuracy modelling of the positions of ground stations on a body. Station-specific models for position variations of a station (such as plate motion) are set in the ground stations themselves (see ground_station).
Functions¶
|
Function for creating basic tidal solid-body shape deformation |
|
Function for creating degree 2 basic tidal solid-body shape deformation |
Function for creating full IERS 2010 solid Earth tide shape deformation model |
|
|
Function for creating IERS 2010 ocean tide deformation model |
Function for creating IERS 2010 pole tide deformation model |
- basic_solid_body_tidal(tide_raising_bodies: list[str], displacement_love_numbers: dict[int | SupportsIndex, tuple[float | SupportsIndex, float | SupportsIndex]], reference_radius: float | SupportsIndex = nan) tudatpy.kernel.dynamics.environment_setup.shape_deformation.BasicSolidBodyDeformationSettings¶
Function for creating basic tidal solid-body shape deformation
Function for creating basic tidal solid-body shape deformation, computing the tidal shape variation due to any number of bodies causing the deformation, and a tidal response define by the deformation Love and Shida numbers \(h_{m}\) and \(l_{m}\) (with only \(m=2,3\) currently supported). This function implements equations (7.5) and (7.6) of the IERS Conventions 2010.
- Parameters:
tide_raising_bodies (list[ string ]) – List of bodies that raise a tide that induces the shape variation.
displacement_love_numbers (dict[ int, [float,float] ]) – Dictionary of pairs. The dictionary key the spherical harmonic degree \(l\) of the tidal deformation (2 or 3 are currently supported). The dictionary value is comprised of a pair of floats representing the \(h_{2}\) and \(l_{2}\) deformation Love numbers
reference_radius (float, default = NaN) – Spherical harmonic reference radius of the deformed body. If this value is left undefined (e.g at NaN), the reference radius of the existing spherical harmonic gravity field of the deformed body is used.
- Returns:
Instance of the
BodyDeformationSettingsderivedBasicSolidBodyDeformationSettingsclass- Return type:
Examples
In this example, we create a settings for degree 2 tidal deformation of the Earth due to the Sun and Moon:
# Create Love numbers love_numbers = dict() love_numbers[2] = (0.6, 0.08) # Create tide raising bodies tide_raising_bodies = ["Sun", "Moon"] # Append shape variation settings to existing (default is empty) list body_settings.get( "Earth" ).shape_deformation_settings.append( environment_setup.shape_deformation.basic_solid_body_tidal( tide_raising_bodies, love_numbers ) )
- degree_two_basic_solid_body_tidal(tide_raising_bodies: list[str], love_number: float | SupportsIndex, shida_number: float | SupportsIndex, reference_radius: float | SupportsIndex = nan) tudatpy.kernel.dynamics.environment_setup.shape_deformation.BasicSolidBodyDeformationSettings¶
Function for creating degree 2 basic tidal solid-body shape deformation
Function for creating basic tidal solid-body shape deformation, computing the tidal shape variation due to any number of bodies causing the deformation, and a tidal response define by the deformation Love and Shida numbers \(h_{2}\) and \(l_{2}\). This function implements equations (7.5) of the IERS Conventions 2010, and provides a simplified interface (for degree 2 only) of
basic_solid_body_tidal().- Parameters:
tide_raising_bodies (list[ string ]) – List of bodies that raise a tide that induces the shape variation.
love_number (float) – Value of \(h_{2}\) deformation Love number`
shida_number (float) – Value of \(l_{2}\) deformation Shida number`
reference_radius (float, default = NaN) – Spherical harmonic reference radius of the deformed body. If this value is left undefined (e.g at NaN), the reference radius of the existing spherical harmonic gravity field of the deformed body is used.
- Returns:
Instance of the
BodyDeformationSettingsderivedBasicSolidBodyDeformationSettingsclass- Return type:
Examples
In this example, we create a settings for degree 2 tidal deformation of the Earth due to the Sun and Moon:
# Create Love numbers h2_love_number = 0.6 l2_shida_number = 0.08 # Create tide raising bodies tide_raising_bodies = ["Sun", "Moon"] # Append shape variation settings to existing (default is empty) list body_settings.get( "Earth" ).shape_deformation_settings.append( environment_setup.shape_deformation.degree_two_basic_solid_body_tidal( tide_raising_bodies, h2_love_number, l2_shida_number ) )
- iers_2010_solid_body_tidal() tudatpy.kernel.dynamics.environment_setup.shape_deformation.BodyDeformationSettings¶
Function for creating full IERS 2010 solid Earth tide shape deformation model
Function for creating full IERS 2010 solid Earth tide shape deformation model, computing the tidal shape variation due to the full model defined in Section 7.1.1 of the IERS Conventions 2010, implementing Eqs. (7.5)-(7.13), including all terms from Tables 7.3a and 7.3b. At present, none of the input parameters of the model can be varied.
- Returns:
Instance of the
BodyDeformationSettingsdefining the IERS 2010 settings- Return type:
- ocean_tidal(blq_files: list[str]) tudatpy.kernel.dynamics.environment_setup.shape_deformation.BodyDeformationSettings¶
Function for creating IERS 2010 ocean tide deformation model
Function for creating IERS 2010 ocean tide deformation model, implementing the 11 main tidal modes, as described ion Section 7.1.2 (Equation 7.16 specifically) of the IERS Conventions 2010. This function requires BLQ files for the stations under consideration, which can be queried on the Ocean Loading Provider
- Parameters:
blq_files (list[ string ]) – List of blq files defining ocean tide amplitudes and phases for the requested stations
- Returns:
Instance of the
BodyDeformationSettingsderived class- Return type:
- pole_tidal() tudatpy.kernel.dynamics.environment_setup.shape_deformation.BodyDeformationSettings¶
Function for creating IERS 2010 pole tide deformation model
Function for creating IERS 2010 2010 pole tide deformation model, computing the shape variation as a result of polar-motion induced rotational variation, as described ion Section 7.1.4 of the IERS Conventions 2010
- Returns:
Instance of the
BodyDeformationSettingsderived class- Return type:
Classes¶
Base class for providing settings for body shape deformation model. |
|
Class for defining model settings for simple tidal solid-body shape deformation. |
- class BodyDeformationSettings¶
Bases:
pybind11_objectBase class for providing settings for body shape deformation model.
Functional (base) class for settings of body shape deformation models that require no information in addition to their type. Body shape deformation model settings requiring additional information must be defined using an object derived from this class.
- class BasicSolidBodyDeformationSettings¶
Bases:
BodyDeformationSettingsClass for defining model settings for simple tidal solid-body shape deformation.
BodyDeformationSettings derived class for simple tidal solid-body shape deformation.