HVAC / application_design.md
mabuseif's picture
Upload 14 files
60cca7c verified

A newer version of the Streamlit SDK is available: 1.52.2

Upgrade

HVAC Load Calculator Web Application Design

Overview

This document outlines the structure and user flow for the HVAC Load Calculator web application. The application will be built using Python and deployed on Hugging Face Spaces, providing a user-friendly interface for calculating cooling and heating loads based on the ASHRAE method.

Application Structure

1. Core Components

  • Backend Calculation Modules

    • cooling_load.py: Implements ASHRAE cooling load calculations
    • heating_load.py: Implements ASHRAE heating load calculations
    • reference_data.py: Contains material properties, climate data, and other reference information
  • Web Interface

    • app.py: Main Streamlit application entry point
    • pages/: Directory containing individual calculator pages
      • cooling_calculator.py: Cooling load calculator interface
      • heating_calculator.py: Heating load calculator interface
      • about.py: Information about the application and calculation methods
  • Utilities

    • utils/: Directory containing utility functions
      • validation.py: Input validation functions
      • visualization.py: Chart and table generation functions
      • export.py: Data export functionality

2. Data Flow

User Input β†’ Validation β†’ Calculation β†’ Results Visualization β†’ Data Export

User Flow

Home Page

  • Introduction to the application
  • Selection between cooling and heating load calculators
  • Information about ASHRAE calculation methods
  • Links to reference materials

Cooling Load Calculator

  1. Building Information

    • Building location
    • Indoor and outdoor design temperatures
    • Building dimensions and volume
  2. Building Envelope

    • Wall areas and construction types
    • Roof/ceiling areas and construction types
    • Floor areas and construction types
  3. Windows and Doors

    • Window areas by orientation
    • Glass types and shading information
    • Door areas and types
  4. Internal Loads

    • Number of occupants
    • Lighting information
    • Equipment and appliances
  5. Ventilation and Infiltration

    • Air changes per hour
    • Ventilation requirements
  6. Results

    • Breakdown of cooling loads by component
    • Total sensible and latent cooling loads
    • Visualizations (charts and tables)
    • Equipment sizing recommendations
    • Option to download input and result data

Heating Load Calculator

  1. Building Information

    • Building location
    • Indoor and outdoor design temperatures
    • Building dimensions and volume
  2. Building Envelope

    • Wall areas and construction types
    • Roof/ceiling areas and construction types
    • Floor areas and construction types
  3. Windows and Doors

    • Window areas by orientation
    • Glass types
    • Door areas and types
  4. Ventilation and Infiltration

    • Air changes per hour
    • Ventilation requirements
  5. Occupancy Information

    • Occupancy type and schedule
    • Heating degree days information
  6. Results

    • Breakdown of heating loads by component
    • Total peak heating load
    • Annual heating energy requirement
    • Visualizations (charts and tables)
    • Equipment sizing recommendations
    • Option to download input and result data

User Interface Design

General Principles

  • Clean, modern interface with clear navigation
  • Step-by-step input forms with progress indicators
  • Immediate feedback on inputs with validation warnings
  • Informative tooltips and help text for technical terms
  • Responsive design for different screen sizes

Input Forms

  • Grouped by logical sections
  • Clear labels and units
  • Default values where appropriate
  • Input validation with warning messages
  • Option to proceed with warnings rather than blocking progress
  • Reference data selection for materials and locations

Results Display

  • Clear summary of key results
  • Detailed breakdown of load components
  • Visual representations (charts and graphs)
  • Tabular data for detailed analysis
  • Equipment sizing recommendations
  • Export options for reports and assignments

Validation System

  • Input validation for required fields
  • Range checking for numerical inputs
  • Logical validation between related inputs
  • Warning system that allows proceeding with caution
  • Clear error messages with suggestions for correction

Data Export Functionality

  • Export input data in JSON format
  • Export results in CSV format
  • Generate PDF reports with inputs and results
  • Save charts and visualizations as images

Extensibility Features

  • Modular code structure for easy addition of new calculation methods
  • Configuration-based reference data for easy updates
  • Pluggable visualization components
  • Separation of UI and calculation logic

Technology Stack

  • Backend: Python
  • Web Framework: Streamlit
  • Data Processing: Pandas, NumPy
  • Visualization: Plotly, Matplotlib
  • Deployment: Hugging Face Spaces