public class BoxAndSolarArraySpacecraft extends Object implements RadiationSensitive, DragSensitive
该体可以是一个简单的与航天器轴对齐的平行六面体箱,也可以是一组由其面积和法向量定义的面板。一些面板可能是移动的,以模拟太阳能阵列(或可以指向任何方向的天线)。这应该可以准确处理大多数航天器的形状。该模型不考虑投影阴影。
可以选择考虑阻力力的升力分量。它可能只应用于再入计算,比常规轨道传播中的大气密度要高得多。升力分量是使用经验反射而不是漫反射(吸收后以可忽略的速度排气)的分子比率来计算的。没有升力(即当升力比设置为0时),阻力力沿大气相对速度方向。有升力(即当升力比设置为0到1之间的任何值时),阻力力取决于相对速度方向和面板法线方向。对于单个面板,如果相对速度是正对面的(即与面板法线对齐),则力在有或无升力时方向相同,但具有升力比设置为1.0时的大小是具有升力比设置为0.0时的两倍(因为在经验反射的情况下,大气分子以相同速度向后弹射)。
每个panel
都有自己的辐射和阻力系数。在轨道确定上下文中,不可能单独估计每个面板,因此getDragParametersDrivers()
返回一个表示应用于所有面板阻力系数的全局阻力乘法因子
的单个参数驱动器
,而getRadiationParametersDrivers()
返回一个表示应用于所有面板辐射系数的全局辐射乘法因子
的单个参数驱动器
。
ABSORPTION_COEFFICIENT, GLOBAL_RADIATION_FACTOR, REFLECTION_COEFFICIENT
DRAG_COEFFICIENT, GLOBAL_DRAG_FACTOR, LIFT_RATIO
Constructor and Description |
---|
BoxAndSolarArraySpacecraft(double xLength, double yLength, double zLength, ExtendedPVCoordinatesProvider sun, double solarArrayArea, org.hipparchus.geometry.euclidean.threed.Vector3D solarArrayAxis, double dragCoeff, double liftRatio, double absorptionCoeff, double reflectionCoeff)
构建具有最佳太阳能阵列照明的航天器模型。
|
BoxAndSolarArraySpacecraft(List<Panel> panels)
构建航天器模型。
|
Modifier and Type | Method and Description |
---|---|
static List<Panel> |
buildBox(double xLength, double yLength, double zLength, double drag, double liftRatio, double absorption, double reflection)
构建简单的平行六面体箱的面板。
|
static List<Panel> |
buildPanels(double xLength, double yLength, double zLength, ExtendedPVCoordinatesProvider sun, double solarArrayArea, org.hipparchus.geometry.euclidean.threed.Vector3D solarArrayAxis, double drag, double liftRatio, double absorption, double reflection)
构建简单的平行六面体箱的面板以及一个太阳能阵列面板。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
dragAcceleration(FieldSpacecraftState<T> state, T density, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> relativeVelocity, T[] parameters)
计算由阻力引起的加速度。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
dragAcceleration(SpacecraftState state, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters)
计算由阻力引起的加速度。
|
List<ParameterDriver> |
getDragParametersDrivers()
获取支持参数的驱动器。
|
List<Panel> |
getPanels()
获取组成主体的面板。
|
List<ParameterDriver> |
getRadiationParametersDrivers()
获取支持参数的驱动器。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
radiationPressureAcceleration(FieldSpacecraftState<T> state, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> flux, T[] parameters)
计算由辐射压力引起的加速度。
|
org.hipparchus.geometry.euclidean.threed.Vector3D |
radiationPressureAcceleration(SpacecraftState state, org.hipparchus.geometry.euclidean.threed.Vector3D flux, double[] parameters)
计算由辐射压力引起的加速度。
|
public BoxAndSolarArraySpacecraft(List<Panel> panels)
panels
- 组成主体的面板,太阳能阵列和天线(仅存储面积严格为正的面板)
public BoxAndSolarArraySpacecraft(double xLength, double yLength, double zLength, ExtendedPVCoordinatesProvider sun, double solarArrayArea, org.hipparchus.geometry.euclidean.threed.Vector3D solarArrayAxis, double dragCoeff, double liftRatio, double absorptionCoeff, double reflectionCoeff)
太阳能阵列的方向将使得每次太阳方向始终在由太阳能阵列旋转轴和太阳能阵列法向量定义的太阳能阵列子午面内。
xLength
- 沿X轴的主体长度(米)
yLength
- 沿Y轴的主体长度(米)
zLength
- 沿Z轴的主体长度(米)
sun
- 太阳模型
solarArrayArea
- 太阳能阵列的面积(平方米)
solarArrayAxis
- 卫星框架中的太阳能阵列旋转轴
dragCoeff
- 阻力系数(仅用于阻力)
liftRatio
- 升力比(当撞击航天器时经验反射而不是漫反射的大气分子比例,从而产生升力,介于0和1之间)
absorptionCoeff
- 吸收系数在0.0和1.0之间(仅用于辐射压力)
reflectionCoeff
- 在0.0和1.0之间的经验反射系数(仅用于辐射压力)
public List<ParameterDriver> getDragParametersDrivers()
getDragParametersDrivers
在接口 DragSensitive
public List<ParameterDriver> getRadiationParametersDrivers()
getRadiationParametersDrivers
在接口 RadiationSensitive
public org.hipparchus.geometry.euclidean.threed.Vector3D dragAcceleration(SpacecraftState state, double density, org.hipparchus.geometry.euclidean.threed.Vector3D relativeVelocity, double[] parameters)
计算包括所有航天器特定特征,如形状、面积和系数。
dragAcceleration
在接口 DragSensitive
state
- 当前状态
density
- 航天器位置处的大气密度
relativeVelocity
- 大气相对于航天器的相对速度,在与航天器轨道相同的惯性参考系中(米/秒)
parameters
- 力模型参数的值
public <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> dragAcceleration(FieldSpacecraftState<T> state, T density, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> relativeVelocity, T[] parameters)
计算包括所有航天器特定特征,如形状、面积和系数。
dragAcceleration
在接口 DragSensitive
T
- CalculusFieldElement的实例
state
- 当前状态
density
- 航天器位置处的大气密度
relativeVelocity
- 大气相对于航天器的相对速度,在与航天器轨道相同的惯性参考系中(米/秒)
parameters
- 力模型参数的值
public org.hipparchus.geometry.euclidean.threed.Vector3D radiationPressureAcceleration(SpacecraftState state, org.hipparchus.geometry.euclidean.threed.Vector3D flux, double[] parameters)
radiationPressureAcceleration
在接口 RadiationSensitive
state
- 当前状态
flux
- 与航天器轨道相同的辐射通量
parameters
- 力模型参数的值
public <T extends org.hipparchus.CalculusFieldElement<T>> org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> radiationPressureAcceleration(FieldSpacecraftState<T> state, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> flux, T[] parameters)
此方法实现了David A. Vallado的《Astrodynamics and Applications Fundamentals》第三版,2007年,Microcosm Press的第8-44方程。
radiationPressureAcceleration
在接口 RadiationSensitive
T
- 扩展CalculusFieldElement
state
- 当前状态
flux
- 与航天器轨道相同的辐射通量
parameters
- 力模型参数的值
public static List<Panel> buildBox(double xLength, double yLength, double zLength, double drag, double liftRatio, double absorption, double reflection)
xLength
- 体沿其X轴的长度(米)
yLength
- 体沿其Y轴的长度(米)
zLength
- 体沿其Z轴的长度(米)
drag
- 阻力系数
liftRatio
- 阻力升力比(大气分子在撞击太空船时经历镜面反射而不是漫反射的比例,从而产生升力,比例在0到1之间)
absorption
- 辐射压吸收系数(在0到1之间)
reflection
- 辐射压镜面反射系数(在0到1之间)
public static List<Panel> buildPanels(double xLength, double yLength, double zLength, ExtendedPVCoordinatesProvider sun, double solarArrayArea, org.hipparchus.geometry.euclidean.threed.Vector3D solarArrayAxis, double drag, double liftRatio, double absorption, double reflection)
xLength
- 体沿其X轴的长度(米)
yLength
- 体沿其Y轴的长度(米)
zLength
- 体沿其Z轴的长度(米)
sun
- 太阳模型
solarArrayArea
- 太阳能阵列的面积(平方米)
solarArrayAxis
- 卫星坐标系中的太阳能阵列旋转轴
drag
- 阻力系数
liftRatio
- 阻力升力比(大气分子在撞击太空船时经历镜面反射而不是漫反射的比例,从而产生升力,比例在0到1之间)
absorption
- 辐射压吸收系数(在0到1之间)
reflection
- 辐射压镜面反射系数(在0到1之间)
Copyright © 2002-2023 CS GROUP. All rights reserved.