s2e-core
s2e-core copied to clipboard
Feature/upgrade thermal analysis
Related issues
#687
Description
The albedo calculation is now performed in the same way as for the calculation of solar heat input.
Test results
executed correctly
Impact
The behavior of thermal analysis feature changes.
Supplementary information
アルベド計算をおこない,太陽光入熱とともに軌道上熱入力計算に反映するようにしました.
基本的にはすでに実装されていた太陽光入熱関数を模擬する形で実装を進めましたが,太陽位置と地球位置を内部で取得するために,引数を
local_celestial_information->GetPositionFromSpacecraft_b_m(c_sun)
から
const LocalCelestialInformation* local_celestial_information
に変えています.その関係で若干まどろっこしくなっているところ(temperature.cpp 126〜143あたり)があります.
@kai0722 ありがとうございます。 検証結果の
executed correctly
について,より詳細に数字やグラフなどが載せられたら載せてもらえると嬉しいです。
ログファイルでいいですかね?
なるべくこちらがぱっと見て理解できるようにしてもらえると助かります :pray:
アルベド計算式で,衛星が地球の影に入っているときはアルベド0になることを考慮できていなかったので,追加する. はじめにS/Cベクトルと太陽方向ベクトルの内積を考えることで影or not を判定するようにする.
はじめにS/Cベクトルと太陽方向ベクトルの内積を考えることで影or not を判定するようにする
影判定はすでにLocaEnvironmentでやっているので、その機能を使ってください。
Test Resultsを追記した.デバッグ用のコンソール出力で見るのが一番楽∧わかりやすいかと.
Test Resultsを追記
ありがとうございます。ただ、蝕でその値が切り替わっているかなどまで見るには結局時系列のグラフが見やすいのではと思ったりします。あと、入力ファイルでどのような設定にしたらその値になるのかも知りたいです。
結果のグラフは https://github.com/ut-issl/s2e-core/pull/688#discussion_r1768729794 これの是非が議論され,改善が図られた後に作成する
修正をおこないました.
アルベドを含めた熱計算実行のためのiniファイルの設定ですが,
熱計算を行うための設定@satellite.ini
[THERMAL]
calculation = ENABLE
debug = ENABLE or DISABLE
solar_calc_setting = ENABLE
thermal_file_directory = INI_FILE_DIR_FROM_EXE/satellite/thermal_csv_files/
は前提として(これまでと変更なし),
@local_environment.ini
[EARTH_ALBEDO]
calculation = ENABLE
earth_albedo_factor = 0.3
を設定する必要があります(新規実装).
@kai0722 アルベドのiniファイルはその修正分もpushしてください。(ただし、計算のデフォルト値はDISABLEにしてください)
@kai0722 アルベドのiniファイルはその修正分もpushしてください。(ただし、計算のデフォルト値はDISABLEにしてください)
User側でいじっていたため失念していました.反映しました.
CI治ったのでそのビルドの中でwarningが出ていたので修正をお願いします。
D:\a\s2e-core\s2e-core\src\dynamics\thermal\node.cpp(46,10): warning C4189: 'earth_distance_m': local variable is initialized but not referenced [D:\a\s2e-core\s2e-core\src\dynamics\DYNAMICS.vcxproj]
修正しました