architect-calculator

star 209

Seven Python-based architectural calculators for common design computations: area and density calculations (GFA, NGA, unit count, population, parking), thermal U-value analysis for multi-layer constructions, daylight factor estimation using BRE methodology, egress compliance checking (occupant load, exit width, travel distance), structural gravity load and tributary area calculations, annual energy demand estimation via degree-day method, and construction cost estimation by building type, quality, and region.

Amanbh997 By Amanbh997 schedule Updated 4/15/2026

name: architect-calculator description: > Seven Python-based architectural calculators for common design computations: area and density calculations (GFA, NGA, unit count, population, parking), thermal U-value analysis for multi-layer constructions, daylight factor estimation using BRE methodology, egress compliance checking (occupant load, exit width, travel distance), structural gravity load and tributary area calculations, annual energy demand estimation via degree-day method, and construction cost estimation by building type, quality, and region.

Architect Calculator

A suite of seven command-line Python calculators for rapid architectural design computations. Each calculator accepts parameters via command-line arguments, validates inputs, and produces either human-readable or JSON-structured output.

All scripts are located in the scripts/ directory and can be run with:

python scripts/<calculator_name>.py [arguments]

Add --json to any command for structured JSON output suitable for piping into other tools or automation workflows.


1. Area Calculator (area_calculator.py)

Calculates development density metrics from site area and floor area ratio (FAR), including gross floor area, net usable area, residential unit count, estimated population, and parking requirement.

Parameters

Parameter Flag Default Unit Description
Site Area --site-area Required m2 Total site/plot area
Floor Area Ratio --far Required ratio Permitted FAR / plot ratio
Net-to-Gross Ratio --ntg-ratio 0.80 ratio NGA as fraction of GFA (0.0-1.0)
Avg Unit Size --avg-unit-size 85 m2 Average residential unit area
Persons per Unit --persons-per-unit 2.5 persons Average household size
Parking Ratio --parking-ratio 1.0 spaces Parking spaces per dwelling unit

Example

python scripts/area_calculator.py --site-area 5000 --far 2.5 --ntg-ratio 0.82

Sample Output

=== Area & Density Calculator ===
Site Area:            5,000.00 m2
Floor Area Ratio:     2.50
---------------------------------------
Gross Floor Area:     12,500.00 m2
Net-to-Gross Ratio:   0.82
Net Gross Area:       10,250.00 m2
---------------------------------------
Average Unit Size:    85.00 m2
Estimated Units:      120
Persons per Unit:     2.50
Estimated Population: 300
---------------------------------------
Parking Ratio:        1.00 spaces/unit
Parking Spaces:       120

2. U-Value Calculator (uvalue_calculator.py)

Calculates the thermal transmittance (U-value) of a multi-layer wall, roof, or floor construction by summing thermal resistances of each layer plus surface resistances.

Parameters

Parameter Flag Default Unit Description
Layers --layers Required JSON string Array of layer objects
Rsi Internal --rsi-internal 0.13 m2K/W Internal surface resistance
Rsi External --rsi-external 0.04 m2K/W External surface resistance

Each layer object: {"name": "...", "thickness_mm": N, "conductivity": N}

Example

python scripts/uvalue_calculator.py --layers '[
  {"name": "Brick", "thickness_mm": 102, "conductivity": 0.77},
  {"name": "Cavity air gap", "thickness_mm": 50, "conductivity": 0.18},
  {"name": "Mineral wool", "thickness_mm": 100, "conductivity": 0.035},
  {"name": "Concrete block", "thickness_mm": 140, "conductivity": 1.13},
  {"name": "Plaster", "thickness_mm": 13, "conductivity": 0.16}
]'

Sample Output

=== U-Value Calculator ===
Layer                Thickness(mm)  Conductivity(W/mK)  R-value(m2K/W)
---------------------------------------------------------------------------
Rsi (internal)       --             --                   0.1300
Brick                102            0.770                0.1325
Cavity air gap       50             0.180                0.2778
Mineral wool         100            0.035                2.8571
Concrete block       140            1.130                0.1239
Plaster              13             0.160                0.0813
Rse (external)       --             --                   0.0400
---------------------------------------------------------------------------
Total R-value:       3.6425 m2K/W
U-value:             0.2745 W/m2K

Passive House target (wall):   0.15 W/m2K  -- DOES NOT MEET
Typical code target (wall):    0.30 W/m2K  -- MEETS TARGET

3. Daylight Calculator (daylight_calculator.py)

Estimates average daylight factor for a side-lit room using the BRE simplified formula.

Parameters

Parameter Flag Default Unit
Room Width --room-width Required m
Room Depth --room-depth Required m
Room Height --room-height Required m
Window Width --window-width Required m
Window Height --window-height Required m
Window Sill Height --window-sill-height Required m
Glazing Transmittance --glazing-transmittance 0.65 ratio
Average Reflectance --average-reflectance 0.50 ratio

Example

python scripts/daylight_calculator.py \
  --room-width 4.0 --room-depth 6.0 --room-height 3.0 \
  --window-width 2.5 --window-height 1.8 --window-sill-height 0.9

Sample Output

=== Daylight Factor Calculator ===
Room:     4.00m W x 6.00m D x 3.00m H
Window:   2.50m W x 1.80m H (sill at 0.90m)
---------------------------------------
Window Area:             4.50 m2
Total Room Surface Area: 96.00 m2
Window-to-Floor Ratio:   18.75%
Glazing Transmittance:   0.65
Average Reflectance:     0.50
Visible Sky Angle:       60.1 deg
---------------------------------------
Average Daylight Factor: 2.34%

Assessment: ADEQUATE (target >= 2.0% for habitable rooms)

4. Egress Calculator (egress_calculator.py)

Calculates occupant load, required number of exits, minimum exit widths, and travel distance compliance per IBC.

Parameters

Parameter Flag Default Description
Floor Area --floor-area Required Net floor area in m2
Occupancy Type --occupancy-type Required IBC occupancy (A-1 to U)
Sprinklered --sprinklered False Flag: building is sprinklered
Num Stories --num-stories 1 Number of stories

Example

python scripts/egress_calculator.py --floor-area 800 --occupancy-type B --sprinklered --num-stories 4

Sample Output

=== Egress Calculator ===
Floor Area:        800.00 m2
Occupancy Type:    B (Business)
Sprinklered:       Yes
Number of Stories: 4
---------------------------------------
Occupant Load Factor:   9.3 m2/person
Occupant Load:          86 persons
---------------------------------------
Required Exits:         2
Min Exit Width (total): 1,376 mm
Width per Exit:         688 mm
Min Door Width:         813 mm (32 inches)
---------------------------------------
Max Travel Distance:    91.0 m (300 ft) [sprinklered]
Max Common Path:        23.0 m (75 ft)
Max Dead End:           15.0 m (50 ft)

COMPLIANCE: Review travel distances on plans.

5. Structural Load Calculator (structural_load_calculator.py)

Calculates tributary area gravity loads for preliminary structural sizing.

Parameters

Parameter Flag Default Unit Description
Tributary Area --tributary-area Required m2 Column tributary area
Num Floors --num-floors Required integer Number of supported floors
Dead Load --dead-load 4.5 kN/m2 Dead load per floor
Live Load --live-load auto kN/m2 Live load (auto per occ.)
Occupancy Type --occupancy-type office string For auto live load selection

Example

python scripts/structural_load_calculator.py --tributary-area 36 --num-floors 8 --occupancy-type office

Sample Output

=== Structural Load Calculator ===
Tributary Area:    36.00 m2
Number of Floors:  8
---------------------------------------
Dead Load:         4.50 kN/m2 per floor
Live Load:         2.50 kN/m2 per floor (office)
Total per Floor:   7.00 kN/m2
---------------------------------------
Load per Floor:    252.00 kN
Total Column Load: 2,016.00 kN (8 floors)
Factored Load:     2,822.40 kN (1.2D + 1.6L)
---------------------------------------
Preliminary Column: ~400x400 mm RC (fc'=35 MPa)

6. Energy Calculator (energy_calculator.py)

Estimates annual heating and cooling energy demand using the degree-day method.

Parameters

Parameter Flag Default Unit Description
Floor Area --floor-area Required m2 Conditioned floor area
Envelope Area --envelope-area Required m2 Total envelope area
Average U-value --average-u-value Required W/m2K Area-weighted average U
Heating Degree Days --heating-degree-days Required Kd Annual HDD (base 18C)
Cooling Degree Days --cooling-degree-days Required Kd Annual CDD (base 24C)
Ventilation Rate --ventilation-rate 0.5 ACH Air changes per hour
Internal Gains --internal-gains 5.0 W/m2 Internal heat gains

Example

python scripts/energy_calculator.py \
  --floor-area 500 --envelope-area 800 --average-u-value 0.35 \
  --heating-degree-days 3000 --cooling-degree-days 500

Sample Output

=== Energy Calculator ===
Floor Area:           500.00 m2
Envelope Area:        800.00 m2
Average U-value:      0.35 W/m2K
---------------------------------------
Heating Degree Days:  3,000 Kd
Cooling Degree Days:  500 Kd
Ventilation Rate:     0.50 ACH
Internal Gains:       5.00 W/m2
---------------------------------------
Transmission Loss:    6,720.00 kWh/yr
Ventilation Loss:     4,050.00 kWh/yr
Internal Gains:       -2,190.00 kWh/yr
Heating Demand:       8,580.00 kWh/yr
---------------------------------------
Cooling Demand:       2,356.00 kWh/yr
---------------------------------------
Total Demand:         10,936.00 kWh/yr
EUI:                  21.87 kWh/m2/yr

Passive House target: 15 kWh/m2/yr -- DOES NOT MEET

7. Cost Calculator (cost_calculator.py)

Estimates construction cost based on building type, quality level, and geographic region.

Parameters

Parameter Flag Default Description
GFA --gfa Required Gross floor area in m2
Building Type --building-type Required residential/office/retail/hospital/school/hotel
Quality --quality standard basic/standard/premium
Region --region north-america north-america/europe/middle-east/asia/australia
Include External --include-external False Flag: include site works

Example

python scripts/cost_calculator.py --gfa 5000 --building-type office --quality premium --region europe

Sample Output

=== Construction Cost Calculator ===
Gross Floor Area:   5,000.00 m2
Building Type:      Office
Quality Level:      Premium
Region:             Europe
---------------------------------------
Base Cost Rate:     2,800.00 USD/m2
Construction Cost:  14,000,000 USD
---------------------------------------
Professional Fees (12%):  1,680,000 USD
Contingency (7.5%):       1,050,000 USD
External Works:           --
---------------------------------------
Total Development Cost:   16,730,000 USD
Cost per m2 (total):      3,346.00 USD/m2

Methodology Reference

Detailed formulas and methodology for each calculator are documented in references/calculator-reference.md.

Error Handling

All calculators validate inputs and provide clear error messages:

  • Missing required parameters display usage help
  • Out-of-range values are rejected with explanatory messages
  • Invalid occupancy types list accepted values
  • Malformed JSON input shows expected format

Integration

JSON output (--json flag) enables integration with:

  • Other scripts in the pipeline
  • Spreadsheet tools (parse JSON)
  • Web dashboards
  • Automated reporting systems
  • BIM parameter injection
Install via CLI
npx skills add https://github.com/Amanbh997/Skills-Architects --skill architect-calculator
Repository Details
star Stars 209
call_split Forks 45
navigation Branch main
article Path SKILL.md
More from Creator