ZEFIR - Potential Flow Visualizer#

ZEFIR provides Engineering students with Fluid mechanics Instructional Resources and tools.

Welcome to the ZEFIR project — a collection of educational materials, Python scripts, and practical tools designed to support learning and teaching in fluid mechanics and aerodynamics.

Whether you are an engineering student exploring fundamental concepts or an instructor preparing classroom demonstrations, ZEFIR aims to offer accessible resources to deepen your understanding of fluid mechanics and aerodynamics.

ZEFIR — turning flow into insight.#

Key Features#

  • Interactive CLI: Launch GUIs via python -m zefir <command> with dynamic subcommand discovery

  • Interactive GUI: PySide6-based interface for creating and visualizing potential flows

  • Elementary Flows: Uniform flow, sources, sinks, doublets, vortices, and power law flows

  • Multiple Visualization Modes: Streamlines, potential lines, velocity magnitude, and pressure coefficient

  • Integrated Logging: Real-time log console with level filtering (DEBUG to CRITICAL)

  • Educational Focus: Designed for engineering students and instructors

  • Extensible Architecture: Easy to add new flow types, GUIs, and visualization options

Quick Start#

Method 1: Using the CLI (Recommended)

# Launch the potential flow GUI
python -m zefir potentialflow

# With custom log level
python -m zefir potentialflow --log-level DEBUG

# In fullscreen mode
python -m zefir potentialflow --fullscreen

Method 2: Direct Python Import

from zefir.gui.potential import main
main()

Method 3: Programmatic GUI Creation

from zefir.gui.potential import PotentialFlowGUI
import sys
from PySide6.QtWidgets import QApplication

app = QApplication(sys.argv)
window = PotentialFlowGUI()
window.show()
sys.exit(app.exec())

For more detailed information, see the sections below.

Indices and tables#