Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Obstruction show/hide events between output times are ignored in masks

オープン 初心者向け
#133 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
70/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
python
領域
data

調査の方向性

fdsreader/bndf/obstruction.py の SubObstruction.get_visible_times から始めてください。ここでは show/hide イベントが出力時刻と完全に一致する場合にのみ適用されます。Mesh.get_obstruction_mask がその結果を使用します。時刻 t_e のイベントを、>= t_e を満たすすべての出力時刻に適用するように変更してください。実際の Obstruction および SubObstruction オブジェクトで構築したテストで、show と hide の時刻が出力時刻の間にある場合に、各出力時刻で正しい可視性が得られれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Found while reviewing #131.

SubObstruction.get_visible_times(times) (fdsreader/bndf/obstruction.py) only applies a show/hide event if its time is exactly one of the given output times:

for time in times:
    if time in self.show_times:
        hidden = False
    if time in self.hide_times:
        hidden = True

Show/hide times come from device/control activation and rarely coincide with slice/Plot3D/Smoke3D output times. An obstruction removed at t = 12.3 s with output every 1 s is therefore never hidden, and Mesh.get_obstruction_mask(times) masks it for the whole run. The time-dependent masks (to_global(masked=True) for slices, Plot3D and Smoke3D, and since #131 also 3D slices) are effectively constant for real cases.

Expected: an event at time t_e applies to all output times >= t_e (state of the obstruction at each output time).

A test should use real Obstruction/SubObstruction objects with show/hide times between output times; the tests in #131 use a fake obstruction that returns the visible times directly.

主要言語
Python
スター
76
フォーク
28
平均マージ
16時間 49分
マージ済み PR(30日)
28

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

FireDynamics/fdsreader のほかの issue

FireDynamics/fdsreader の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。