🛰️航天仿真算法库 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
30
AST_NAMESPACE_BEGIN
31
66
class
AST_CORE_API
BlockThirdBodyGravity
:
public
BlockDerivative
67
{
68
public
:
69
BlockThirdBodyGravity
();
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; }
78
protected
:
79
Vector3d* posCBI{&vectorBuffer};
80
Vector3d* accThirdBody{&vectorBuffer};
81
Vector3d* velocityDerivative_{&vectorBuffer};
82
Vector3d vectorBuffer{};
83
private
:
84
void
init();
85
private
:
86
Point
* thirdBody_{};
87
HAxes gravityAxes_;
88
HAxes propagationAxes_;
89
Frame* propagationFrame_{};
90
GravityCalculatorDefault gravityCalculator_;
91
bool
considerVariations_{
false
};
92
};
93
94
AST_NAMESPACE_END
ast::Axes
轴系类
定义
Axes.hpp:70
ast::BlockDerivative
导数函数块
定义
BlockDerivative.hpp:46
ast::BlockThirdBodyGravity
三体重力场函数块
定义
BlockThirdBodyGravity.hpp:67
ast::BlockThirdBodyGravity::setConsiderVariations
void setConsiderVariations(bool considerVariations)
设置是否考虑重力场系数长期变化
定义
BlockThirdBodyGravity.hpp:77
ast::Frame
坐标系类
定义
Frame.hpp:60
ast::FuncBlock::run
virtual errc_t run(const SimTime &simTime)=0
计算函数块
ast::GravityField
重力场系数
定义
GravityField.hpp:88
ast::Point
定义
Point.hpp:38
ast::SimTime
仿真时间
定义
SimTime.hpp:30
src
AstCore
Propagator
HPOP
BlockAstro
BlockThirdBodyGravity.hpp
制作者
1.12.0