AirSketcher Manual

Welcome to the AirSketcher user manual. This guide will walk you through every essential and advanced feature of the software for setting up and running CFD simulations with ease.

Introduction

AirSketcher is a lightweight 2D CFD simulation and visualization tool built for rapid design exploration and intuitive analysis. Unlike traditional CFD platforms that require extensive setup, meshing, and scripting, Air Sketcher simplifies the process — just draw your domain, press run, and see results.

Designed for speed and usability, it enables engineers, designers, educators, and students to test airflow concepts on the fly — whether across mechanical structures, ventilation layouts, or environmental enclosures.

With built-in modules, Air Sketcher delivers:

  • A fast steady-state CFD solver with adaptive meshing

  • Real-time streamline and particle tracking visualizations

  • Performance reporting based on selected regions of interest

  • One-click PDF report generation with detailed summaries

  • Direct input via mouse or stylus for sketch-based geometry creation

No CAD. No complex setup. No barriers. Just insight — fast.

Installation

To install AirSketcher, follow these simple steps:

  1. Download the installer

Locate and run the provided setup.exe file.

  1. Activate with your license key

During the first launch, you’ll be prompted to enter the license key you received after purchase.

  1. One-time online verification

The software will briefly connect to the server to verify your license. If the key is valid, a local license file will be generated and saved on your machine.

  1. Offline usage enabled

After activation, AirSketcher will no longer require an internet connection. You can run it offline anytime.

💡 *Make sure to keep your license key in a safe place for future reference

System Requirements

To ensure smooth operation, AirSketcher requires the following minimum system specifications:

🖥️ Operating System

  • Windows 10 or later (64-bit)
  • macOS & Linux: Support planned for future releases

⚙️ Hardware

  • CPU: Dual-core processor or better
  • RAM: 4 GB minimum (8 GB or more recommended)
  • Storage: ~3 GB for installation
  • Graphics: Integrated GPU is sufficient (no high-end GPU required)

🌐 Internet

  • Required only during the first activation to verify the license key.
  • An internet connection is used to detect version updates.
  • No internet connection is needed for core features after successful activation.

✅ AirSketcher is optimized for lightweight 2D simulations and user-friendly visualization. It does not require a high-end workstation.

Quick Start Guide

Follow these steps to run your first CFD simulation in AirSketcher:

Launch the Application

Double-click the AirSketcher icon. The main interface will open with a clean canvas and controls on the left.

Set the Wind Speed

  • At the top-left, adjust the Wind Speed (in m/s).
  • Default is 5 m/s — suitable for general testing.

Define Your Simulation

Domain

  • Use the drawing tools to sketch obstacles (e.g. walls, buildings, airfoils).

  • Or import geometry from the Image Processor on the right panel.

Expert Options

Click Expert Options to access advanced controls like:

Run the Simulation

  • Click Run.
  • The solver will compute flow behavior in real-time.
  • You’ll see the running residual plots, system metrics, and optional velocity vector overlays.

Understanding the Solver Phases

AirSketcher uses a hybrid approach, automatically transitioning between two distinct simulation phases. Understanding these phases will help you know exactly when to record your data and when to stop the simulation.

Phase 1: Pseudo-Transient (Mean Flow & Force Stabilization) When you first click Run, the solver focuses on quickly establishing the basic, stable flow field around your obstacles. During this phase, it applies numerical techniques to force the mass flow to balance and the overall pressure field to settle.

Phase 2: Full Transient (Wake Phase & Vortex Shedding)

Once the mean flow achieves stability, the solver automatically disables its artificial stabilization controls—specifically the mass flow “outlet servo” and momentum correction. It turns these off because artificial constraints suppress natural fluid motion. Instead, it activates the “Wake Phase” and introduces slight physical perturbations into the flow. This allows natural, time-dependent fluid phenomena—like the von Kármán vortex street—to develop behind your objects.

Monitoring Convergence & UI Indicators

Watch the Residuals panel in the plot window. It shows how stable and balanced the numerical solution is while the simulation is running. The colored LED dots give a quick health check of the flow calculation.

What are residuals?
A residual is a measure of how much the solution is still changing from one solver iteration to the next.

In simple terms:
large residual = the flow field is still changing
small residual = the flow field is becoming stable

AirSketcher tracks residuals for the main solved fields: horizontal velocity, vertical velocity, and pressure.

Residuals do not directly mean “percent error compared with reality.” Instead, they show whether the CFD equations are settling into a consistent solution. A simulation can start with high residuals because the solver is still building the flow field from the initial condition. As the flow stabilizes, residuals should generally decrease.

Residuals: Vx, Vy, and Pressure

The residual indicators monitor three key fields:

  • Vx residual: Change in horizontal velocity from one iteration to the next.
  • Vy residual: Change in vertical velocity from one iteration to the next.
  • Pressure residual: Change in the pressure correction field from one iteration to the next.

Use the LED colors as a quick guide:

  • Residuals: Vx, Vy, Pressure
    • 🟢 Green (< 0.003): Excellent convergence. The flow equations are well-balanced and the solution is stable.
    • 🟠 Orange (< 0.009): Acceptable or transitioning. The solution is improving, but the flow is still adjusting.
    • 🔴 Red: High residuals. This is normal at the beginning of a run, after large geometry changes, or during sudden wake transitions.

Practical interpretation
If the residuals are dropping and staying low, the solution is converging.
If the residuals stay high, grow continuously, or spike repeatedly, the simulation may be unstable or the flow may still be developing.

Mass Flow Balance

Mass Flow Balance checks whether the amount of air entering the domain is close to the amount leaving it.

Look for:

  • Mass Flow Balance ≥ 95.0%

This means the inlet and outlet flow rates are reasonably balanced.

Why this matters
For a stable CFD solution, air should not artificially appear or disappear inside the domain. A high mass-flow balance indicates that the solver is conserving flow well.

Typical interpretation:

  • ≥ 95%: Good balance for most visual and design studies.
  • Near 100%: Excellent balance.
  • Low balance: The simulation may still be developing, or the setup may need adjustment.

If mass balance remains poor, try:

  • reducing inlet speed;
  • enabling Refine Flow;
  • checking for overly tight geometry gaps;
  • increasing domain height;
  • simplifying very sharp or noisy obstacle boundaries.
ΔCd: Change in Drag Coefficient

ΔCd shows how much the drag coefficient is still changing as the simulation runs.

This is especially important when you are using AirSketcher to estimate aerodynamic forces such as drag and lift.

  • ΔCd: Change in Drag Coefficient
    • 🟢 Green (< 0.05%): Aerodynamic forces have stabilized. This is the best time to record Cd and Cl values.
    • 🟠 Orange (< 1.0%): Forces are approaching a stable value but may still be changing.
    • 🔴 Red: Forces are still fluctuating. Wait longer before recording final aerodynamic values.

Practical interpretation
Low residuals tell you the flow equations are stable.
Good mass balance tells you air is conserved.
Low ΔCd tells you the aerodynamic force result has stopped changing significantly.

When to Record Aerodynamic Data (Cd & Cl)

If your primary goal is to find the Drag (Cd) and Lift (Cl) coefficients of your design, you should pay attention to Phase 1.

  1. Wait for the “Converged” Message: When residuals drop and mass balance is achieved, AirSketcher will notify you that the flow field has converged.
  2. Wait for the “ΔCd Stabilised” Pop-up: As the simulation continues, the solver continuously monitors the change in your drag coefficient. Once |ΔCd| stays below 0.05% for several consecutive checks, a message will pop up saying: “ΔCd has gradually reached ~0%. Aerodynamic forces appear stable.”
  3. Record Your Data: This is the optimal time to record your Cd and Cl values. Once the simulation enters the Wake Phase (Phase 2), these values will naturally begin to oscillate as vortices shed off the back of your object.

When to Stop the Simulation

  • To get aerodynamic data: You can safely click Stop right after you record your Cd and Cl values from the “ΔCd Stabilised” prompt.
  • To observe wake behavior: If you want to see how the air tumbles and sheds behind your object, leave the simulation running. Once you see the “🌪️ WAKE ENABLED” toast notification, the solver is actively cultivating the wake. Allow it to run for a while longer to watch the beautiful, dynamic vortex shedding develop in the visualizer. Stop it whenever you are satisfied with the visual results.

View Results

Once the simulation is complete, explore the results using the top results panel:

  • Streamlines – Visualize flow patterns and direction.

  • Static Pressure – View pressure distribution in the domain.

  • Particle Tracking – Simulate how particles would move through the flow.

  • Line Probe and x–y Plots – Analyze flow variables (e.g., velocity, pressure) along a defined line in the domain.

  • Report – Auto-generate a summary report including settings and key flow data.

  • Qi-Flow – Blends CFD with Feng Shui to assess air harmony, clarity, and comfort.

Each result opens in a new window with zoom, colorbars, tooltips, and export options.

Save Case and Data

Export your processed simulation as a .pkl file using the Save button if needed for post-processing or external tools.

You’re now ready to explore more advanced configurations!

User Interface Overview

When you launch AirSketcher, you’ll see the interface divided into key functional areas:

The main graphic user interface (GUI)

Left Panel — Simulation Controls

This is where you control how the simulation runs:

  • Wind Speed (m/s): Set the incoming flow velocity.

  • Expert Options: Opens advanced settings (e.g., ABL, gravity, AMR).

  • Live Progress View provides a real-time visual summary of the simulation. By default, it prepares a new preview every 200 iterations while keeping the last completed frame visible during processing. If the simulation advances faster than the preview can render, obsolete frames are skipped so the latest available iteration is displayed.

Live Progress View

The preview includes:

  • The latest displayed iteration and live-status indicator
  • A velocity-magnitude map with solid obstacles masked
  • Native-grid obstacle rendering so thin walls remain visible
  • Visual overlays for porous polygons and blower zones, when defined
  • A cyan dashed outline for the Region of Interest (ROI), when active
  • Optional velocity isolines
  • Live analytics showing:
    • Mean velocity over the cached simulation field
    • Velocity variance
    • Minimum and maximum values used by the display colour scale
    • ROI mean velocity and variance
    • The current Flow Score

The Flow Score is calculated using:

Flow Score=1000V¯ROI1+λσROI2 \text{Flow Score} = \frac{1000\,\overline{V}_{\mathrm{ROI}}} {1+\lambda\,\sigma^2_{\mathrm{ROI}}}

where:

  • V¯ROI\overline{V}_{\mathrm{ROI}} is the mean velocity magnitude inside the ROI
  • σROI2\sigma^2_{\mathrm{ROI}} is the velocity variance inside the ROI
  • λ\lambda is the adjustable variance penalty selected using the Score Priority control

The Score Priority slider adjusts λ\lambda from 00 to 11 in increments of 0.050.05:

  • λ=0\lambda=0 evaluates velocity only
  • Lower values favour higher average velocity
  • λ=0.5\lambda=0.5 provides the default balanced setting
  • Higher values place greater emphasis on uniform airflow

The Flow Score rewards strong airflow while allowing the user to control how strongly velocity variation is penalized. If no active ROI is available, the analytics panel reports the ROI as empty and does not calculate a Flow Score.

All preview operations are presentation-only. They do not modify the solver state, flow variables, obstacle field, mesh, ROI data, or CFD calculations. Disabling the Live Progress View stops future preview updates.

  • Refine Flow automatically adjusts the simulation to maintain numerical stability when the vertical grid size (Ly) is too fine for the given inlet velocity.

This is based on the Courant–Friedrichs–Lewy (CFL) condition, which limits the time step for stability:

ΔtLyu \Delta t \leq \frac{Ly}{u} Where:

  • Δt\Delta t — simulation time step
  • LyLy — vertical grid spacing
  • uu — inlet velocity

If the flow is slow and the grid is very fine, the required time step Δt\Delta t becomes extremely small. If the simulation does not reduce the time step accordingly, it may become unstable or diverge.

To prevent this, Refine Flow automatically activates when Ly is smaller than a safe threshold for the current velocity.

Users may still turn Refine Flow ON or OFF manually. However, if it is turned ON automatically, the system will not disable it without user input.

  • Run / Stop / Results:
    • Run: Start or continue simulation.
    • Stop / Pause: Temporarily halt computation.
    • Results: Access analysis tools after a run completes.
  • Case and Data:
    • Reset Data: Clears current simulation data to start fresh.
    • Load / Save: Load or save a working simulation file.
    • Exit: Close the application.

Right Panel — Sketch and Image Tools

Sketch & Tools

From top to bottom:

  • Undo: Reverse or reapply your latest actions.
  • Draw: Create geometry using freehand or brushes.
  • Draw Line: Click to draw straight lines.
  • Draw Rectangle: Draw rectangle shapes.
  • Eraser: Remove selected geometry.
  • Eraser All: Remove all geometry on the canvas.

Image Tools

Bottom Three Icons:

  • Image Processor: Launch the Image Processor and Windrose Locator module.
  • Import Processed Image: Load the processed image from the Image Processor back onto the canvas.
  • Save Processed Image: Save the currently drawn domain/obstacles as a temporary file named saved_drawing.pkl (used for restarting or post-processing).

Center Canvas — Drawing & Simulation View

This is your main workspace:

  • Displays the geometry, flow domain, velocity arrows, and simulation progress.
  • Shows directional axes: X (Flow) →, Y ↑
  • When results are available, this area displays streamlines or pressure contours.

Bottom — Residuals and Log Console

  • Residual Plot (Log Scale): Tracks solver convergence over time for:
    • Momentum X
    • Momentum Y
    • Static Pressure
  • Log Console (Right Corner): Status updates, grid info, AMR messages, etc.

Simulation Setup

Setting up your simulation involves defining the environment where air will flow. This includes specifying the domain size, placing obstacles, and applying boundary conditions. AirSketcher offers an intuitive interface to guide you through each step.

Setting Domain Size

To define the vertical size of your simulation area:

  1. Click on “Set Domain Height (Y)” in the Expert Options panel.
  2. Enter your desired height value in meters.
  3. The domain length (X) is automatically scaled based on the canvas width.

💡 Tip: Ensure all obstacles are placed within the domain and away from boundaries to minimize their impact on flow and avoid simulation errors.

Defining Obstacles

Obstacles represent solid objects like buildings, walls, or terrain features that influence airflow.

  • Drawing Tools: Use the right-hand toolbar to draw directly on the canvas.
  • Eraser Tool: Remove unwanted geometry or correct mistakes.
  • Import Geometry: Load shapes or drawings created earlier. See Image Processor for more information.

📝 Note: Ensure obstacles form closed loops to be treated as solids.

Expert Options

These expert settings give you deeper control over simulation physics and performance. To reveal them, click the Expert Options ▶ button under the Wind Speed setting.

Expert mode menu

Gravity Enabled

Applies downward gravity to the airflow. Useful for buoyancy-driven flows (e.g., warm air rising) or terrain-influenced drafts. When disabled, the simulation assumes horizontal-only flow without vertical buoyancy effects.

Wind Tunnel Mode

This mode applies slip-wall (symmetry) boundary conditions to the top and bottom walls of the simulation domain, simulating a confined but frictionless tunnel.

Slip Wall / Symmetry Boundary means:

  • No flow through the wall: Perpendicular velocity is zero (v = 0).
  • Frictionless sliding: No shear stress along the wall (zero gradient of parallel velocity and pressure).

Use this for testing designs in confined, wind tunnel-like conditions where flow cannot expand vertically.

Wind Tunnel Mode (ON)
┌────────────────────────────┐
│       Slip Wall (Top)      │
│  → → → → → → → → → → →     │
│  → → → → → → → → → → →     │   Flow direction →
│  → → → → → → → → → → →     │
│     Slip Wall (Bottom)     │
└────────────────────────────┘

When Wind Tunnel Mode is OFF: Open Boundary

If Wind Tunnel Mode is disabled, the top and bottom boundaries apply freestream (open) conditions instead.

  • Flow can expand: Perpendicular velocity is allowed to float (zero-gradient), relieving domain blockage.
  • Anchored to environment: Parallel velocity is anchored to the ambient freestream velocity, and pressure is set to zero (ambient atmospheric gauge pressure).

This is ideal for simulating open-air scenarios, like outdoor aerodynamics or buildings, where the air can freely displace around an object.

Open / Freestream Boundary (OFF)
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
     ↑↑↑ Flow can expand ↑↑↑
  → → → → → → → → → → → → → → →
  → → → → → → → → → → → → → → →
     ↓↓↓ Flow can expand ↓↓↓
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈

Ground Friction

When enabled, the bottom wall becomes no-slip, simulating ground drag. That means velocity at the bottom = 0, mimicking real-world friction from ground or terrain.

Top boundary remains a slip wall.

Slip Wall (Top)
┌────────────────────┐
│                    │
│  → → → → → → → →   │
│   → → → → → → →    │
│    → → → → →       │
│     → → →          │
│       →            │
│         U = 0      │  ← No-slip Ground (velocity = 0)
└────────────────────┘

ABL Inlet

The Atmospheric Boundary Layer (ABL) inlet applies a vertical velocity profile that grows with height, mimicking outdoor wind over terrain and buildings.

Velocity Profile Formula

The wind speed follows a power law:
u(y)=Uref(yH)αu(y) = U_{\text{ref}}\left(\dfrac{y}{H}\right)^{\alpha}

Where - u(y)u(y): velocity at height yy
- UrefU_{\text{ref}}: reference velocity at height HH
- HH: reference height (often the inlet top)
- α\alpha: shear exponent (controls profile steepness)

ABL Profile (ASCII-safe for Zettlr)

U(y)
|               o  <- U_ref
|               o
|              o
|             o
|           o
|          o
|        o
|      o
|   o
+-------------------------------------- y
0                                      H

Higher α\alpha values produce stronger shear near the ground (steeper gradient at small yy).

Typical α\alpha by Terrain

Terrain type α\alpha range
Open land / water 0.14–0.16
Suburban areas 0.22–0.27
Urban / dense forest 0.30–0.40

When to Use an ABL Inlet

⚠️ This setup is intended exclusively for 2D side-view simulations!

  • Wind over buildings, hills, or terrain
  • Urban wind comfort / natural ventilation studies

AMR (Adaptive Mesh Refinement)

AMR rebuilds the grid so it is fine where accuracy matters and coarser elsewhere—boosting speed without sacrificing fidelity.

UI Controls (Expert Options ▶ Simulation Tools)

  • AMR Enabled: The master toggle for adaptive meshing (enabled by default).

How it works

  • ROI-driven refinement: A Region of Interest (ROI) is detected around geometry/flow features (obstacles, porous polygons, and blower zones are treated as fluid so the ROI grows around them).
  • Fine inside, coarse outside: Inside the ROI, we keep every row/column; outside, four log-spaced strips (bottom/top/left/right) place cells dense near the ROI and stretched toward the domain edges using smooth exponential spacing.
  • Edges preserved: The first/last rows and columns of the full domain are always included.
  • Auto coarsening guard: A coarsening “factor” is auto-selected from a small set so at least ~5% of cells remain outside the ROI in both directions. If none fits, AMR is disabled with a warning.

What gets remapped

  • All flow fields (velocity, pressure, turbulence)
  • Obstacles, porosity, and blower forcing
  • The computational grid
  • A one-time snapshot of the original full-resolution grid (for easy revert or post-processing)

When it runs / skips

  • Controlled by the AMR Enabled UI checkbox in the Expert Options.
  • Skips if:
    • AMR is disabled
    • no ROI is found
    • no suitable factor is found
    • memory error occurs

Stability tips (pseudo-transient)

  • AMR can increase local CFL numbers away from the ROI. If using aggressive time stepping, enable the soft convective limiter (automatically tighter with AMR) and/or the velocity-based convective cap.
  • These small guards usually prevent cases that are stable without AMR from diverging with it.

After enabling

  • The simulation grid is updated to the adaptive resolution.
  • The view refreshes immediately (AMR grid indicator + streamline preview).

Note: AMR is not turned off by porous/blower zones; instead, they are included in the ROI so refinement accurately captures their effects.

Draft Mode (Coarse) / Concept AMR

Draft Mode (labeled in the UI as ↳ Draft Mode (Coarse)) is a fast-pass, low-resolution sub-feature of Adaptive Mesh Refinement. When a quick “concept” or draft of the flow is needed without waiting for a highly accurate calculation, this mode is ideal for rapid prototyping.

Key Behaviors

  • Reduces Resolution: It significantly drops the global resolution parameter to speed up the engine.
  • Speeds up Simulation: Because the grid is substantially coarser, the math engine has far fewer cells to calculate, delivering much faster visual feedback.
  • Dependency: It strictly relies on the master AMR Enabled toggle being active. If standard AMR is turned off, this concept/draft mode is automatically disabled and locked to prevent conflicts.

Scale Input Wind Speed

This tool automatically adjusts the inlet wind speed to maintain Reynolds number similarity when you are working with scaled-down models.

Reynolds number (ReRe) is approximated by:

Re=ρULμ Re = \frac{\rho \cdot U \cdot L}{\mu} where: - ρ\rho = air density
- UU = wind speed
- LL = characteristic length (e.g., building width, car length)
- μ\mu = air viscosity

When Should You Use This?

Only use Scale Input Wind Speed when your geometry is a scaled-down physical model (wind-tunnel model, miniature, or blueprint at reduced scale).

Example:
You are simulating a 1:50 scale car from a wind-tunnel test. Draw the car length on screen, enter the real car’s length + real wind speed (or target Re), and the tool instantly sets the correct simulation inlet speed so the flow behaves exactly like the full-size vehicle.

This is essential because flow patterns (laminar vs turbulent, separation, drag) depend on the Reynolds number. Without scaling, a small model at full speed produces completely wrong results.

When You Don’t Need It

If your geometry is already modeled at true 1:1 real-world size, skip this tool completely.
Just type the actual wind speed directly into the inlet field.
Using scaling on a 1:1 model would give incorrect (too low) velocities.

How to Use (Interactive Tool)

  1. Click the Scale Input Wind Speed button.
  2. Click once on the canvas to start a measurement line, then click again to finish it (any direction — length is measured correctly).
  3. The tool automatically detects the drawn length in simulation units.
  4. A clean dialog appears — fill in:
    • Real Characteristic Length (m) — e.g., actual building height or car length in real life.
    • Choose one of two modes:
      • Target Wind Speed (m/s) → enter the real-world wind speed
      • Target Reynolds Number (Re) → enter the desired Re (recommended for wind-tunnel validation)
  5. Click OK — the inlet velocity is instantly calculated and filled into the speed field (automatically capped at 500 m/s for numerical stability).

The tool handles everything for you — no manual math required.

Summary

  • Use this for any scaled model (wind-tunnel, miniatures, blueprints)
  • Skip this for full 1:1 real-world geometry
  • One-click line measurement + smart dialog = perfect Re matching in seconds

Now your scaled simulations will match real-world physics automatically!

Set Domain Height

Changes the vertical height (Ly) of the simulation domain.

You can either:
- Enter the new height manually (minimum = 1.0 meters)
- Draw a vertical reference line and input the real-world height

The horizontal width (lx) updates automatically using:

lx = 2 * ly

After applying changes, the simulation reloads with the new dimensions. Save your work before using this feature.

Porous and Blower Zones

The Porous and Blower Zone editor allows polygon regions to be added to the current CFD domain.

Two zone behaviours are available:

  • Porous zones represent vegetation, fences, screens, or other regions that resist airflow.
  • Blower zones represent fans, ducts, vents, or other regions that add directed airflow.

The editor displays the current obstacles and velocity field while zones are drawn. Porous zones appear in green, while blower zones appear in blue.

Porous and blower zones window

Opening the Zone Editor

Open the Porous and Blower Zone tool from the ‘Expert Options’ menu.

The editor contains:

  • A large polygon-drawing area
  • A 2-D plan view simulation checkbox
  • Draw new zone
  • Edit zone values
  • Undo last zone
  • Clear all zones

To draw a zone:

  1. Click Draw new zone.
  2. Click around the required boundary.
  3. Click the first point again to close the polygon.
  4. Select the required zone type:
    • % for direct porosity
    • Tree symbol for LAI
    • Blower symbol for directed air injection
  5. Enter the required zone properties.
  6. Click Apply.

Press Esc to cancel an unfinished polygon.

Porous Zones

Porous zones represent regions that allow air to pass through while reducing its momentum.

Typical applications include:

  • Trees and vegetation
  • Hedges
  • Porous fences
  • Screens
  • Perforated barriers
  • Semi-open architectural elements
  • Simplified porous media

A porous zone can be defined using either:

  • Porosity (%)
  • Leaf Area Index (LAI)

The selected value is assigned to every grid cell inside the polygon.

Direct Porosity Input

Porosity can be entered from 0% to 100%.

  • 100% porosity represents an open region with no porous blockage.
  • Lower values represent progressively stronger airflow resistance.
  • Values approaching 0% represent a nearly impermeable zone.

The fractional porosity is:

ϕ=Porosity (%)100 \phi = \frac{\text{Porosity (\%)}}{100}

where 0ϕ10\le\phi\le1.

The editor stores the porous-zone value as a percentage. The zone label displays its porosity and an equivalent LAI value.

LAI Input

Leaf Area Index (LAI) represents the one-sided leaf area per unit ground area.

Higher LAI values generally represent denser vegetation and stronger airflow resistance.

The LAI entry must be zero or positive.

The editor converts LAI to equivalent porosity using:

Porosity (%)=100e0.5LAI \text{Porosity (\%)} = 100e^{-0.5\,\mathrm{LAI}} or, in fractional form: ϕ=e0.5LAI \phi = e^{-0.5\,\mathrm{LAI}} The equivalent LAI can be recovered from a non-zero porosity using: LAI=2ln(ϕ) \mathrm{LAI} = -2\ln(\phi)

This allows zones entered using direct porosity and zones entered using LAI to use a common stored porosity representation.

LAI-to-Porosity Examples
LAI Equivalent Porosity General Interpretation
0 100.0% No vegetation resistance
1 60.7% Light foliage
2 36.8% Light-to-moderate foliage
3 22.3% Moderate vegetation
4 13.5% Moderately dense vegetation
5 8.2% Dense canopy
6 5.0% Very dense canopy
7 3.0% Extremely dense canopy

Important
The porosity shown in the zone label is the value stored by the zone editor. When LAI is entered, it is first converted using the exponential relationship above.

Plan View and Section View

The 2-D plan view simulation checkbox controls how vegetation drag is interpreted by the solver.

2-D Plan View Enabled

Use this mode when the drawing represents a top view of the site.

In plan view:

  • The vegetation polygon represents its horizontal footprint.
  • The solver uses the LAI-derived resistance without interpreting the polygon’s vertical dimension as canopy height.
  • No separate canopy-height input is required in the zone editor.

Typical plan-view applications include:

  • Site plans
  • Urban layouts
  • Tree belts
  • Windbreak placement
  • Landscaping studies
  • Outdoor pedestrian-wind analysis
2-D Plan View Disabled

Use this mode when the drawing represents a vertical section.

In section view:

  • The polygon’s vertical extent can be interpreted as canopy thickness.
  • The solver can use the LAI-to-canopy-thickness relationship required by the section-based vegetation model.
  • Enter the published LAI value directly; do not divide LAI by canopy height manually.

LAI interpretation
Published LAI values are normally integrated canopy quantities. Enter the LAI itself. The application handles the required view-dependent interpretation.

The plan-view checkbox changes the solver interpretation of canopy thickness; it does not change the polygon or its stored porosity.

Typical Tree LAI Ranges

The LAI dialog contains a scrollable reference list of typical vegetation ranges.

These values are general guidance only. Actual LAI varies with species, age, season, climate, pruning, irrigation, planting density, and measurement method.

Vegetation Typical LAI Range
Acacia 3.5–6.0
Apple 2.0–4.0
Areca Palm 1.5–2.5
Avocado 2.5–4.5
Bald Cypress 3.0–5.0
Banana 3.0–6.0
Bamboo 2.0–5.0
Beech 2.5–4.0
Birch 2.0–4.0
Camphor Tree 2.5–4.5
Casuarina 3.0–4.0
Cherry Blossom 3.0–4.5
Chinese Elm 2.5–4.0
Coconut Palm 1.5–2.5
Coffee 1.5–3.0
Douglas Fir 2.0–4.0
Eucalyptus 2.0–4.0
Fig 2.0–3.5
Ginkgo 1.5–2.5
Guava 2.5–4.0
Jackfruit 3.0–5.5
Japanese Maple 2.0–3.5
Lemon 2.0–3.5
Litchi 3.0–5.0
Live Oak 3.0–5.0
Mahogany 2.5–4.5
Mango 3.0–5.0
Neem 2.0–3.5
Olive 1.5–3.0
Papaya 2.0–4.0
Pine 2.0–5.0
Rain Tree 4.0–7.0
Red Cedar 2.0–3.5
Red Maple 2.5–4.5
Rubber Tree 2.5–4.5
Sugar Maple 3.0–5.0
Sycamore 3.5–6.0
Tamarind 3.0–5.0
Teak 2.5–4.5
Tulip Tree 3.5–5.5
Walnut 3.0–4.5
White Oak 2.5–4.5

Use measured or site-specific LAI data whenever available.

Blower Zones

Blower zones represent regions that add directed airflow to the simulation.

Typical applications include:

  • Mechanical fans
  • Supply-air diffusers
  • Ventilation ducts
  • Jet outlets
  • Exhaust or supply openings
  • Local air-moving equipment

Each blower zone requires:

  • Direction angle
  • Speed in m/s

The blower speed must be greater than zero.

Blower Direction

The blower-direction dial uses the following orientation:

Setting blower direction
Direction Angle
Right
Up 90°
Left 180°
Down 270°

The angle can be selected by:

  • Clicking the circular direction dial
  • Dragging the dial arm
  • Using the four direction presets
  • Using the keyboard arrow keys while the dial is focused
  • Holding Shift while using the arrow keys for larger angular changes

Angles are stored in the range:

0θ<360 0^\circ\le\theta<360^\circ

Blower Velocity Components

For a specified blower speed VV and direction θ\theta, the velocity components are:

ub=Vcosθ u_b = V\cos\theta

vb=Vsinθ v_b = V\sin\theta

where:

  • VV is the blower speed in m/s\mathrm{m/s}
  • θ\theta is the blower direction measured from the positive horizontal axis
  • ubu_b is the horizontal velocity component
  • vbv_b is the vertical velocity component

Every grid cell inside the blower polygon is assigned to that blower zone.

The editor stores:

  • The grid cells inside the polygon
  • The blower angle
  • The blower speed

The blower zone is displayed with its zone number, angle, and speed.

Coordinate convention
An angle of 00^\circ points to the right and an angle of 9090^\circ points upward in the displayed CFD domain.

Blower Cross-Section

The volume-balance calculation does not use the complete polygon area as the blower opening.

Instead, it calculates the polygon width perpendicular to the blower direction.

For blower ii, the perpendicular unit vector is:

𝐧̂,i=[sinθicosθi] \hat{\mathbf{n}}_{\perp,i} = \begin{bmatrix} -\sin\theta_i\\ \cos\theta_i \end{bmatrix} Each blower-cell position is projected onto this direction: s=x(sinθi)+ycosθi s = x\left(-\sin\theta_i\right) + y\cos\theta_i The blower cross-sectional width is estimated from: W,i=smaxsmin W_{\perp,i} = s_{\max}-s_{\min} One grid-resolution allowance is added in the perpendicular direction so that very thin blower polygons still have a finite effective width: Weff,i=max(W,i+Δni,Δni) W_{\mathrm{eff},i} = \max \left( W_{\perp,i}+\Delta n_i, \Delta n_i \right) where: Δni=(sinθiΔx)2+(cosθiΔy)2 \Delta n_i = \sqrt{ \left(-\sin\theta_i\,\Delta x\right)^2 + \left(\cos\theta_i\,\Delta y\right)^2 }

This produces a more appropriate flow estimate than multiplying blower speed by the full polygon area.

Blower Flow Estimate

For a two-dimensional simulation with a unit out-of-plane depth, the estimated volume flow from blower ii is:

Qi=ViWeff,i(1m) Q_i = V_i W_{\mathrm{eff},i}(1\ \mathrm{m}) The total blower flow is: Qblower,total=iQi Q_{\mathrm{blower,total}} = \sum_i Q_i

where:

  • ViV_i is the speed of blower ii
  • Weff,iW_{\mathrm{eff},i} is its effective cross-sectional width
  • Unit depth is assumed outside the two-dimensional plane

The resulting flow is reported in m3/s\mathrm{m^3/s} per assumed one-metre depth.

Open Inlet Area

The volume-balance tool examines the leftmost boundary of the domain and identifies the inlet cells that are open fluid.

The open inlet height is calculated from the local vertical grid spacing:

Hinlet,open=jopenΔyj H_{\mathrm{inlet,open}} = \sum_{j\in\mathrm{open}}\Delta y_j Assuming a unit out-of-plane depth: Ainlet=Hinlet,open(1m) A_{\mathrm{inlet}} = H_{\mathrm{inlet,open}}(1\ \mathrm{m})

This means solid portions of the left boundary are excluded from the available inlet area.

If the open boundary cannot be determined, the calculation falls back to the full domain height.

Suggested Inlet Velocity

The editor calculates a suggested inlet velocity using:

Uinlet,suggested=3Qblower,totalAinlet U_{\mathrm{inlet,suggested}} = \frac{ 3Q_{\mathrm{blower,total}} }{ A_{\mathrm{inlet}} }

where:

  • Qblower,totalQ_{\mathrm{blower,total}} is the estimated combined blower flow
  • AinletA_{\mathrm{inlet}} is the open inlet area
  • The factor of 33 is the application’s built-in recommendation multiplier

The editor reports:

  • Total estimated blower flow
  • Open inlet height
  • Open inlet area
  • Suggested left-boundary inlet velocity

The calculated value is printed in the console and, when the inlet-speed field is available, inserted into that field automatically.

Important
The suggested inlet velocity is a setup aid. It is not a general conservation law and should not replace checking mass balance, boundary conditions, or solver convergence.

Review the recommendation whenever blower zones are added, removed, resized, rotated, or assigned a different speed.

Editing and Removing Zones

The editor provides the following zone-management controls:

  • Edit zone values — opens the zone-value editor
  • Undo last zone — removes the most recently added porous or blower zone
  • Clear all zones — removes all defined zones
  • Esc — cancels the currently active polygon drawing

Zones are tracked in creation order, allowing the most recently created zone to be removed reliably.

Zone Labels

Porous-zone labels display:

  • Zone number
  • Porosity percentage
  • Equivalent LAI

Blower-zone labels display:

  • Blower-zone number
  • Direction angle
  • Speed in m/s\mathrm{m/s}

These labels are visual aids and do not create additional solver regions.

Modeling Guidance

  • Use direct porosity for screens, fences, and simplified porous materials.
  • Use LAI for vegetation when suitable LAI information is available.
  • Select plan view for site layouts and section view for vertical canopy cross-sections.
  • Avoid drawing extremely thin polygons that contain too few grid cells.
  • Refine the mesh around small porous or blower zones.
  • Use measured fan discharge velocity when available.
  • Check that the blower direction matches the intended physical flow direction.
  • Treat the suggested inlet velocity as a recommendation, not an automatic guarantee of flow balance.
  • Verify that the solution remains stable after adding strong blower zones or very low-porosity regions.
  • Use site-specific vegetation and equipment data whenever possible.

Image Processor and Wind Locator

The Image Processor and Wind Locator prepares plans, sketches, airfoils, and other image-based geometry for CFD simulation. It combines adaptive edge extraction, manual geometry editing, positioning guides, and real-world wind-orientation tools in one canvas-based workspace.

The geometry workflow and the wind-data workflow can be used independently:

  • Prepare and export geometry to create CFD obstacles from an image.
  • Retrieve and inspect wind data for a latitude and longitude.
  • Align the geometry with a compass wind direction while retaining the solver’s fixed left-side inlet.
Image Processor and Wind Locator

Interface

  1. Choose File — load a plan, sketch, airfoil, or other geometry image.
  2. Edge Detection — control retained detail, cleanup, and final detected-line thickness.
  3. Draw Geometry — open or close the movable drawing palette.
  4. Export to Simulation — export the visible geometry to saved_drawing.pkl.
  5. Latitude, Longitude / Fetch Windrose — enter coordinates and retrieve wind data.
  6. Wind-direction wheel — select the compass direction from which the wind originates.
  7. Inlet Flow indicator — confirms that CFD flow always enters from the left and moves toward the right.
  8. Geometry canvas — move, resize, and rotate the loaded image.
  9. Position Guides — show, move, lock, reset, or hide the optional comparison guides.

Important simulation rule
The CFD inlet remains on the left side of the domain. Wind-direction controls therefore rotate the geometry used on the main canvas; they do not move or reconfigure the solver inlet.

Opening the Tool

From the main AirSketcher interface, open Image Processor & Wind Locator.

Image Processor and Wind Locator icon

The processor opens in a separate resizable window. Hover over a button, slider, guide handle, or drawing icon to display a description of its purpose.

Loading and Positioning an Image

  1. Click Choose File.
  2. Select an image such as a floorplan, section, sketch, airfoil, or aerial plan.
  3. Use the selection handles to move, scale, or rotate the image.

Refining Detected Edges

The processor uses three independent controls:

  • Detail: 0–100
    Increase this value to retain finer, fainter, or low-contrast boundaries. Reduce it when a simpler outline is preferred.

  • Cleanup: 0–100
    Increase this value to reject more weak, small, or disconnected markings such as text fragments and scan noise. Long structural boundaries are preferentially retained.

  • Thickness: 1–11 px
    Sets the final detected-edge thickness in displayed canvas pixels. Increase it when a thin outline may become broken after conversion to the CFD grid.

The preview updates shortly after a slider is moved. The Thickness adjustment is visible immediately and is applied symmetrically around the cleaned edge, avoiding a systematic shift of the geometry.

Practical workflow

  1. Increase Detail until the required walls or boundaries appear.
  2. Increase Cleanup until unwanted annotations and isolated marks are reduced.
  3. Increase Thickness only enough to keep important outlines continuous after export.

The edge-processing request changes only the displayed image pixels. It preserves the image position, scale, rotation, canvas dimensions, mesh settings, and simulation variables.

Geometry Drawing and Erasing

Click Draw Geometry to open the movable drawing palette. The palette remains open while you work and closes only when Draw Geometry is pressed again.

Geometry Drawing palette

Drawing-palette annotations

  1. Title bar — drag it to move the palette.
  2. Drawing tools — Select, Pencil, Line, Arrow, Rectangle, Ellipse, Erase Edge, and Erase Draw.
  3. Width — sets drawing or eraser width from 1 to 80 px.
  4. Color — selects the color used by Pencil, Line, Arrow, Rectangle, and Ellipse.
  5. Undo / Redo — step backward or forward through drawing and erasing actions.
  6. Visibility / Clear — temporarily hide the edit layer or remove all added edits after confirmation.

Drawing-tool behavior

  • Select — select, move, scale, or rotate the loaded image.
  • Pencil — draw freehand geometry.
  • Line — draw a straight segment.
  • Arrow — draw a directional arrow.
  • Rectangle — draw a rectangular boundary.
  • Ellipse — draw an ellipse or circular boundary.
  • Erase Edge — paint through imported or detected image edges.
  • Erase Draw — remove geometry that was added with the drawing tools without changing the loaded image.

Hold Shift while using Line or Arrow to snap the direction horizontally, vertically, or diagonally.

All drawing and edge-erasing edits remain attached to the image when it is moved, scaled, or rotated. Visible edits are included in the simulation export.

Position Guides

The optional Position Guides help reproduce the same object location and size when comparing multiple cases.

The guide system provides:

  • two vertical guides, V1 and V2, for marking the front and back or left and right extents;
  • two horizontal guides, H1 and H2, for marking the top and bottom extents;
  • live positions shown as percentages of the canvas;
  • a width and height readout for the rectangle enclosed by the four guides.

The guides are hidden by default.

  • Click Show to display them.
  • Drag a guide handle to reposition it.
  • Click Lock to prevent accidental movement.
  • Click Reset to restore the default guide and toolbar positions.
  • Drag the Position Guides title to move the toolbar.

Guide locations are stored as canvas-relative percentages, so they remain aligned when the application moves between monitors or the window is resized.

Position Guides are a visual comparison aid only. They do not modify the image, exported geometry, canvas pixels, mesh, or CFD variables.

Exporting Geometry

When the displayed geometry is ready:

  1. Ensure the desired detected edges and added drawings are visible.
  2. Click Export to Simulation.
  3. The processor creates saved_drawing.pkl in the active project or application folder.

The exporter rasterizes the visible geometry at increased logical resolution before converting it to the simulation grid. It preserves the full footprint of thick strokes instead of reducing them to one-pixel centerlines.

The following are included:

Retrieving Wind Data

Entering coordinates

Enter coordinates as:

latitude, longitude

Example:

40.7128, -74.0060

You can use normal Ctrl+V paste. On supported Windows systems, right-clicking the coordinate field also inserts the current plain-text clipboard value directly.

Click Fetch Windrose to begin retrieval.

The software:

  1. searches nearby weather stations;
  2. checks the closest stations until a usable wind-data file is found;
  3. extracts valid wind direction and speed records;
  4. generates a Wind Rose;
  5. retrieves map tiles centered on the entered location;
  6. overlays the Wind Rose on the map;
  7. reports the selected station name and its approximate distance from the requested coordinates.

An Internet connection is required for remote wind data and map tiles.

Orienting the Site and Selecting Wind Direction

The Wind Rose supports two related but different adjustments:

  1. Site orientation — the real-world orientation of the plan on the Wind Rose.
  2. Simulation wind direction — the compass direction from which wind should approach the site.

Keeping these concepts separate prevents the same rotation from being applied twice.

Wind Rose plan rotation

Wind Rose rotation annotations

  1. Rotation handle — drag to rotate the site or floorplan overlay.
  2. Angle badge — displays the current site-orientation angle while rotating.
  3. Floorplan overlay — remains fixed to the selected real-world site orientation when the simulation wind direction changes.
  4. Compass-direction button — selects the direction from which the wind originates.

Reading a Wind Rose

A Wind Rose summarizes how often wind arrives from each compass direction and how its speed is distributed.

Wind Rose
  • Direction: each wedge points toward the direction from which the wind originates.
  • Wedge length: a longer wedge indicates a higher occurrence frequency.
  • Concentric rings: show frequency percentages.
  • Color bands: show speed ranges:
    • 0–2 m/s
    • 2–4 m/s
    • 4–6 m/s
    • 6–8 m/s
    • 8–10 m/s
    • 10+ m/s

For simulation input, select a representative direction and speed appropriate to the study objective. A dominant sector may be used for a typical case, while additional sectors can be exported as separate comparison cases.

Wind-data scope
The generated Wind Rose summarizes the available historical station records. Station distance, record availability, terrain, building exposure, measurement height, and local microclimate should be considered when choosing the final CFD boundary conditions.

Before Running the Simulation

  • Confirm that the plan orientation is correct.
  • Confirm that the selected compass direction represents wind coming from the intended sector.
  • Check that critical outlines remain continuous at the chosen Thickness value.
  • Keep the object suitably clear of the upper and lower domain boundaries.
  • Export the final geometry.
  • Return to the main simulation screen and import saved_drawing.pkl.
  • Set the required inlet speed and other CFD parameters.
  • Run the simulation.

Running a Simulation

Once your geometry, wind zones, and simulation parameters are set, running a simulation in AirSketcher is straightforward — though behind the scenes, the solver performs several intelligent steps to ensure stability, accuracy, and physical realism.

How to Start

  1. Click the ▶ Run Simulation button.
  2. The solver begins processing your setup: geometry, wind, zones, and any porous or blower definitions.
  3. A live residual plot opens to monitor convergence.

What Happens During the Simulation

For each iteration, the solver performs:

  • Time step (dt) calculation using the CFL condition:
    Lower CFL values are used when Refine Flow is enabled, improving accuracy.
  • Porous and blower zones are applied to the velocity field.
  • Velocity (u, v) and pressure (p) fields are updated, respecting all boundary conditions.
  • Mass flow is balanced between inlets and outlets to avoid volume gain/loss.
  • Residuals are computed to measure change between steps:
Residual_u = |u - u_prev|
 Residual_v = |v - v_prev|
 Residual_p = |p - p_prev|

These residuals are shown live in the solver graph.

Live Monitoring

Every 200 iterations (default, configurable):

  • A Live Progress View updates:
    • Shows streamlines and velocity heatmaps.
    • Highlights high-interest zones.
    • Displays mass balance and a real-time Design Score based on airflow smoothness and coverage.

When the Simulation Stops

The solver now uses explicit, code-level criteria for stopping or notifying you:

  • Convergence → Auto-Stop
    • Triggered only after the solver has run a minimum number of iterations (internal guard).
    • Mass flow imbalance (|ṁ_in − ṁ_out| / ṁ_in) < 1.00%.
    • All three step-change residuals (Ux, Uy, Pressure) fall below 0.005%
      (these are percent changes between successive iterations, not absolute field values).
    • When met, the solver stops automatically and shows a “Simulation Stopped” info message.
  • Stagnation / Plateau → Non-blocking Notice (keeps running)
    • Over the last 100 iterations, the maximum change in each residual is < 1e-5, and mass flow imbalance < 1.00%.
    • You’ll see a non-blocking toast:
      “Residuals have plateaued—improvements are marginal and slow. Continuing run (iteration N).”
    • The simulation continues (no dialog to dismiss, no stop).
  • Maximum Iterations Reached (20,000) → Prompt
    • At 20,000 iterations, you’ll be asked whether to continue.
    • If you choose Continue, the run proceeds and you won’t be prompted again in this run.
    • If you choose Stop, the solver ends.
  • Divergence / Instability → Auto-Stop
    • If any residual spikes to an extreme value (e.g., > 10,000%) or mass flow imbalance > 200%, the solver stops automatically and shows a warning.

Other Insights

  • CPU and RAM usage are displayed in the solver window.
  • Total runtime is shown after simulation ends.
  • Warnings are displayed if instability is detected, and the solver will auto-stop.

After Completion

  • Simulation controls become re-enabled.
  • You can review:
    • Final residual curves
    • Streamline, pressure, particle tracking visualizations
    • An innovative Qi Flow Index (QFI)
  • You can modify any settings and rerun.

Notes

  • The solver runs in steady-state mode (not time-dependent).
  • Always rerun the simulation after changes to:
    • Geometry or boundaries
    • Inlet wind speed or direction
    • Zone types (porous or blower)
    • Mesh height or layout alignment

Solver behavior depends on: - Domain height (ly) - Inlet speed - CFL condition (automatically adjusted if Refine Flow is on)

💡 Pro Tip

Not sure if the simulation is stable?

Look at the residual plot:

  • ✅ A steady downward trend with values close to zero means you’re converging.
  • A flat or rising line suggests a problem — try:
    • Lowering the inlet speed
    • Enabling Refine Flow
    • Disabling AMR

Visualizing Results

After the simulation is complete, you can view the results using the panel of visualization tools. Each button provides a specific type of analysis to help interpret flow behavior, pressure distribution, or derived performance.

Velocity Contour

The Velocity Contour tool renders a filled color map of the fluid velocity magnitude across your simulation domain. It helps you spot high-speed regions, wake formations, and flow symmetry — all at a glance.

Velocity Contour

Features

  • Colormap Customization
    Input your own min/max values to stretch or compress the contour color scale. This is especially useful when:

    • Focusing on low-velocity boundary layers
    • Comparing different cases side-by-side
  • Interactive Hover Tooltips
    Hover anywhere on the plot to view:

    Vmag:  Velocity Magnitude (m/s)
     Vx:    Horizontal Component (m/s)
     Vy:    Vertical Component (m/s)
     P:     Static Pressure (Pa)
  • Line Probe Tool
    Draw custom line probes to sample flow data across any two points. You’ll get:

    • Velocity & pressure plots
    • Vx/Vy component plots
    • Mass flow per segment
    • Exportable data tables

Usage Tips

  • Use “Apply” to rescale the color range.
  • Use “Streamlines”, “Particle Tracking”, or “Qi Flow” to explore complementary visualizations.
  • Use “Report” to get an instant summary of your current simulation results.

📌 Notes

  • Velocity in enclosed regions is automatically masked to avoid misleading visuals.
  • Results are interpolated back onto the original grid, ensuring visual consistency.
  • Watermark adapts brightness automatically for visibility across any background.

Streamlines

Streamline Analysis opens a clean, professional results window that shows high-quality streamlines colored by velocity magnitude, obstacle rendering, and an interactive Line Probe tool for detailed flow profiling.

When to Use Streamlines

  • Understand overall flow patterns and recirculation zones
  • Visualize how wind moves around buildings, terrain, or objects
  • Extract precise velocity profiles along any line (great for validation or reporting)
  • Compare flow behavior with/without AMR or different inlet conditions

How to Open

Click the Streamlines button in the Results panel (or use the toolbar icon).
A new window appears with a large, publication-ready visualization.

Main Visual Features

  • Streamlines automatically colored by local velocity (m/s) using a beautiful aero/journal colormap
  • Optional velocity vectors (arrows)
  • Dark or Light theme (toggle anytime)
  • Background mist effect for depth (in dark mode)
  • Full Matplotlib toolbar (zoom, pan, save as PNG/PDF, etc.)
streamlines.png

Controls (bottom bar)

  • Density slider — controls how many streamlines are drawn (0.5 = sparse, 3.0 = very dense)
  • Vector Length slider — scales arrow size when vectors are enabled
  • Show/Hide Vectors — toggle velocity arrows on/off
  • Switch Theme — Dark ↔︎ Light (journal quality)
  • ⌖ Line Probe — activates the powerful profiling tool
  • ✖ Clear All — removes probe lines and tooltips

Line Probe Tool (real time)

  1. Click ⌖ Line Probe (button turns yellow).
  2. Click and drag anywhere on the streamline map to draw a measurement line.
  3. Release the mouse — a graph instantly appears showing:
    • |V| (velocity magnitude) — thick black line
    • u (horizontal) — red dashed
    • v (vertical) — blue dashed
streamlineProbe.png

Graph information displayed: - Total line length (m)
- Average velocity along the line
- Flux integral ∫|V|·ds (m²/s)

Fitted Equations (shown below the graph): - Automatic polynomial curve fitting with R² values
- Equations can be copied with right-click → Copy

Extra actions in probe window: - Export CSV — saves distance, u, v, |V| data
- Copy Graph — copies the plot image to clipboard (ready for reports)

Right-click anywhere on the main streamline map to clear all tooltips instantly.

Tip: Use the Line Probe on critical sections (e.g., above a roof, through a gap between buildings, or along a pedestrian path) to get exact numbers for your analysis or validation.

This tool turns raw simulation data into clear, presentation-ready flow insights in seconds.

Pressure Contours

The Pressure Contours visualization shows the pressure distribution throughout the simulation domain. It helps identify high-pressure stagnation zones, low-pressure suction regions, wake effects, pressure gradients, and aerodynamic loading around obstacles.

Pressure contour

At a glance
Use Pressure Contours to examine where airflow pushes against a surface, where suction develops, and how pressure differences contribute to aerodynamic forces.

Available Pressure Fields

The visualization can display three pressure quantities:

  • Static Pressure Difference

Δp=pp \Delta p=p-p_\infty

  • Dynamic Pressure

pdyn=12ρ(u2+v2) p_{\mathrm{dyn}} = \frac{1}{2}\rho\left(u^2+v^2\right) - Total Pressure ptotal=Δp+pdyn p_{\mathrm{total}} = \Delta p+p_{\mathrm{dyn}}

where:

  • pp is the local static pressure
  • pp_\infty is the upstream reference pressure
  • pdynp_{\mathrm{dyn}} is the local dynamic pressure
  • ptotalp_{\mathrm{total}} is the displayed total pressure
  • ρ\rho is the fluid density
  • uu and vv are the local velocity components

The upstream reference pressure is calculated from the median pressure in a central fluid region near the inlet. Solid cells and invalid regions are excluded from this calculation.

Key Features

  • Static, Dynamic, and Total Pressure Modes
    Radio buttons allow switching between static pressure difference, dynamic pressure, and total pressure.

  • Pressure Contours
    High-resolution colour shading displays the selected pressure field. Static and total pressure use a diverging scale centred on zero, while dynamic pressure uses a non-negative scale.

  • Optional Isolines
    Black isolines can be shown over the coloured pressure field. Isolines are enabled by default.

  • Contour Detail Control
    The contour-density slider provides a range of 5–250 levels. Use fewer levels for a clean overview or more levels for detailed pressure-gradient inspection.

  • Value Tooltips
    Left-click a valid fluid location to display the local value of the currently selected pressure field. Multiple tooltips may be placed on the plot. Right-click clears all tooltips.

  • Porous and Blower Zones
    Porous and blower regions are displayed when the corresponding overlay functionality is available.

  • Line Probe
    Draw a line through the pressure field to inspect the pressure profile and calculate a raw two-dimensional pressure-force estimate normal to the selected line.

  • Box Probe
    Draw a rectangular probe to inspect pressure around its complete perimeter and calculate raw front, back, upper, and lower pressure contributions.

How to Open and Use

Click the Pressure Contours button in the Results panel.

A large pressure-analysis window opens with the contour plot on the left and the analysis controls on the right.

Available controls:

  • Contour Levels slider
  • Show Geometry checkbox
  • Show Isolines checkbox
  • Static Pressure radio button
  • Dynamic Pressure radio button
  • Total Pressure radio button
  • ⌖ Line Probe button
  • ⬜ Box Probe button
  • Live Aero Data panel
  • Manual drag-calibration controls

Line Probe Tool

  1. Click ⌖ Line Probe.
  2. The button changes to ⌖ Exit Line Probe.
  3. Click and drag a line across the pressure field.
  4. Release the mouse button.
  5. The probe-results window updates automatically.

The Line Probe window shows:

  • Pressure or selected-field value along the line
  • Distance measured from the start of the line
  • Filled positive and negative pressure areas
  • Total line length
  • Average absolute pressure value
  • Integrated scalar pressure for each valid line segment
  • Raw two-dimensional FxF_x and FyF_y estimates
  • Resultant force direction
  • Hover tooltips showing distance and pressure
  • Save Full Window button
  • Copy Image button

The force estimate is calculated from:

Ip=linep(s)ds I_p=\int_{\mathrm{line}}p(s)\,\mathrm{d}s

The integrated value is resolved normal to the selected line:

Fx=Ipnx F_x=I_p n_x

Fy=Ipny F_y=I_p n_y

where 𝐧̂=(nx,ny)\hat{\mathbf{n}}=(n_x,n_y) is the unit normal to the probe line.

Important
The Line Probe reports a raw two-dimensional diagnostic result. It is not the same as the automatically calculated aerodynamic force around a complete obstacle boundary.

The Line Probe is useful for examining pressure across a wake, narrow gap, roofline, jet, channel, or selected structural section.

Box Probe Tool

  1. Click ⬜ Box Probe.
  2. Click and drag a rectangular region over the pressure field.
  3. Release the mouse button.
  4. The probe window displays the pressure around the unwrapped box perimeter.

The perimeter starts at the top-left corner and proceeds counter-clockwise through:

  • Left or front face
  • Bottom face
  • Right or back face
  • Top face

The Box Probe reports:

  • Pressure around the complete box perimeter
  • Front-face pressure contribution
  • Back-face pressure contribution
  • Lower-face pressure contribution
  • Upper-face pressure contribution
  • Raw two-dimensional drag estimate
  • Raw two-dimensional lift estimate

The approximate box-force balance is:

Fx=FleftFright F_x=F_{\mathrm{left}}-F_{\mathrm{right}}

Fy=FbottomFtop F_y=F_{\mathrm{bottom}}-F_{\mathrm{top}}

The Box Probe is intended as a local momentum-balance diagnostic. Its raw results do not include the aerodynamic corrections or coefficient processing used by the Aero Data panel.

Probe Position Adjustment

After drawing a Line Probe or Box Probe, use the keyboard arrow keys to move the complete probe in small increments:

  • Up Arrow: move upward
  • Down Arrow: move downward
  • Left Arrow: move left
  • Right Arrow: move right

This allows precise positioning without redrawing the probe.

Automatic Aerodynamic Analysis

The software detects the largest suitable obstacle contour near the main simulation region and estimates aerodynamic loading from its surface-pressure distribution.

For closed bodies, outward normals are determined from the contour winding direction. For open or boundary-touching bodies, the software samples both sides of each segment to identify the fluid-facing normal.

Pressure is sampled a short distance outside the solid boundary using the original pressure field. A mild along-surface filter reduces grid-scale interpolation noise without clipping pressure coefficients.

The surface-relative pressure is:

Δps=psp \Delta p_s=p_s-p_\infty

where:

  • psp_s is the sampled surface pressure
  • pp_\infty is the median upstream reference pressure

The pressure-force contribution from each boundary segment is:

d𝐅=Δps𝐧̂ds \mathrm{d}\mathbf{F}=-\Delta p_s\,\hat{\mathbf{n}}\,\mathrm{d}s

The total pressure force per unit span is:

𝐅p=ΩΔps𝐧̂ds \mathbf{F}_p = \oint_{\partial\Omega} -\Delta p_s\,\hat{\mathbf{n}}\,\mathrm{d}s

where:

  • 𝐧̂\hat{\mathbf{n}} is the outward body-normal vector
  • dsds is the boundary-segment length
  • Ω\partial\Omega is the detected obstacle boundary

Because the simulation is two-dimensional, force is reported per unit depth with units of N/m.

Pressure-only integration
Directly integrated forces include pressure loading but do not include viscous wall-shear stress.

Closed and Open Contours

A small contour gap—such as the finite trailing-edge gap of an airfoil—may be closed automatically when its endpoints are separated by only a few grid cells.

A large opening, such as the lower boundary of a ground-contacting vehicle, remains open. In this situation:

  • Pressure drag can still be estimated from the exposed surface.
  • Lift is reported as N/A unless the wetted contour is closed and at least 95% of the surface has valid pressure samples.

This prevents incomplete lower-surface data from producing a misleading lift coefficient.

Freestream Reference Values

The freestream pressure and velocity are measured from valid fluid cells in the central inlet region.

By default, the software prefers the measured inlet speed. If a reliable measured value is unavailable, it uses the configured inlet velocity as a fallback.

The freestream dynamic pressure is:

pdyn,=12ρU2 p_{\mathrm{dyn},\infty} = \frac{1}{2}\rho U_\infty^2

where:

  • pdyn,p_{\mathrm{dyn},\infty} is the freestream dynamic pressure
  • ρ\rho is the fluid density
  • UU_\infty is the measured or configured freestream velocity

The Aero Data panel identifies whether UU_\infty came from the measured inlet, configured inlet, or fallback value.

Automatic Pressure-Scale Check

For bluff bodies, the software compares the pressure rise near the forward stagnation region with the velocity-based dynamic pressure.

At a stagnation point:

pstagppdyn, p_{\mathrm{stag}}-p_\infty \approx p_{\mathrm{dyn},\infty}

If the pressure and velocity scales differ substantially, the integrated bluff-body force can be automatically rescaled. Small differences are ignored because grid interpolation and stagnation-point sampling do not produce exact equality.

This automatic scaling is not applied to airfoil cases handled by the optional airfoil polar model.

Wind-Tunnel Blockage Correction

When Wind Tunnel Mode is active, the software can apply a blockage correction based on:

B=HLy B=\frac{H}{L_y}

where:

  • HH is the projected body height
  • LyL_y is the domain height
  • BB is the blockage ratio

The implemented correction uses solid and wake contributions:

ϵsolid=12B2 \epsilon_{\mathrm{solid}}=\frac{1}{2}B^2

ϵwake=14max(CD,0)B \epsilon_{\mathrm{wake}} = \frac{1}{4}\max(C_D,0)B

KB=1(1+ϵsolid+ϵwake)2 K_B = \frac{1} {\left(1+\epsilon_{\mathrm{solid}}+\epsilon_{\mathrm{wake}}\right)^2}

The correction factor is limited to a minimum value of 0.40.4.

Use Wind Tunnel Mode only when the simulation represents a confined test section. Do not apply blockage correction to an open outdoor-flow domain.

Airfoil Detection and Angle of Attack

The software estimates the principal geometry axis and uses it as the chord direction. A closed body with a sufficiently small thickness-to-chord ratio is classified as an airfoil.

For detected airfoils:

  • The chord direction is calculated from the principal geometry axis.
  • Angle of attack is determined from the detected geometry.
  • A clockwise nose-up orientation is positive by default.
  • A GUI angle-of-attack override is used only when explicitly enabled.
  • Bluff bodies and geometries without a reliable chord direction report angle of attack as N/A.

Aerodynamic Coefficients

The software reports coefficients using both projected height and chord length.

Projected Height Reference [H]

Use the height-based convention for buildings, cylinders, vehicles, bluff bodies, and objects where projected frontal height is the most meaningful reference length.

CD[H]=Dpdyn,H C_D[H] = \frac{D}{p_{\mathrm{dyn},\infty}H}

CL[H]=Lpdyn,H C_L[H] = \frac{L}{p_{\mathrm{dyn},\infty}H}

(LD)[H]=CL[H]CD[H] \left(\frac{L}{D}\right)[H] = \frac{C_L[H]}{C_D[H]}

where:

  • HH is the projected body height
  • DD is pressure drag per unit span
  • LL is lift per unit span
Chord Reference [c]

Use the chord-based convention for airfoils, streamlined bodies, and wind-tunnel-style analysis.

CD[c]=Dpdyn,c C_D[c] = \frac{D}{p_{\mathrm{dyn},\infty}c}

CL[c]=Lpdyn,c C_L[c] = \frac{L}{p_{\mathrm{dyn},\infty}c}

(LD)[c]=CL[c]CD[c] \left(\frac{L}{D}\right)[c] = \frac{C_L[c]}{C_D[c]}

where cc is the detected chord or streamwise reference length.

For pressure-integrated results, the chord-based coefficients are converted from the height-based coefficients using the ratio H/cH/c.

Reynolds Number

The software calculates:

ReH=UHν Re_H=\frac{U_\infty H}{\nu}

Rec=Ucν Re_c=\frac{U_\infty c}{\nu}

where ν\nu is the kinematic viscosity.

The displayed Reynolds-number reference is selected automatically:

  • User reference length, when one is supplied
  • Height for very thick or bluff bodies
  • Maximum dimension for moderately thick bodies
  • Chord for thin bodies and airfoils

Aero Data Panel

The live Aero Data panel displays:

  • Reynolds number and its selected reference length
  • Angle of attack and its source
  • Aerodynamic-result source
  • Pressure drag in N/m
  • Lift in N/m, when valid
  • Height-based CDC_D, CLC_L, and L/DL/D
  • Chord-based CDC_D, CLC_L, and L/DL/D
  • Freestream velocity and its source
  • Active manual-calibration multiplier

Right-click the panel or press Ctrl+C to copy its contents.

Details of Aerodynamics Analysis

Manual Drag Calibration

A trusted experimental or reference drag coefficient can be entered in the Correct Cd field.

  • Set [H] calibrates against the height-based drag coefficient.
  • Set [c] calibrates against the chord-based drag coefficient.
  • Reset removes the manual calibration.

The software calculates a multiplier:

k=CD,targetCD,current k=\frac{C_{D,\mathrm{target}}}{C_{D,\mathrm{current}}}

This multiplier is applied consistently to displayed force and coefficient values. When calibration is active, the Aero Data text changes colour and displays the multiplier.

Use manual calibration only when reliable experimental or reference data are available.

How to Interpret the Pressure Plot

  • High positive static pressure in front of an object usually indicates stagnation, where airflow slows and pushes against the surface.
  • Negative static pressure around corners, roof edges, or curved upper surfaces usually indicates suction and local acceleration.
  • Large pressure differences across a body generally indicate increased aerodynamic loading.
  • Alternating pressure regions in a wake may indicate unsteady separation or vortex shedding.
  • Strong pressure gradients through gaps may indicate jetting, channeling, or local flow acceleration.
  • High dynamic pressure indicates regions of high local flow speed.
  • Reduced total pressure downstream can indicate energy loss through separation, mixing, or porous resistance.

Accuracy Tips

  • Maintain at least approximately 5 body heights of clearance from walls when possible.
  • Keep the body away from the inlet and outlet boundaries.
  • Allow the simulation to stabilize before recording aerodynamic values.
  • Confirm that residuals, mass balance, and coefficient changes are stable.
  • Treat Line Probe and Box Probe forces as raw two-dimensional diagnostics.
  • Treat pressure-integrated aerodynamic values as pressure-only estimates.
  • Remember that lift is unavailable when the wetted contour is incomplete.
  • Use manual calibration only with trusted experimental or reference data.
  • Check the source label in the Aero Data panel to determine whether results came from pressure integration or the optional airfoil polar.

Particle Tracking & PM2.5 Pollution Analyzer

Click the Particle Tracking button to open the mode-selection window.

Particle Tracking Launcher

Two analysis modes are available:

  • General Particle Tracking — Physics and Aerodynamics
    Displays animated tracer particles and an optional qualitative smoke overlay.

  • PM2.5 Pollution Analyzer — EPA-Referenced Environmental Model
    Provides scenario-based PM2.5 transport, concentration reconstruction, source and filter tools, WHO guideline comparison, and PDF reporting.

Both modes use the currently loaded velocity field. The launcher can also be controlled using:

  • Ctrl+1: open General Particle Tracking
  • Ctrl+2: open the PM2.5 Pollution Analyzer
  • Esc: close the launcher

General Particle Tracking

General Particle Tracking visualises the solved flow using animated tracer particles. It is intended for examining flow direction, recirculation, stagnation, ventilation paths, and the influence of obstacles or porous regions.

Particle tracking & smoke overlay
Particle Movement

Particles are normally released from fluid cells along the left inlet. One or more custom particle-inlet polygons may also be defined.

Each particle is transported using the interpolated velocity field:

xk+1=xk+u(xk,yk)Δt+ηx x_{k+1}=x_k+u(x_k,y_k)\Delta t+\eta_x

yk+1=yk+v(xk,yk)Δt+ηy y_{k+1}=y_k+v(x_k,y_k)\Delta t+\eta_y

where:

  • uu and vv are the local velocity components
  • Δt\Delta t is the visual particle timestep
  • ηx\eta_x and ηy\eta_y are small random displacements used to give the tracer motion a natural appearance

Particle movement is divided into smaller substeps to reduce the chance of particles crossing solid obstacles.

Stuck Particles

The reference velocity is calculated from the 95th percentile of fluid velocity magnitude.

A particle is classified as stuck when:

Vparticle<0.001Vreference V_{\mathrm{particle}} < 0.001\,V_{\mathrm{reference}}

Stuck particles are removed from the moving-particle population and displayed as red markers. The current number of stuck particles is shown in the side panel.

Exclude Regions

Use Exclude Region to draw polygons that should not contribute to the stuck-particle count.

Particles inside an excluded region:

  • Continue moving normally
  • Remain visible
  • Are ignored when calculating trapped or stuck-particle statistics

Use Clear Exclusions to remove all exclusion polygons.

Custom Particle Inlets

Use Set Particle Inlet to draw one or more custom particle-release regions.

When custom inlet polygons are active, particles are released from those regions instead of only from the left boundary.

Available inlet controls include:

  • Set Particle Inlet
  • Reset Particle Inlets
  • Show/Hide Particle Inlet Zones
General Tracking Controls

The upper controls include:

  • Particle Speed (×) — changes the visual particle time scale
  • Color — changes particle brightness and contrast
  • Amount — selects the requested particle population

The side controls include:

  • Run/Reset
  • Stop
  • Exclude Region
  • Clear Exclusions
  • Set Particle Inlet
  • Reset Particle Inlets
  • Show/Hide Porous Zones
  • Show/Hide Particle Inlet Zones

Qualitative Smoke Overlay

Enable Smoke overlay to replace the individual tracer dots with a continuous plume-style visualization.

When the smoke overlay is active:

  • Moving tracer dots are hidden
  • Stuck-particle dots are hidden
  • The smoke field remains based on the same tracer-particle positions
  • Particle inlet and exclusion-editing controls are temporarily disabled

The smoke overlay is qualitative and unitless. It does not represent a physical pollutant concentration in μg/m3\mu\mathrm{g/m^3}.

Smoke Controls
  • Opacity — controls overlay transparency
  • Thickness (m) — controls the plume-smoothing radius
  • Trail (decay) — controls how long previous particle traces remain visible
  • Theme — selects the display colour scheme

Available themes are:

  • Blue Cloud
  • Smoke
  • Toxic Gas
  • Heatmap
Smoke-Field Calculation

Particle footprints are deposited onto the simulation grid using bilinear weighting. A particle contributes to its four nearest cells:

Dij=pwij,p D_{ij} = \sum_p w_{ij,p}

where wij,pw_{ij,p} is the bilinear contribution of particle pp to cell (i,j)(i,j).

The deposited field is then smoothed using a Gaussian filter controlled by the Thickness setting:

D̃=Gσ*D \widetilde D = G_\sigma*D Trail memory is calculated as: Ck+1=αCk+D̃ C_{k+1} = \alpha C_k+\widetilde D

where:

  • CkC_k is the previous smoke field
  • D̃\widetilde D is the newly deposited and smoothed particle field
  • α\alpha is the value selected using the Trail control

An outlet sponge gradually reduces the smoke field near the downstream boundary. Solid cells are masked from the final display.

The display is normalised using a running estimate of the 98th percentile:

I=[clip(CC98,EMA,0,1)]0.72 I = \left[ \operatorname{clip} \left( \frac{C}{C_{98,\mathrm{EMA}}}, 0, 1 \right) \right]^{0.72}

This normalisation improves visibility but means the displayed percentage is relative to the current plume intensity.

Reading Smoke Values

When the smoke overlay is enabled:

  • Left-click a fluid location to display Pollution: XX%
  • Right-click to clear all smoke tooltips

The displayed percentage is a normalised visual intensity. It has no physical concentration units.

When to Use General Particle Tracking

Use General Particle Tracking for:

  • Flow-path visualization
  • Recirculation identification
  • Stagnation-zone detection
  • Qualitative ventilation studies
  • Inlet-placement studies
  • Porous-zone visualization
  • Rapid visual comparison of airflow designs

PM2.5 Pollution Analyzer

The PM2.5 Pollution Analyzer is a scenario-screening tool that transports weighted PM2.5 particles through the current horizontal velocity field and reconstructs a modeled airborne concentration field in μg/m3\mu\mathrm{g/m^3}.

PM2.5 Pollution Analyzer

Important
The PM2.5 Analyzer is not a certified regulatory dispersion model, monitoring instrument, or legal compliance tool. Results depend on the airflow solution, emission assumptions, source factors, grid scale, mixing assumptions, and reporting height. Source rates should be calibrated using trusted site data whenever possible.

Main Window

The PM2.5 Analyzer opens in a maximized window containing:

  • The simulation map
  • A Dashboard tab
  • An Editor tab
  • Description, PDF Report, and PM2.5 Probe buttons
  • Quick WHO 24h Estimate and Use Full Sim controls

The map displays:

  • Solid obstacles
  • Source polygons
  • Filter polygons
  • A blue dashed Zone of Interest
  • Airborne PM2.5 particles
  • An optional concentration heatmap

PM2.5 Transport Model

Each computational particle carries:

  • Horizontal position (x,y)(x,y)
  • Reporting and settling height zz
  • Total particle mass
  • PM2.5 mass
  • Source colour
  • First-order removal coefficient
  • Settling velocity
  • Consecutive stagnation count

Horizontal particle motion follows the solved velocity field:

dxdt=u(x,y) \frac{dx}{dt}=u(x,y)

dydt=v(x,y) \frac{dy}{dt}=v(x,y)

The implementation uses midpoint velocity sampling and CFL-based substeps to reduce numerical wall crossing.

A small stochastic displacement represents unresolved mixing:

xk+1=xk+uΔt+ηx x_{k+1} = x_k+u\Delta t+\eta_x

yk+1=yk+vΔt+ηy y_{k+1} = y_k+v\Delta t+\eta_y

The stochastic mixing term is a scenario-model parameter rather than a complete atmospheric turbulence model.

Settling

Particle height is reduced using the source-specific settling velocity:

zk+1=clip(zkvsΔt,0,Hcolumn) z_{k+1} = \operatorname{clip} \left( z_k-v_s\Delta t, 0, H_{\mathrm{column}} \right)

where:

  • vsv_s is the settling-velocity parameter
  • HcolumnH_{\mathrm{column}} is the modeled column height
First-Order Removal

Particle mass decreases using:

mk+1=mkekrΔt m_{k+1} = m_k e^{-k_r\Delta t}

where krk_r is the source-specific removal or decay coefficient.

Removed mass is recorded in the decay portion of the mass ledger.

Canyon-Height Effect

The Canyon Height setting reduces effective near-ground horizontal transport. The effect is strongest near the ground and decreases with particle height.

Increasing Canyon Height can therefore increase the modeled residence time of near-ground particles.

This setting is a simplified street-canyon trapping proxy. It does not replace a fully resolved three-dimensional canyon-flow simulation.

PM2.5 Sources

PM2.5 editor{width=20 Open the Editor tab to add or manage pollutant sources.

Available source types include:

  • Traffic (Light)
  • Diesel Truck
  • Construction
  • Industry Stack
  • Wildfire

To add a source:

  1. Select the source type.
  2. Click Add Source.
  3. Left-click to place polygon vertices.
  4. Right-click to finish the polygon.
  5. Start or resume the simulation.

Each source has:

  • Total emission rate in μg/s\mu\mathrm{g/s}
  • PM2.5 fraction
  • Removal or decay coefficient
  • Settling velocity
  • Initial height bias
  • Display colour
  • Per-zone emission multiplier

The PM2.5 emission rate is:

RPM2.5=RtotalfPM2.5 R_{\mathrm{PM2.5}} = R_{\mathrm{total}}f_{\mathrm{PM2.5}}

where:

  • RtotalR_{\mathrm{total}} is the configured total emission rate
  • fPM2.5f_{\mathrm{PM2.5}} is the PM2.5 mass fraction

The PM2.5 mass emitted over one timestep is:

ΔmPM2.5=RPM2.5Δt \Delta m_{\mathrm{PM2.5}} = R_{\mathrm{PM2.5}}\Delta t The source list also displays the source area and PM2.5 flux: ΦPM2.5=RPM2.5Asource \Phi_{\mathrm{PM2.5}} = \frac{R_{\mathrm{PM2.5}}}{A_{\mathrm{source}}}

Each source polygon includes a multiplier from approximately 0.10.1 to 8.08.0. Changing this multiplier changes the source emission rate without altering the base source definition.

Editing Source Factors

Click Edit Source Factors to modify:

  • Total emission rate
  • PM2.5 fraction
  • Removal coefficient
  • Settling velocity
  • Initial height bias
  • Display colour

Source-factor sets can be imported from or exported to JSON files.

Important
The built-in source factors are scenario inputs. They should not be treated as universal emission factors.

Filters

Use Add Filter to draw a green filter polygon.

Particles entering a filter polygon are removed from the airborne population. Their mass is recorded in the filter portion of the audit ledger.

The current implementation treats a filter polygon as complete removal. It does not apply a fractional filter efficiency.

Filters can be deleted individually from the active source and filter list.

Zone of Interest

The blue dashed Zone of Interest defines the region used for:

  • Mean concentration
  • Spatial 95th percentile
  • Maximum concentration
  • Exposed-area percentage
  • Time-averaged WHO comparison
  • PDF report statistics

A default central Zone of Interest is created when no user-defined zone exists.

To replace it:

  1. Open the Editor tab.
  2. Click Redraw Zone.
  3. Left-click to define the polygon vertices.
  4. Right-click to finish the polygon.

If no valid Zone of Interest is available, statistics are calculated over the full modeled domain.

Reporting Modes

Two reporting modes are available.

Breathing (Z<2m)

Breathing mode includes airborne particles with:

z<2m z<2\ \mathrm{m}

The modeled concentration is divided by a reporting-layer height of 2m2\ \mathrm{m}.

Use this mode as a near-ground exposure proxy.

Column Proxy

Column Proxy includes airborne particles across the modeled vertical column. The current column-height proxy is 10m10\ \mathrm{m}.

Use this mode to view a depth-averaged or column-style concentration proxy.

Important
The horizontal airflow solution remains two-dimensional. Particle height is a settling, canyon-response, and reporting variable—not a fully solved vertical airflow dimension.

Changing the reporting mode changes:

  • Which airborne particles contribute to the heatmap
  • The reporting volume used to calculate concentration
  • Dashboard statistics
  • Tooltips
  • Line-probe values
  • PDF report results

Changing reporting mode does not change the underlying particle-transport physics.

Scatter Follows Reporting Mode

When Scatter follows reporting mode is enabled, visible particle dots are filtered to match the selected reporting mode.

For example, Breathing mode displays only particles below 2m2\ \mathrm{m}.

When disabled, the scatter plot shows a decimated sample of all airborne particles, while the heatmap and statistics continue to follow the selected reporting mode.

Concentration Heatmap

Enable Show Concentration Heatmap (2D) to display the reconstructed airborne PM2.5 concentration field.

Deposited, collided, filtered, vented, decayed, culled, and deleted mass are excluded from the airborne concentration field.

Particle-to-Grid Deposition

Airborne PM2.5 particle mass is deposited onto a reporting grid using cloud-in-cell weighting:

mij=pwij,pmp m_{ij} = \sum_p w_{ij,p}m_p

where:

  • mpm_p is the PM2.5 mass carried by particle pp
  • wij,pw_{ij,p} is its contribution to grid cell (i,j)(i,j)

The deposited mass field is smoothed using a Gaussian filter:

m̃=Gσ*m \widetilde m = G_\sigma*m

The smoothing distance is related to the configured probe radius.

Conversion to Concentration

Concentration is calculated by dividing the smoothed airborne PM2.5 mass by the reporting-cell volume:

Cij=m̃ijAcellHreport C_{ij} = \frac{\widetilde m_{ij}} {A_{\mathrm{cell}}H_{\mathrm{report}}}

where:

  • CijC_{ij} is the modeled PM2.5 concentration in μg/m3\mu\mathrm{g/m^3}
  • m̃ij\widetilde m_{ij} is the smoothed airborne PM2.5 mass in the cell
  • AcellA_{\mathrm{cell}} is the cell area
  • HreportH_{\mathrm{report}} is the selected reporting-layer height

For Breathing mode:

Hreport=2m H_{\mathrm{report}}=2\ \mathrm{m}

For Column Proxy:

Hreport=10m H_{\mathrm{report}}=10\ \mathrm{m}

The heatmap therefore represents reconstructed airborne concentration, not deposited surface mass.

Reading Local PM2.5 Values

Left-click the map in normal viewing mode to display:

  • The selected reporting mode
  • Local modeled PM2.5 concentration in μg/m3\mu\mathrm{g/m^3}

A blue dashed circle marks the tooltip location.

Right-click clears all concentration tooltips.

Tooltip values are sampled from the reconstructed concentration grid rather than directly from the nearest visible particle.

Use Ctrl+mouse wheel to zoom the PM2.5 map around the cursor position.

Dashboard Statistics

PM2.5 Dashboard

The Simulated Exposure panel reports statistics for the current Zone of Interest or, when unavailable, the full domain.

Displayed values include:

  • Typical concentration — arithmetic zone mean
  • High concentration — spatial 95th percentile
  • Highest local concentration — maximum grid-cell concentration
  • Area at or above 15 μg/m3\mu\mathrm{g/m^3} — exposed-area percentage

The exposed-area percentage is:

Aexposed=100N(C15)Nvalid A_{\mathrm{exposed}} = 100 \frac{N\left(C\ge15\right)} {N_{\mathrm{valid}}}

where:

  • N(C15)N(C\ge15) is the number of reporting cells at or above 15μg/m315\ \mu\mathrm{g/m^3}
  • NvalidN_{\mathrm{valid}} is the number of valid cells in the reporting region

The PDF report additionally includes the 95th percentile among exposed cells.

Important
Spatial P95 and maximum concentration describe hotspot severity. They are not used as WHO compliance metrics.

WHO Guideline Comparison

WHO guidline comparison

The WHO panel compares the time-averaged regional mean with the WHO 2021 PM2.5 24-hour guideline of:

15μg/m3 15\ \mu\mathrm{g/m^3}

The annual guideline shown for reference is:

5μg/m3 5\ \mu\mathrm{g/m^3}

An annual result cannot be established from a short scenario simulation.

Before 24 simulated hours are completed, the WHO panel is labelled:

PRELIMINARY — X of 24 hours simulated

After 24 simulated hours, the panel reports either:

  • AT OR BELOW WHO 24-HOUR GUIDELINE
  • ABOVE WHO 24-HOUR GUIDELINE

The WHO comparison uses a time-averaged regional mean. It does not use spatial P95 or maximum concentration as the comparison metric.

Quick WHO 24h Estimate

After at least one simulated minute, click Quick WHO 24h Estimate to calculate a projected 24-hour mean.

The projection:

  • Retains the time-integrated concentration simulated so far
  • Assumes the current regional mean continues for the remainder of 24 hours
  • Is clearly labelled as PROJECTED
  • Is not equivalent to a completed 24-hour transient simulation

Click Use Full Sim to return to the accumulated simulation result.

Simulation Speed

Three simulated-time speeds are available:

  • 1× Normal — best for inspecting particle motion
  • 5× Fast — default accelerated mode
  • 20× WHO Fast — faster simulated-time accumulation for long-duration screening

The acceleration control performs additional complete model steps between graphical redraws. Each model step retains the normal timestep and CFL-based substepping.

Actual runtime depends on:

  • Particle count
  • Number and strength of sources
  • Grid dimensions
  • Computer performance
  • Heatmap and display workload

PM2.5 Mass Tracking

The model records PM2.5 mass through several pathways:

  • Airborne — mass currently carried by active particles
  • Source buckets — emitted mass waiting to be assigned to particles
  • Filtered — mass removed by filter polygons
  • Vented — mass that leaves the domain
  • Collided — mass removed after entering solid obstacle cells
  • Deposited — mass removed after remaining in a low-speed wall-proximate region
  • Decayed — mass removed by first-order decay
  • Culled — administrative population-control mass, when required
  • Deleted — mass associated with a source deleted during a simulation

The PM2.5 mass balance is:

MemittedMairborne+Msourcebuckets+Mfiltered+Mvented+Mcollided+Mdeposited+Mdecayed+Mculled+Mdeleted M_{\mathrm{emitted}} \approx M_{\mathrm{airborne}} + M_{\mathrm{source\ buckets}} + M_{\mathrm{filtered}} + M_{\mathrm{vented}} + M_{\mathrm{collided}} + M_{\mathrm{deposited}} + M_{\mathrm{decayed}} + M_{\mathrm{culled}} + M_{\mathrm{deleted}} The audit residual is: εaudit=100MemittedMaccountedMemitted \varepsilon_{\mathrm{audit}} = 100 \frac{ M_{\mathrm{emitted}}-M_{\mathrm{accounted}} }{ M_{\mathrm{emitted}} }

A residual near zero indicates internally consistent bookkeeping.

The on-screen technical panel shows:

  • Collided mass
  • Deposited mass
  • Filtered mass
  • Vented mass
  • Simulated time

The complete audit is included in the PDF report.

PM2.5 Line Probe

PM2.5 Line Probe

Click PM2.5 Probe to open the interactive line-probe tool.

To use it:

  1. Click PM2.5 Probe.
  2. Click and drag a line across the main PM2.5 map.
  3. Release the mouse button.
  4. Review the concentration profile in the probe window.
  5. Press Esc or close the probe window to exit probe mode.

The probe reports:

  • Line length
  • Length-weighted mean concentration
  • Spatial P95 along the line
  • Maximum concentration
  • Concentration-distance integral
  • A concentration profile graph

The concentration-distance integral is:

IC=C(s)ds I_C = \int C(s)\,\mathrm{d}s Its units are: μg/m2 \mu\mathrm{g/m^2}

The line integral is not inhaled dose and is not pollutant mass flow.

Calculating dose would require breathing rate and exposure time. Calculating mass flow would require velocity and a physical cross-sectional area.

The probe window includes:

  • Export numeric data (CSV)
  • Copy graph (clipboard)

The CSV file contains:

  • Sample index
  • Distance along the line
  • Model coordinates
  • PM2.5 concentration
  • Line mean
  • P95
  • Maximum
  • Concentration-distance integral

Description

Click Description to open detailed documentation covering:

  • Purpose and scope
  • Reporting modes
  • Source parameters
  • Transport assumptions
  • Concentration reconstruction
  • WHO interpretation
  • Line-probe interpretation
  • Mass auditing
  • Limitations and references

The description is formatted for printing. Use the browser’s Print command and select Save as PDF if a separate description document is required.

PDF Report

PM2.5 Report

Click PDF Report to generate and save a professional PM2.5 scenario-screening report.

The report includes:

  • Executive summary
  • Current model snapshot
  • Reporting mode
  • Zone of Interest
  • Mean, P95, maximum, and exposed-area statistics
  • WHO 24-hour comparison status
  • Source inventory
  • PM2.5 emission rates and fluxes
  • Mass-balance audit
  • Canyon and reporting configuration
  • Model methodology
  • Interpretation guidance
  • Limitations and disclaimers

The report clearly identifies preliminary and projected WHO results.

Important
The generated report supports scenario comparison, design discussion, and ESG documentation. It does not convert the simulation into a certified regulatory assessment.

Performance and Stability

The PM2.5 Analyzer includes several performance safeguards:

  • Maximum active-particle population
  • Weighted particles representing finite pollutant mass
  • Mass-preserving population reduction when particle count becomes excessive
  • Decimated particle display
  • Concentration-grid resolution limits
  • Heatmap updates less frequently than physics updates
  • CFL-based transport substeps
  • Accelerated simulated-time modes

For improved performance:

  • Use moderate source multipliers during setup.
  • Pause the simulation while editing source factors.
  • Disable the heatmap temporarily when inspecting particle motion.
  • Use 20× WHO Fast only when rapid simulated-time accumulation is needed.
  • Review the audit residual after long runs or major source changes.

Line Probe

The Line Probe tool extracts precise values across any two points, or along a multi-point polyline, in the flow domain. It is useful for checking velocity variation, pressure change, mass-flow balance, and integrated velocity metrics along a user-defined path.

At a glance
The Line Probe samples flow variables along a drawn path and automatically reports distance-based plots, segment-wise mass flow, and integrated velocity metrics such as ∫ U ds, ∫ U² ds, and ∫ U³ ds.

Drawing a Line Probe
Line Probe Output

Steps

  1. Start Probe
    Click Line Probe, then draw a polyline along the path you want to sample.

  2. Reference Scaling (distance calibration)

    • If your domain axes are already 1:1 in meters, press OK in the dialog. No calibration is needed.
    • If your domain is scaled from pixels, CAD, or an image, draw a short reference line over a feature with a known real-world length, then enter that length in meters.
    • This sets the meters-per-unit scale so distances, mass flow rate, and integrated values are computed correctly.

Common integrated values
∫ U ds = integral of velocity
∫ U² ds = integral of velocity squared
∫ U³ ds = integral of velocity cubed

  1. Auto Plots
    The tool automatically generates:
    • Velocity Magnitude vs Distance
    • Static Pressure vs Distance
    • Vx and Vy Components vs Distance
    • Mass Flow per Segment
    Distance is shown in meters using the scale from Step 2.

Mass-flow relation
ṁ = ρ × Vₙ × A

where: - is mass flow rate - ρ is fluid density - Vₙ is velocity normal to the line segment - A is the segment area, or effective segment width in the 2-D model

  1. Interactive Table
    Shows sampled data:
    • X
    • Y
    • V
    • P
    • Vx
    • Vy
  2. Save
    Export the composite PNG plot.

Graph (Line Probe) Description

This section explains what each line-probe graph shows and how the summary numbers are computed.

You draw a polyline, and the tool resamples the field along its arc length from the start point to the end point.

Symbols used in this section

  • s = distance along the polyline
  • L = total polyline length
  • Δsᵢ = local segment length
  • uₓ = x-direction velocity component
  • uᵧ = y-direction velocity component
  • U = velocity magnitude

Velocity magnitude definition
U = sqrt(uₓ² + uᵧ²)

Raw vs Smoothed Curves

Each plot can show raw samples and a gently smoothed curve.

  • Raw samples are the direct values taken from the solver field.
  • Smoothed curves are display curves used to make trends easier to read.
  • Integrals labeled raw are calculated from the unsmoothed samples.
  • Integrals labeled smoothed are calculated from the displayed curve.
  • The exported data table always contains the raw samples.

Important
Use the raw values for numerical checking and the smoothed curve for visual interpretation. Small differences between raw and smoothed integrals are normal.

Velocity Magnitude U [m/s]
  • Curve: U(s) versus distance s.

Integrals shown in the lower-right badge

∫ U ds [m²/s]
∫ U² ds [m³/s²]
∫ U³ ds [m⁴/s³]

Optional mean velocity
U_mean = (1 / L) × ∫ U ds

  • Notes:
    • ∫ U ds gives an accumulated velocity-length measure along the path.
    • ∫ U² ds is kinetic-energy-like and highlights faster regions.
    • ∫ U³ ds heavily weights velocity peaks and can be used as a proxy for transport potential, especially in sand or dust movement studies.

Example: Using a Near-Surface Line Probe and ∫ U³ ds for Sand Transport

Goal: Estimate along-line aeolian sand transport over 2-D topography using Bagnold-style cubic velocity scaling and the line-probe metric ∫ U³ ds.

1) Bagnold Scaling

Bagnold form used here
q = C × (ρ / g) × sqrt(d / D) × u∗³

Where:

  • q = sand mass flux per unit width [kg/s/m]
  • ρ = air density
  • g = gravitational acceleration
  • d = grain size
  • D = reference grain size
  • u∗ = friction or shear velocity
  • C = empirical coefficient

Coefficient C

A practical range is: - C ≈ 1.5 for uniform, well-sorted sand - C ≈ 2.8 for widely graded sand

Practical tip: Start with C = 2.0, then calibrate against measured fluxes if field data are available.

3) Combine Bagnold Scaling with the Log Law

Combined form
q = K × U³

where

K = C × (ρ / g) × sqrt(d / D) × [κ / ln(z_ref / z₀)]³

If z_ref and z₀ are uniform along the probe, then K is constant.
If roughness changes strongly along the line, use a local value:

Kᵢ = local K for segment i

4) Draw a Polyline Line Probe Along the Near-Surface Path

Let the sampled vertices be (xᵢ, yᵢ) and the local arc-length spacing be Δsᵢ.

Tool metric

∫ U³(s) ds ≈ Σ(Uᵢ³ × Δsᵢ)

This means the line probe adds the cubic velocity contribution from each segment along the drawn path.

5) Convert the Metric to Transport

Total along-line transport

Q_line ≈ K × ∫ U³ ds

With SI inputs in K, the result Q_line is in kg/s.

6) Optional Threshold for Motion

If a threshold friction velocity applies, segments below the threshold should be set to zero.

Threshold definitions

  • u∗t = threshold friction velocity
  • U_t = equivalent threshold wind speed at the reference height

Threshold wind speed

U_t = (u∗t / κ) × ln(z_ref / z₀)

Thresholded transport estimate

Q_line ≈ K × Σ[max(Uᵢ³ − U_t³, 0) × Δsᵢ]

Assumptions / Tips

Assumptions and practical tips

  • Use one consistent z_ref along the polyline when possible.
  • Keep the probe above the roughness sublayer.
  • If z₀ varies strongly, treat K locally as Kᵢ.
  • Choose d and C for the expected sand type.
  • The method is most appropriate for dry, non-cohesive sand.
  • The ∫ U³ ds metric is a proxy for the Bagnold driver. Larger values indicate stronger transport potential along the drawn path.
Static Pressure p [Pa]
  • Curve: p(s) versus distance s.

Pressure summary

∫ p ds [Pa·m]

Optional mean pressure
p_mean = (1 / L) × ∫ p ds

  • Note: This is a line measure along the probe. It is not a surface force by itself.
Velocity Components uₓ and uᵧ [m/s]
  • Curves: uₓ(s) and uᵧ(s) versus distance s.

Component note
The components can be positive or negative. The velocity magnitude U is always non-negative.

These component plots are useful for identifying flow reversal, recirculation, jet direction, and cross-flow behavior.

Mass Flow Across the Polyline [kg/s]

Let:

  • ρ = fluid density
  • n(s) = unit normal vector of the polyline, pointing to the measured side
  • nₓ = x-component of the unit normal
  • nᵧ = y-component of the unit normal
  • Vₙ(s) = velocity normal to the polyline

Normal velocity

Vₙ(s) = uₓ(s) × nₓ(s) + uᵧ(s) × nᵧ(s)

Mass-flow density per unit length

ṁ′(s) = ρ × Vₙ(s)
Units: kg/s/m

Per-segment mass flow

ṁᵢ = ρ × Vₙᵢ × Δsᵢ
Units: kg/s

What Is Plotted

The mass-flow graph can show either:

  • ṁ′(s) versus distance s, or
  • per-segment totals ṁᵢ

Recommended display
ṁ′(s) versus s

This makes it easier to see where flow crosses the line most strongly.

Totals Shown in the Badge

Raw sum, discrete

Σ = Σ(ρ × Vₙᵢ × Δsᵢ)
Units: kg/s

This is the conservation check and matches the data table.

Continuous integral

Integral mass flow = ∫ ṁ′(s) ds
Units: kg/s

This is computed over the displayed curve, either raw or smoothed depending on the label. Small differences from the discrete sum are normal when smoothing or resampling is applied.

Units Sanity Check

Quick unit check

ρ [kg/m³] × Vₙ [m/s] × Δs [m] = kg/s
ṁ′ = ρ × Vₙkg/s/m
∫ ṁ′ ds = kg/s

U [m/s] × length [m] = m²/s
U² [m²/s²] × length [m] = m³/s²
U³ [m³/s³] × length [m] = m⁴/s³

Report & Analysis

The Report tool builds a polished, ESG-ready PDF and a Word-friendly bundle from your current simulation. It combines the selected Region of Interest (ROI), named Points of Interest (POIs), cross-design .pkl comparisons, and an integrated energy calculator to generate flow statistics, efficiency charts, carbon metrics, and AI-assisted engineering narratives.

The purpose of this report is to help users move from CFD visualization to practical engineering decisions: identifying whether a design improves airflow delivery, reduces resistance, supports fan speed reduction, improves outdoor-air effectiveness, or reveals hidden energy penalties.

Workflow

  1. Run a simulation: Ensure velocity and pressure fields are fully established.
  2. Open AI Analysis: Click Report / AI Analysis. A new window opens showing the current velocity map.
  3. Draw the ROI: Drag a rectangle over the core area you want analyzed. Click Confirm ROI.
  4. Pick POIs (points to sample): Click on the plot to drop one or more POIs. They will be numbered automatically. Click Confirm Points of Interest.
  5. Name the POIs: A Name Zones window appears. Rename them using clear engineering labels such as Inlet Corner, Work Zone, Return Exhaust, or Filter Face. Click Submit.
  6. Enter ESG & Comparison Data: An Energy & Carbon Inputs window appears.
    • Enter baseline operating data such as Fan Power (kW), Operating Hours, Baseline CFM, Electricity Tariff, and Grid Emission Factor.
    • Use After CFM only when a measured or known post-improvement airflow value is available.
    • Leave After CFM blank when comparing design-stage simulations and allowing AirSketcher to estimate performance from the r trends.
    • Cross-Design Comparison: Load up to two saved .pkl state files to directly compare alternative designs against the current baseline.
    • Click Use Values, or click Skip to leave ESG values as N/A.
  7. Save the PDF: Choose a filename. AirSketcher generates the PDF in a high-contrast Soft Grid theme, creates a bundle folder, and automatically opens the folder.

What the Report Includes

  • 1. Executive Summary & Introduction: Quick directional statistics including ROI mean/variance, key percentiles (P10/P50/P90), best/worst POI percentages, main flow direction, and reversed-flow area fractions.
  • 2. Methodology & Theory: A clear layout of the solver configuration, featuring identically sized Governing Equations: Continuity, Momentum, PPE, and Spalart–Allmaras. The section also includes an ASCII boundary-condition sketch and automatically adds Porous/Blower equations, ABL profiles, and AMR mesh illustrations when active.
  • 3. Results:
    • 3.1 Velocity & Streamlines: Side-by-side maps using the same color scale, with the ROI box and POI markers cleanly overlaid.
    • 3.2 ROI Statistics: Histogram and Cumulative Distribution Function (CDF) of velocity within the selected ROI.
    • 3.3 & 3.4 POI Data: Data tables and bar charts comparing velocity and static pressure at each named POI.
  • 4. Energy & Carbon Savings (ESG-Ready):
    • 4.1 Calculations: Translates flow improvements into hard numbers using Fan Affinity Laws, Outdoor-Air (OA) reduction estimates, and Thermostat Setpoint shifts.
    • 4.2 Savings: Breaks down Fan, OA, and Setpoint savings into kWh/yr, Cost/yr, and tCO2e/yr.
    • 4.3 Cross-Design Comparison: If .pkl files are loaded, this section compares them using a CFM proxy ratio, r. It generates a Standard Table for downstream/supply POIs and an Upstream Table using a pressure-drop proxy for return, exhaust, filter, and suction-side evaluation.
    • 4.4 Energy ROI Interpretation Guide: Adds a deeper explanation of when airflow changes represent real energy savings, when they indicate resistance penalties, and which calculation recipe should be used.
  • 5. Conclusions: Explains how to interpret the performance ratio r based on whether POIs are upstream or downstream of the fan. It also provides actionable engineering next steps for design optimization, fan control, resistance reduction, and ESG reporting.

Section 4 Extension: Energy ROI Interpretation Guide

The Energy & Carbon section should be interpreted using one central rule:

AirSketcher does not save energy automatically. It identifies the aerodynamic opportunity. Energy is saved only when the design is improved and the controls are adjusted to use that improvement.

This distinction is important because low airflow can mean two very different things.

Scenario Meaning Energy Result
Intentional Control The fan is intentionally slowed down using a VFD, or the duct/layout has been optimized. Real savings are possible because fan effort drops.
Resistance or Blockage The fan is fighting a dirty filter, poor inlet, restrictive duct, or blocked path. Energy use may increase because the fan must work harder to maintain flow.
4.4.1 Downstream Performance Ratio

For supply, cooling, and occupied-zone POIs, AirSketcher uses the downstream performance ratio:

r = V(new) / V(baseline)

Use this interpretation:

Result Meaning Engineering Interpretation
r > 1 The new design delivers more air to the target zone. The design is aerodynamically better. The fan can potentially be slowed down to match the original target performance.
r = 1 The new design performs similarly to the baseline. No major delivery improvement is detected.
r < 1 The new design delivers less air to the target zone. The design may underperform unless reduced airflow was intentional.

When r > 1 downstream, the report estimates fan savings using the Fan Cube Law:

P ∝ N³

This means a small reduction in fan speed can create a much larger reduction in fan power. If a design delivers the same target airflow at a lower fan speed, annual energy and carbon savings can become significant.

4.4.2 Upstream / Exhaust Performance Ratio

For upstream, return, exhaust, hood, filter, or suction-side POIs, velocity alone is not enough. A blocked filter may show lower airflow, but that does not mean energy is being saved. It may mean the fan is working harder against resistance.

For this reason, AirSketcher uses a fan power proxy:

Power Proxy ≈ rQ × rDP

Where:

  • rQ is the flow ratio.
  • rDP is the pressure-drop ratio.

Use this interpretation:

Result Meaning Engineering Interpretation
Lower proxy score The fan is moving air with less resistance. Better efficiency and possible savings.
Higher proxy score The fan is fighting more pressure drop. Energy penalty, often caused by blockage, dirty filters, or restrictive geometry.
rQ ≈ 1 and rDP > 1 Flow is maintained, but pressure rises. The VFD or fan is masking a resistance problem. Energy cost increases even though airflow appears acceptable.

This is especially useful for diagnosing dirty filters, clogged return paths, restrictive exhaust hoods, and poor inlet conditions.

4.4.3 The Four Energy-Saving Recipes

AirSketcher organizes energy savings into four practical recipes. Select the one that matches the engineering goal of the project.

Recipe Best Used For Logic ROI Output
Recipe A: Fan Supply Optimization General ventilation, cooling workers, supply ducts, occupied zones If the new design delivers air more effectively, the fan may not need to run at full speed. Fan kWh/yr, cost, and carbon savings from VFD speed reduction.
Recipe B: Exhaust & Resistance Audit Fume hoods, return inlets, filters, suction paths Separates efficient low-flow conditions from bad low-flow caused by resistance or blockage. Identifies wasted fan energy caused by high pressure drop.
Recipe C: Outdoor-Air Reduction HVAC systems where outside air is expensive to cool or heat If CFD shows good mixing with fewer dead zones, outdoor-air volume may be safely reduced. Cooling/heating energy savings from reduced outdoor-air treatment.
Recipe D: Setpoint Increase Warehouses, factories, climate-controlled rooms If the space is uniform with fewer hot spots, the thermostat can be raised without sacrificing comfort or process stability. Cooling savings from thermostat setpoint adjustment.
4.4.4 Required Inputs for Valid Financial Outputs

The ESG section requires complete input data. If required values are missing, the report will still generate, but cost and carbon fields may show --.

Universal inputs:

Input Purpose
Fan Baseline Power (kW) Rated or measured baseline fan motor power.
Operating Hours (h/yr) Annual runtime used for yearly energy calculations.
Electricity Tariff Required for cost savings.
Grid Emission Factor Required for tCO2e/yr carbon savings.
Comparison File (.pkl) Required for cross-design performance comparison.

Airflow input options:

Option Required Input Best Used When
Known Airflow Change Baseline CFM and After CFM Physical site measurements are available.
Measured from CFD Flow captured using the Line Probe tool The solver is used to calculate flow directly.
Design-Stage Proxy Baseline CFM only; leave After CFM blank Comparing theoretical design options using the r trends.
4.4.5 Dirty Filter / Resistance Example

A common mistake is assuming that constant airflow means constant energy. For example, a fan system with a dirty filter may maintain the same target velocity because the VFD increases fan effort.

In the simulation, the airflow may look acceptable, but the pressure drop can rise sharply. In this case:

  • rQ ≈ 1.0 means the airflow is being maintained.
  • rDP > 1.0 means pressure drop has increased.
  • A higher power proxy means the fan is spending more energy to overcome resistance.

This is not a saving. It is a hidden energy penalty.

For filter banks, return inlets, and exhaust systems, the Upstream Table is therefore more important than the Standard Table because it captures the combined effect of flow and pressure drop.

4.4.6 Outdoor-Air Reduction Logic

Outdoor air is expensive to condition because it must be cooled, heated, or dehumidified before entering the occupied space.

If the ROI statistics show better mixing, lower variance, and improved low-percentile velocity behavior, the report may estimate a conservative outdoor-air reduction. This is especially useful when the Outdoor-air after field is left blank but a comparison .pkl file is provided.

The automatic estimate is intentionally conservative and capped at 20% for safety. This prevents the report from overstating savings where ventilation compliance, process requirements, or local codes still control the minimum outside-air requirement.

4.4.7 Thermostat Setpoint Shift Logic

If the simulation shows fewer stagnant zones, fewer hot spots, and a more uniform air distribution pattern, the building may not need to be over-cooled to fix one poor-performing area.

In this case, the report can estimate savings from a thermostat setpoint shift. For example, raising the cooling setpoint by 1°C can reduce cooling demand while maintaining more consistent comfort or process conditions.

This calculation is most useful for:

  • climate-controlled warehouses;
  • manufacturing floors;
  • production rooms;
  • large open-plan facilities;
  • spaces where one hot zone causes the entire system to over-cool.
4.4.8 How to Use Section 4 in Client Discussions

Use Section 4 to separate visualization from action.

A velocity plot shows where air moves.

The ESG section explains what the movement means financially.

The key client message is:

The simulation identifies where the airflow system is inefficient. The savings are realized when the improved design is combined with the correct operational action, such as reducing fan speed, lowering outdoor-air load, cleaning resistance points, or adjusting the thermostat setpoint.

This makes the report useful for engineering review, financial justification, ESG documentation, and before/after design comparison.

Outputs

  • PDF Report: The final document, styled in a professional BlueGray palette with zebra-striped tables.
  • Bundle Folder: Auto-created next to the PDF. It contains all high-resolution PNG images used in the report, plus a report_insert.docx or .md file so the findings can be copied into company documents.
  • AI Pack (.json): A single compressed JSON file containing arrays, grid data, boundary conditions, and embedded images. This can be provided to an AI assistant to generate a custom engineering summary based on the raw CFD data.

Notes & Tips

  • Mandatory POIs: You must pick at least one POI to proceed. Grouping POIs with the exact same name will automatically average them together as a Zone in the final tables.
  • Use Clear POI Names: Names such as Supply Target, Return Intake, Filter Face, Worker Zone, and Exhaust Hood make the final report easier to interpret.
  • Downstream vs Upstream Matters: Use downstream interpretation for supply and occupied-zone performance. Use upstream interpretation for return, exhaust, suction, filter, and hood evaluation.
  • Auto-Estimated OA: If the Outdoor-air after field is left blank and a comparison .pkl file is provided, the report can estimate a conservative OA reduction based on ROI variance and P10 dead-zone improvement, capped at 20%.
  • Interpreting Proxy Ratio r: An r > 1 downstream usually means better delivery to the target zone. An r > 1 upstream can mean higher pressure drop or resistance, which may be bad. The Conclusions section explains this distinction for client-facing interpretation.
  • Energy Requires Action: Energy savings are only realized when the aerodynamic improvement is paired with an operational change, such as fan speed reduction, resistance removal, outdoor-air adjustment, or thermostat setpoint change.

Qi-Flow

Qi-Flow (QFI) blends CFD with Feng Shui to assess air harmony, clarity, and comfort.

Visualization of Qi Flow Index

How QFI Works

  • |V|=u2+v2|V| = \sqrt{u^2 + v^2}
  • Vopt=1.2V_{\text{opt}} = 1.2 m/s (target)
  • σ=0.6\sigma = 0.6 m/s (tolerance)

Formulas:

  • Smoothness
    S=11+|V| S = \frac{1}{1 + \nabla |V|}

  • Comfort
    Vs=exp((|V|Vopt)22σ2) V_s = \exp\left(-\frac{(|V| - V_{\text{opt}})^2}{2\sigma^2}\right)

  • Qi-Flow Index
    QFI=S×Vs QFI = S \times V_s

Room Classification

Room Type Velocity Range QFI Score Color Use
Sha Chi |V|>Vopt+σ|V| > V_{\text{opt}} + \sigma Red Too fast, aggressive flow
Stagnant Zone |V|<Voptσ|V| < V_{\text{opt}} - \sigma < 0.55 Gray Too slow or blocked
Calm Room 0.6–1.8 m/s > 0.80 Blue Sleep, study
Active Room 0.8–2.1 m/s 0.60–0.80 Green Balanced, energized

Tips for Qi-Aligned Flow

  • Break long corridors with buffer zones (read more)
  • Allow air to circulate in loops between zones (read more)
  • Favor gentle curves over sharp corners (read more)
  • Enable Refine Flow for natural transitions
  • Consider adding trees or vegetation zones in outdoor or semi-enclosed areas to introduce soft flow resistance and improve harmony (read more)

Credits

Core Development

  • Tech Architect: Dr. Wichai Pattanapol
  • Learning Lead: Adam Gill

🔖 Licensing & Acknowledgements

AirSketcher may incorporate open-source components under compatible licenses.
All third-party libraries retain their original licensing terms.

📨 Contact

For questions, feedback, or collaboration inquiries:

📧 support@polar-dynamix.com
🌐 www.polar-dynamix.com