🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
BlockDragPartial.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstCore/BlockDrag.hpp"
25#include "AstMath/Matrix.hpp"
26
27AST_NAMESPACE_BEGIN
28
73class AST_CORE_API BlockDragPartial : public BlockDrag
74{
75public:
77
78 BlockDragPartial(const BlockDragPartial&) = delete;
79 BlockDragPartial& operator=(const BlockDragPartial&) = delete;
80
81 BlockDragPartial(Atmosphere* atmosphere, double dragCoefficient, double dragArea, Frame* propagationFrame);
82
83 errc_t run(const SimTime& simTime) override;
84
86 void setUseDragSensitivity(bool v) { useDragSensitivity_ = v; }
87private:
88 void init();
89
103 Matrix3d computeDensityGradientContribution(const Vector3d& relVelocity, double relSpeed, double k,
104 const TimePoint& tp, const Vector3d& posInAtmosFrame, double density, const Matrix3d& rotToAtmos);
105
106 Matrix6d* aMatrixPtr_{&aMatrixBuffer_};
107 Matrix6d aMatrixBuffer_{};
108
109 bool useDragSensitivity_{false};
110 Vector3d* accSensitivityToDrag_{&accSensitivityToDragBuffer_};
111 Vector3d accSensitivityToDragBuffer_{};
112};
113
116AST_NAMESPACE_END
大气模型基类
定义 Atmosphere.hpp:48
大气阻力偏导数(梯度)函数块
定义 BlockDragPartial.hpp:74
void setUseDragSensitivity(bool v)
设置是否启用弹道系数B敏感度传播
定义 BlockDragPartial.hpp:86
大气阻力函数块
定义 BlockDrag.hpp:57
errc_t run(const SimTime &simTime) override
计算函数块
定义 BlockDrag.cpp:109
坐标系抽象基类
定义 Frame.hpp:62
仿真时间
定义 SimTime.hpp:30
绝对时间点
定义 TimePoint.hpp:108