🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
DragForce.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "ForceModel.hpp"
25#include <string>
26
27AST_NAMESPACE_BEGIN
28
36enum class EAtmDensityModel
37{
38 eNone,
39 e1976Standard,
40 eHarrisPriester,
41 eJacchia60,
42 eJacchia70,
43 eJacchia71,
44 eJacchiaRoberts,
45 eMSIS1986,
46 eMSISE1990,
47 eNRLMSISE2000,
48 eCIRA72,
49 eDTM2012,
50};
51
52
53enum class EGeoMagFluxSource
54{
55 eKp,
56 eAp,
57};
58
59enum class EGeoMagFluxUpdateRate
60{
61 eDaily,
62 e3Hourly,
63 e3HourlyInterp,
64 e3HourlyCubicSpline,
65};
66
68class AST_CORE_API DragForce : public ForceModel
69{
70public:
71 AST_OBJECT(DragForce)
72 DragForce() = default;
73 ~DragForce() = default;
74
76 double ap() const;
77
78public:
81 EAtmDensityModel atmDensityModel_{EAtmDensityModel::e1976Standard};
82 EAtmDensityModel lowAltAtmDensityModel_{EAtmDensityModel::eNone};
83 double atmBlendingRange_{0.0};
85
86
89 bool useFluxApFile_{false};
90
93 double f10p7Average_{150.0};
94 double f10p7Daily_{150.0};
95 double kp_{3.0};
97
100 std::string fluxApFile_{};
101 EGeoMagFluxUpdateRate geoMagFluxUpdateRate_{EGeoMagFluxUpdateRate::eDaily};
102 EGeoMagFluxSource geoMagFluxSource_{EGeoMagFluxSource::eKp};
103 double geoMagFluxInterpSubSamplingRatio_{1.0};
106
107
110 bool useApproxAltForDrag_{false};
111 ESunPosition sunPosition_{ESunPosition::eTrue};
113};
114
117AST_NAMESPACE_END
118
大气阻力模型
定义 DragForce.hpp:69
力模型
定义 ForceModel.hpp:50
ESunPosition
太阳位置
定义 SunPosition.hpp:35