The Fire Satellite model¶
The fire satellite model is a multidisciplinary test case that involves 3 disciplines: Power, Orbit and Attitude & control. This usecase has been firstly proposed by Wertz et al. [wertz1999].
The model deals with the design of a realistic satellite, the goal of which is to detect and monitor forest fires from Earth’s orbit, through the use of optical sensors. Three disciplines are needed to design this satellite. The orbit discipline is responsible of computing the orbit period, the satellite velocity, the maximal slewing angle and the eclipse period. The power discipline is used to estimate the total power of the system and the area of the solar arrays. Finally, the attitude & control discipline computes the total torque of the satellite and the power required for the attitude control system. These disciplines exchange several coupling variables. The multidisciplinary analysis that is used to compute the converged values of the coupling variables is performed through a Fixed Point Iteration algorithm.
This test case is composed of nine random variables. These variables are distributed according to truncated Normal distribution . The hyperparameters are the mean, the standard deviation, the lower bound and the upper bound.
: the altitude ()
: the power other than attitude control system ()
: the average solar flux ()
: the deviation of moment axis ()
: the moment arm for radiation torque ()
: the reflectance factor (-)
: the residual dipole of spacecraft ()
: the moment arm for aerodynamic torque ()
: the drag coefficient (-)
The three outputs of interest are:
: the total torque of the satellite ()
: the total power of the satellite ()
: the area of the solar array ()
Different deterministic quantities are also present:
: the speed of light,
: the maximum rotational velocity of reaction wheel,
: the number of reaction wheels that could be active, 3
: the slewing time period,
: the area reflecting radiation,
: the sun incidence angle,
: the magnetic moment of earth,
: the atmospheric density,
: the cross-sectional in flight direction,
: the holding power,
: the Earth gravity constant,
: the inherent degradation of array, 0.77
: the thickness of solar panels,
: the number of solar arrays, 3
: the degradation in power production capability,
: the lifetime of spacecraft,
: the length to width ratio of solar array, 3
: the distance between panels,
: the inertia of body, X axis,
: the inertia of body, Y axis,
: the inertia of body, Z axis,
: the average mass density to arrays,
: the power efficiency, 0.22
: the target diameter,
: the Earth radius,
We assume that the input variables are independent.
The following figure depicts the interaction between the disciplines.
The orbit discipline is defined as follows. First, the satellite velocity is computed from the Earth radius and the altitude .
with the Earth gravity constant. Then, the orbit period is calculated,
The eclipse period and maximum slewing angle are then computed,
with the target diameter.
The attitude and control discipline is governed by the following equations.
with
and
with the total torque, the slewing torque, the disturbance torque, the gravity gradient torque, the solar radiation torque, the magnetic field interaction torque, the aerodynamic torque.
The attitude control power is finally defined by
The power discipline has 16 inputs and computes the total solar array size and total power by,
with,
the power production capability at the end of life, defined by
the power production capability at the beginning of life, and
is the required power output. and are the satellite requirements during eclipse and daylight (here ). and are the time per orbit spent in eclipse and daylight.
Finally, the inertia can be derived as follows,
with the total moment of inertia in the three dimensions, that depends on,
with the length of the solar array, the width of the solar array, and the mass of the solar array.
Two tunings parameters are present :
: the tolerance on the fixed point iteration algorithm used in the multidisciplinary analysis, 1e-3
: the maximum number of iterations of the fixed point iteration algorithm used in the multidisciplinary analysis, 50
References¶
Load the use case¶
We can load this model from the use cases module as follows :
>>> from openturns.usecases import fireSatellite_function
>>> m = fireSatellite_function.FireSatelliteModel()
>>> # Load the Fire satellite use case (with 3 outputs: total torque, total power and solar array area)
>>> model = m.model()
>>> # Load the Fire satellite use case with total torque as output
>>> modelTotalTorque = m.modelTotalTorque()
>>> # Load the Fire satellite use case with total power as output
>>> modelTotalPower = m.modelTotalPower()
>>> # Load the Fire satellite use case with solar array area as output
>>> modelSolarArrayArea = m.modelSolarArrayArea()
API documentation¶
- class FireSatelliteModel
Data class for the Fire Satellite.
- Attributes:
- dimint
Dimension of the problem, dim = 9
- H
TruncatedNormal
Altitude (m) distribution First marginal, ot.TruncatedNormal(18e6,1e6,18e6-3e6,18e6+3e6)
- Pother
TruncatedNormal
Power other than ACS (W) distribution Second marginal, ot.TruncatedNormal(1000.0,50.0,1000.0-150.0,1000.0+150.0)
- Fs
TruncatedNormal
Average solar flux (W/m^2) distribution Third marginal, ot.TruncatedNormal(1400.0,20.0,1400.0-60.0,1400.0+60.0)
- theta
TruncatedNormal
Deviation of moment axis (deg) distribution Fourth marginal, ot.TruncatedNormal(15.0,1.0,15.0-3.0,15.0+3.0)
- Lsp
TruncatedNormal
Moment arm for radiation torque (m) distribution Fifth marginal, ot.TruncatedNormal(2.0,0.4,2.0-1.2,2.0+1.2)
- q
TruncatedNormal
Reflectance factor (-) distribution Sixth marginal, ot.TruncatedNormal(0.5,0.1,0.5-0.3,0.5+0.3)
- RD
TruncatedNormal
Residual dipole of spacecraft (A.m^2) distribution Seventh marginal, ot.TruncatedNormal(5.0,1.0,5.0-3.0,5.0+3.0)
- Lalpha
TruncatedNormal
Moment arm for aerodynamic torque (m) distribution Eighth marginal, ot.TruncatedNormal(2.0,0.4,2.0-1.2,2.0+1.2)
- Cd
TruncatedNormal
Drag coefficient (-) distribution Nineth marginal, ot.TruncatedNormal(1.0,0.3,1.0-0.9,1.0+0.9)
- inputDistribution
JointDistribution
The joint distribution of the input parameters.
- model
PythonFunction
The Fire Satellite model with H, Pother, Fs, theta, Lsp, q, RD, Lalpha and Cd as variables. This function retrieves three outputs : the total torque, the total power and the area of solar array
- modelTotalTorque
PythonFunction
The Fire Satellite model retrieving only the Total Torque as output, with H, Pother, Fs, theta, Lsp, q, RD, Lalpha and Cd as variables.
- modelTotalPower
PythonFunction
The Fire Satellite model retrieving only the Total Power as output, with H, Pother, Fs, theta, Lsp, q, RD, Lalpha and Cd as variables. This function retrieves three outputs : the total torque, the total power and the area of solar array
- modelSolarArrayArea
PythonFunction
The Fire Satellite model retrieving only the Solar Array Area as output, with H, Pother, Fs, theta, Lsp, q, RD, Lalpha and Cd as variables. This function retrieves three outputs : the total torque, the total power and the area of solar array
- cfloat
Speed of light, c = 2.9979e8 m/s
- omega_maxfloat
Maximum rotational velocity of reaction wheel, omega_max = 6000 rpm
- nint
Number of reaction wheels that could be active, n = 3
- delta_theta_slewfloat
Slewing time period, delta_theta_slew = 760 s
- Asfloat
Area reflecting radiation, As = 13.85 m^2
- ifloat
Sun incidence angle, i = 0 deg
- Mfloat
Magnetic moment of earth, M = 7.96e15 A.m^2
- rhofloat
Atmospheric density, rho = 5.1480e-11 kg/m^3
- Afloat
Cross-sectional in flight direction, A = 13.85 m^2
- Pholdfloat
Holding power, Phold = 20 W
- mufloat
Earth gravity constant, mu = 398600.4418e9 m^3/s^2
- Idfloat
Inherent degradation of array, Id = 0.77
- tfloat
Thickness of solar panels, t = 0.005 m
- n_saint
Number of solar arrays, n_sa = 3
- epsilon_degfloat
Degradation in power production capability, epsilon_deg = 0.0375 percent per year
- LTfloat
Lifetime of spacecraft, LT = 15 years
- r_lwfloat
Length to width ratio of solar array, r_lw = 3
- Dfloat
Distance between panels, D = 2 m
- I_bodyXfloat
Inertia of body, X axis, I_bodyX = 6200 kg.m^2
- I_bodyYfloat
Inertia of body, Y axis, I_bodyY = 6200 kg.m^2
- I_bodyZfloat
Inertia of body, Z axis, I_bodyZ = 4700 kg.m^2
- rho_safloat
Average mass density to arrays, rho_sa = 700 kg.m^3
- etafloat
Power efficiency, eta = 0.22
- phi_targetfloat
Target diameter, phi_target = 235000 m
- REfloat
Earth radius, RE = 6378140 m
- tolFPIfloat
Tolerance on Fixed Point Iteration used in the multidisciplinary analysis, tolFPI = 1e-3
- maxFPIIterint
Maximum number of iterations of Fixed Point Iteration used in the multidisciplinary analysis, maxFPIIter = 50
Methods
attitudeControl
(inputs)Function computing the attitude and control discipline outputs to retrieve the power of ACS and total torque
Function computing the multidisciplinary analysis to retrieve the total torque, the total power and the area of solar array
orbit
(inputs)Function computing the orbit discipline outputs and retrieve the slewing angle, the velocity, the orbit duration and the eclipse duration
power
(inputs)Function computing the power discipline outputs to retrieve the inertia, the total power and the area of solar array
Examples
>>> from openturns.usecases import fireSatellitefunction >>> # Load the FireSatellite model model >>> m = fireSatellitefunction.FireSatelliteModel()
- attitudeControl(inputs)
Function computing the attitude and control discipline outputs to retrieve the power of ACS and total torque
- Inputs:
dictionary of inputs of the Attitude and Control discipline
- multidisciplinaryAnalysis(x)
Function computing the multidisciplinary analysis to retrieve the total torque, the total power and the area of solar array
- X:
list of inputs
- orbit(inputs)
Function computing the orbit discipline outputs and retrieve the slewing angle, the velocity, the orbit duration and the eclipse duration
- Inputs:
dictionary of inputs of the Orbit discipline
- power(inputs)
Function computing the power discipline outputs to retrieve the inertia, the total power and the area of solar array
- Inputs:
dictionary of inputs of the Power discipline
Examples based on this use case¶
Example of multi output Kriging on the fire satellite model