🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
MotionHPOPSax.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "MotionOrbitDynamicsSax.hpp"
25#include "AstCore/StateCartesian.hpp"
26#include "AstSim/MotionHPOP.hpp"
27
28AST_NAMESPACE_BEGIN
29
36{
37public:
39 double mass_{1000};
40 double dragCoefficient_{0.0};
41 double dragAreaMassRatio_{0.0};
42 double srpCoefficient_{0.0};
43 double srpArea_{0.0};
44 };
45 using MotionOrbitDynamicsSax::MotionOrbitDynamicsSax;
46 ~MotionHPOPSax() override = default;
47public:
48 errc_t begin(StringView name) override;
49 errc_t keyValue(StringView key, const ValueView& value) override;
50 errc_t getMotion(ScopedPtr<MotionProfile>& motion) override;
51public:
52protected:
53 double getMass() const {return spacecraftParam_.mass_;}
54private:
55 CartState cartState_{};
56 HPOPForceModel forceModel_{};
57 PhysicalParam spacecraftParam_{};
58 struct {
59 std::string method_{};
60 std::string stepControlMethod_{};
61 double errorTolerance_ = 1e-13;
62 double timeStep_ = 60.0;
63 double minStepSize_ = 1.0;
64 double maxStepSize_ = 86400.0;
65 bool reportOnFixedStep_ = true;
66 int interpolationSamplesM1_ = 7;
67 std::string interpolationMethod_{};
68 double altitudeCutOff_ = 10000.0;
69 } integrator_{};
70};
71
74AST_NAMESPACE_END
直角坐标
定义 OrbitElement.hpp:46
定义 MotionHPOPSax.hpp:36
定义 MotionOrbitDynamicsSax.hpp:41
作用域指针类
定义 ScopedPtr.hpp:65
值视图类
定义 ValueView.hpp:41
定义 MotionHPOPSax.hpp:38