Major refactoring of RFCP backend: - Modular propagation models (8 models) - SharedMemoryManager for terrain data - ProcessPoolExecutor parallel processing - WebSocket progress streaming - Building filtering pipeline (351k → 15k) - 82 unit tests Performance: Standard preset 38s → 5s (7.6x speedup) Known issue: Detailed preset timeout (fix in 3.1.0)
22 lines
867 B
Python
22 lines
867 B
Python
"""
|
|
Propagation models for RF coverage calculation.
|
|
|
|
Each model implements the PropagationModel interface and is stateless/thread-safe.
|
|
"""
|
|
|
|
from app.propagation.base import PropagationModel, PropagationInput, PropagationOutput
|
|
from app.propagation.free_space import FreeSpaceModel
|
|
from app.propagation.okumura_hata import OkumuraHataModel
|
|
from app.propagation.cost231_hata import Cost231HataModel
|
|
from app.propagation.cost231_wi import Cost231WIModel
|
|
from app.propagation.itu_r_p1546 import ITUR_P1546Model
|
|
from app.propagation.itu_r_p526 import KnifeEdgeDiffractionModel
|
|
from app.propagation.longley_rice import LongleyRiceModel
|
|
|
|
__all__ = [
|
|
"PropagationModel", "PropagationInput", "PropagationOutput",
|
|
"FreeSpaceModel", "OkumuraHataModel", "Cost231HataModel",
|
|
"Cost231WIModel", "ITUR_P1546Model", "KnifeEdgeDiffractionModel",
|
|
"LongleyRiceModel",
|
|
]
|