Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#133 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
70/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
data

Línea de trabajo

Empieza en fdsreader/bndf/obstruction.py, en SubObstruction.get_visible_times, donde los eventos de mostrar/ocultar solo coinciden con los tiempos de salida exactos; Mesh.get_obstruction_mask consume su resultado. Cámbialo para que un evento en el tiempo t_e se aplique a todos los tiempos de salida >= t_e. Está terminado cuando una prueba construida con objetos reales Obstruction y SubObstruction, con tiempos de mostrar y ocultar entre tiempos de salida, da la visibilidad correcta en cada tiempo de salida.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Python
Estrellas
75
Forks
28
Merge medio
1 d 20 h
PR fusionados (30 d)
10

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FireDynamics/fdsreader

Todos los issues de FireDynamics/fdsreader

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.