Eclipse Shadow Model (Dual Cone)
Libraries:
Aerospace Blockset /
Environment /
Celestial Phenomena
Alternative Configurations of Eclipse Shadow Model (Dual Cone) Block:
Eclipse Shadow Model (Cylindrical)
Description
The Eclipse Shadow Model (Dual Cone) block calculates the fraction of the solar disk that is visible from the provided inertial positions, assuming that the occulted bodies and the Sun are spherical. The block operates with two shadow models:
Dual cone model — The block differentiates between partial, annular, and total eclipse, which means the spacecraft can be in sunlight, penumbra, antumbra, or umbra. The eclipse is partial in penumbra, annular in antumbra, and total in umbra. In summary:
Umbra, no sunlight — 0
Penumbra or Antumbra, partial sunlight — 0 to 1
Full sunlight — 1
Cylindrical model — The block differentiates only between total eclipse (umbra) and full sunlight. For more information, see Alternative Configurations section.
Umbra, no sunlight — 0
Full sunlight — 1
Ports
Input
Position of the spacecraft with respect to ICRF coordinate system, specified as a 3-element vector or M-by-3 array, where M is the number of spacecraft. The Units parameter controls the units designation.
Data Types: double
Julian date specified as a scalar.
Dependencies
To enable this port, set Dialog to Port
(Julian date)
.
Data Types: double
Julian date epoch from which to base elapsed Julian time, specified as a scalar.
Dependencies
To enable this port, set Dialog to Port (T0
and elapsed Julian time)
.
Data Types: double
Elapsed Julian time with respect to ΔTJD, specified as a scalar elapsed time.
Dependencies
To enable this port, set Dialog to Port (T0
and elapsed Julian time)
.
Data Types: double
Custom central body position with respect to the solar system barycenter, in the ICRF coordinate frame.
Dependencies
To enable this port, set Central body to
Custom
.
Data Types: double
Output
Fraction of visible Sun (eclipse), returned as a scalar or vector of size M. M is the number of input spacecraft.
Dependencies
When the Shadow model parameter is set to
Dual cone
, the values are0
(Umbra), between0
and1
(Penumbra or Antumbra), or1
(Sunlight).When the Shadow model parameter is set to
Cylindrical
, the values are0
(Umbra) or1
(Sunlight).
Data Types: double
Region depending on Shadow model value, returned as a scalar or M-element vector of integers. M is the number of spacecraft.
When the Shadow model parameter is set to
Dual cone
, region can be0
(Umbra), between0
and1
(Penumbra or Antumbra), or1
(Sunlight).When the Shadow model parameter is set to
Cylindrical
, region can be0
(Umbra) or1
(Sunlight).
Dependencies
To enable this port:
Select the Output index of shadow region check box.
Data Types: int32
Region depending on Shadow model value, returned as a scalar or M-element vector of integers. M is the number of spacecraft.
When the Shadow model parameter is set to
Dual cone
, region can be0
(Umbra), between0
and1
(Penumbra or Antumbra), or1
(Sunlight).When the Shadow model parameter is set to
Cylindrical
, region can be0
(Umbra) or1
(Sunlight).
Dependencies
To enable this port, select the Output index of shadow region check box and one of these settings:
Set Central body to
Earth
.Select Include Moon.
or:
Set Central body to
Moon
.Select Include Earth.
Data Types: int32
Parameters
Position port units, specified as one of these values:
Units | Distance |
---|---|
Metric (m) | meters |
Metric (km) | kilometers |
English (ft) | feet |
English (M) | miles |
Programmatic Use
Block Parameter:
units |
Type: character vector |
Values:
'Metric (m)' | 'Metric (km)' |
'English (ft)' | 'English (M)' |
Default:
'Metric (m)' |
Shadow model for eclipse calculations, specified as one of these values.
Cylindrical
— Fraction can be 0.0 (Umbra) or 1.0 (Sunlight).Dual cone
— Fraction can be 0.0 (Umbra), between 0.0 and 1.0 (Penumbra or Antumbra), or 1.0 (Sunlight).
Programmatic Use
Block Parameter: shadowModel |
Type: character vector |
Values: 'Dual cone' | 'Cylindrical' |
Default:
'Dual cone' |
To enable the port for the index of the shadow region, select this check box. Otherwise, clear this check box.
Programmatic Use
Block Parameter:
outputShadowRegion |
Type: character vector |
Values:
'off' | 'on' |
Default:
'on' |
Time source method, specified as one of these values:
Dialog
— Block dialog parameter.Port (Julian date)
— TJD port.Port (T0 and elapsed Julian time)
— TJD and ΔTJD ports.
Programmatic Use
Block Parameter:
timeSource |
Type: character vector |
Values:'Dialog' |
'Port (Julian date)' | 'Port (T0 and elapsed Julian
time)' |
Default:
'Dialog' |
Initial start date and time of simulation, specified as a valid scalar Julian date. To determine the current time at each simulation timestep, the block adds elapsed simulation time to this value.
Tip
To calculate the Julian date, use the juliandate
function.
Dependencies
To enable this parameter, set Time source to
Dialog
.
Programmatic Use
Block Parameter:
startDate |
Type: character vector |
Values:'juliandate(2020, 1,
1)' | valid scalar Julian date |
Default:
'juliandate(2020, 1, 1)' |
Occulting celestial body for eclipse calculations, specified as
Earth
, Moon
,
Mercury
, Venus
,
Mars
, Jupiter
,
Saturn
, Uranus
,
Neptune
, or Custom
.
Position inputs are referenced with respect to the origin of the central body.
Programmatic Use
Block Parameter:
centralBody |
Type: character vector |
Values:
'Earth' | 'Moon' |'Mercury'
| 'Venus' | 'Mars' |
'Jupiter' | 'Saturn' |
'Uranus' | 'Neptune' |
'Custom' | |
Default:
'Earth' |
Equatorial radius for a custom central body, specified as a double scalar in the units specified in the Units parameter..
Dependencies
To enable this parameter, set Central body to
Custom
.
Programmatic Use
Block Parameter:
customR |
Type: character vector |
Values:
'3396200' | double scalar |
Default:
'3396200' |
Option to include Moon as a secondary occulting body in eclipse calculations when central body is Earth.
Dependencies
Set the Central body parameter to
Earth
.
Programmatic Use
Block Parameter:
includeMoon |
Type: character vector |
Values:
'off' | 'on' |
Default:
'on' |
Option to include Earth as a secondary occulting body in eclipse calculations when central body is Moon.
Dependencies
Set the Central body parameter to
Moon
.
Programmatic Use
Block Parameter:
includeEarth |
Type: character vector |
Values:
'off' | 'on' |
Default:
'on' |
Select one of these ephemerides models defined by the Jet Propulsion Laboratory.
Ephemeris Model | Description |
---|---|
| Released in 1998. This ephemeris takes into account the Julian date range 2305424.50 (December 9, 1599) to 2525008.50 (February 20, 2201). This block implements these ephemerides with respect to the International Celestial Reference Frame version 1.0, adopted in 1998. |
| Released in 2008. This ephemeris takes into account the Julian date range 2414992.5 (December 4, 1899) to 2469808.5 (January 2, 2050). This block implements these ephemerides with respect to the International Celestial Reference Frame version 1.0, adopted in 1998. |
| Released in 2010. This ephemeris takes into account the Julian date range 2378480.5 (December 16, 1799) to 2524624.5 (February 1, 2200). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
| Released in 2013. This ephemeris takes into account the Julian date range 2287184.5 (December 21, 1549) to 2688976.5 (January 25, 2650). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
| Released in April 2014. This ephemeris takes into account the Julian date range 2287184.5, (December 21, 1549 ) to 2688976.5, (January 25, 2650). This block implements these ephemerides with respect to the International Celestial Reference Frame version 2.0, adopted in 2010. |
Note
This block requires that you download ephemeris data using the Add-On Explorer. To
start the Add-On Explorer, in the MATLAB® Command Window, type aeroDataPackage
. In the MATLAB desktop toolstrip, click Add-Ons.
Programmatic Use
Block Parameter: ephemerisModel |
Type: character vector |
Values: DE405 | DE421 | DE423 | DE430 |
Default: 'DE405' |
Control how much data is loaded into memory during simulation and how much data is included in generated code for the block:
Clear this check box to include data for the complete date range defined in the Ephemeris model table.
Select this check box to limit the loading of ephemeris data to a specified date range.
Programmatic Use
Block Parameter:
useDateRange |
Type: character vector |
Values: 'off' |
'on' | |
Default: 'on' |
Start date of ephemerides date range, specified as a Julian date.
Dependencies
To enable this parameter:
Set the Propagation method parameter to
Numerical (high precision)
.Select the Limit ephemerides date range parameter.
Programmatic Use
Block Parameter: startDate |
Type: character vector |
Values: 'juliandate(2020, 1, 1)' | Julian date |
Default: 'juliandate(2020, 1, 1)' |
End date of ephemerides date range, specified as a Julian date.
Dependencies
To enable this parameter, select the Limit ephemerides date range check box.
Dependencies
To enable this parameter:
Set the Propagation method parameter to
Numerical (high precision)
.Set the Limit ephemerides date range parameter to
on
.
Programmatic Use
Block Parameter: endDate |
Type: character vector |
Values: 'juliandate(2050, 1, 1)' | Julian format date |
Default: 'juliandate(2050, 1, 1)' |
Out-of-range block behavior, specified as one of these values:
Action | Description |
---|---|
None
| No action. |
Warning
| Warning in the Diagnostic Viewer, model simulation continues. |
Error (default) | Error in the Diagnostic Viewer, model simulation stops. |
Programmatic Use
Block Parameter:
action |
Type: character vector |
Values: 'None' |
'Warning' | 'Error' |
Default: 'Error' |
Select to enable zero-crossing detection, allowing Eclipse Shadow Model (Dual Cone) to identify zero crossings when transiting in and out of eclipse. For more information, see Zero-Crossing Detection.
Programmatic Use
Parameter: zeroCrossing |
Type: character vector, string |
Values: 'on' | 'off' |
Default: 'off' |
Alternative Configurations
The Eclipse Shadow Model (Cylindrical) block calculates a fraction of the solar disk visible at inertial positions while assuming that:
The Sun is infinitely far from the occulting bodies and the spacecraft.
All rays of sunlight are parallel.
The block cannot differentiate between partial, annular, and total eclipse, which means the that the eclipse is either full sunlight or umbra only.
Differences between this block and the Eclipse Shadow Model (Cylindrical) include:
Shadow model is
Cylindrical
by default.Output index of shadow region is cleared by default, resulting in only the output Fraction port appearing by default.
Libraries:
Aerospace Blockset /
Environment /
Celestial Phenomena
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2023bThe Eclipse Shadow Model (Dual Cone) and Eclipse Shadow Model (Cylindrical) blocks now support zero-crossing detection. This change enables the blocks to identify when zero crossings transit in and out of eclipse.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)