🛰️航天仿真算法库 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;
68 double altitudeCutOff_ = 10000.0;
69 } integrator_;
70};
71
74AST_NAMESPACE_END
直角坐标
定义 OrbitElement.hpp:46
定义 MotionHPOPSax.hpp:36
std::string stepControlMethod_
步长控制方法 (StepControlMethod)
定义 MotionHPOPSax.hpp:60
std::string interpolationMethod_
插值方法 (InterpolationMethod)
定义 MotionHPOPSax.hpp:67
std::string method_
积分器方法 (IntegMethod)
定义 MotionHPOPSax.hpp:59
定义 MotionOrbitDynamicsSax.hpp:41
作用域指针类
定义 ScopedPtr.hpp:65
值视图类
定义 ValueView.hpp:41
定义 MotionHPOPSax.hpp:38