🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BlockThirdBodyPointMass.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/BlockAstro.hpp"
25#include "AstCore/BlockDerivative.hpp"
26#include "AstMath/Vector.hpp"
27
28AST_NAMESPACE_BEGIN
29
51class AST_CORE_API BlockThirdBodyPointMass : public BlockDerivative
52{
53public:
55
57 BlockThirdBodyPointMass& operator=(const BlockThirdBodyPointMass&) = delete;
58
59 explicit BlockThirdBodyPointMass(Point* thirdBody, double thirdBodyGM, Frame* propagationFrame);
60
61 errc_t run(const SimTime& simTime) override;
62protected:
63 Vector3d* posCBI{};
64 Vector3d* accThirdBody{&vectorBuffer};
65 Vector3d* velocityDerivative_{&vectorBuffer};
66 Vector3d vectorBuffer{};
67protected:
68 Point* thirdBody_{};
69 double thirdBodyGM_;
70 Frame* propagationFrame_{};
71};
72
73AST_NAMESPACE_END
导数函数块
定义 BlockDerivative.hpp:46
三体点质量引力函数块
定义 BlockThirdBodyPointMass.hpp:52
double thirdBodyGM_
三体引力常量
定义 BlockThirdBodyPointMass.hpp:69
坐标系抽象基类
定义 Frame.hpp:62
virtual errc_t run(const SimTime &simTime)=0
计算函数块
点抽象基类
定义 Point.hpp:41
仿真时间
定义 SimTime.hpp:30