🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BlockThirdBodyGravity.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/BlockAstro.hpp"
25#include "AstCore/BlockDerivative.hpp"
26#include "AstCore/GravityCalculator.hpp"
27#include "AstCore/Axes.hpp"
28#include "AstMath/Vector.hpp"
29
30AST_NAMESPACE_BEGIN
31
66class AST_CORE_API BlockThirdBodyGravity : public BlockDerivative
67{
68public:
70 explicit BlockThirdBodyGravity(Point* thirdBody, GravityField&& gravityField,
71 int degree, int order, Axes* gravityAxes,
72 Frame* propagationFrame);
73
74 errc_t run(const SimTime& simTime) override;
75
77 void setConsiderVariations(bool considerVariations) { considerVariations_ = considerVariations; }
78protected:
79 Vector3d* posCBI{&vectorBuffer};
80 Vector3d* accThirdBody{&vectorBuffer};
81 Vector3d* velocityDerivative_{&vectorBuffer};
82 Vector3d vectorBuffer{};
83private:
84 void init();
85private:
86 Point* thirdBody_{};
87 HAxes gravityAxes_;
88 HAxes propagationAxes_;
89 Frame* propagationFrame_{};
90 GravityCalculatorDefault gravityCalculator_;
91 bool considerVariations_{false};
92};
93
94AST_NAMESPACE_END
轴系类
定义 Axes.hpp:70
导数函数块
定义 BlockDerivative.hpp:46
三体重力场函数块
定义 BlockThirdBodyGravity.hpp:67
void setConsiderVariations(bool considerVariations)
设置是否考虑重力场系数长期变化
定义 BlockThirdBodyGravity.hpp:77
坐标系类
定义 Frame.hpp:60
virtual errc_t run(const SimTime &simTime)=0
计算函数块
重力场系数
定义 GravityField.hpp:88
定义 Point.hpp:38
仿真时间
定义 SimTime.hpp:30