Tool for waypoint-based verification of visibility in the scope of performance-based fire safety assessment.
Project description
FDSVisMap
Tool for waypoint-based assessment of visibility in the scope of performance-based fire safety design.
Installation
pip install fdsvismap
Usage Example
"""Example script to create visibility maps."""
from fdsvismap import VisMap
from pathlib import Path
import matplotlib.pyplot as plt
project_root = Path(__file__).parent
bg_img = project_root / "misc" / "floorplan.png"
# Set path for FDS simulation directory and background image.
sim_dir = str(project_root / "fds_data")
# Create instance of VisMap class
vis = VisMap()
vis.quantity = 'SOOT EXTINCTION COEFFICIENT'
# Read data from FDS simulation directory.
vis.read_fds_data(sim_dir)
# Add background image.
vis.add_background_image(bg_img)
# Set starpoint and waypoints along escape route.
vis.set_start_point(1, 9)
vis.set_waypoint(1, 8.4, 4.8, 3, 0)
vis.set_waypoint(2, 9.8, 4, 3, 270)
vis.set_waypoint(3, 17, 10, 3, 180)
# Set times when the simulation should be evaluated.
times = range(0, 500, 50)
vis.set_time_points(times)
# Add a visual obstruction that affects visibility calculations.
vis.add_visual_obstruction(8, 8.8, 4.6, 4.8)
# Do the required calculations to create the Vismap.
vis.compute_all()
# # Plot ASET map based on Vismaps and save as pdf.
fig, ax = vis.create_aset_map_plot(plot_obstructions=True)
ax.set_xlim(0, 20)
ax.set_ylim(0, 10)
plt.savefig('aset_map.pdf', dpi=300)
plt.close()
# # Plot time and waypoint aggregated Vismap and save as pdf.
fig, ax = vis.create_time_agg_wp_agg_vismap_plot()
ax.set_xlim(0, 20)
ax.set_ylim(0, 10)
plt.savefig('time_agg_wp_agg_vismap.pdf', dpi=300)
plt.close()
# Set parameters for local evaluations.
time = 500
x = 2
y = 4
c = 3
waypoint_id = 2
print("\n")
# Check if waypoint is visible from given location at given time.
wp_is_visible = vis.wp_is_visible(time, x, y, waypoint_id)
print(f"Is waypoint {waypoint_id} visible at {time} s at coordinates X/Y = ({x},{y})?: {wp_is_visible}")
# Get distance from waypoint to given location.
distance_top_wp = vis.get_distance_to_wp(x, y, waypoint_id)
print(f"The distance from waypoint {waypoint_id} to location X/Y = ({x},{y}) is {distance_top_wp} m.")
# Calculate local visibility at given location and time, considering a specific c factor.
local_visibility = vis.get_local_visibility(time, x, y, c)
print(f"The local visibility at time {time} s and location X/Y = ({x},{y}) is {local_visibility:.2f} m.")
# Calculate visibility at given location and time relative to a waypoint, considering a specific c factor.
visibility = vis.get_visibility_to_wp(time, x, y, waypoint_id)
print(f"The visibility at time {time} s and location X/Y = ({x},{y}) relative to waypoint {waypoint_id} is {visibility:.2f} m.")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fdsvismap-0.1.2.tar.gz
(12.1 kB
view details)
Built Distribution
fdsvismap-0.1.2-py3-none-any.whl
(11.6 kB
view details)
File details
Details for the file fdsvismap-0.1.2.tar.gz
.
File metadata
- Download URL: fdsvismap-0.1.2.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b81c5c53a2cd94d143f69243d8ffb534d4d22fe0862c6ed855a9c51451dbbd9 |
|
MD5 | 9eb75d8a0a224f1bfa4cc6efa4eb1edc |
|
BLAKE2b-256 | 8b04e4dbbcce1d28489d6438b51c7048d5f819b948188c0795ef61bfc51ff2b3 |
File details
Details for the file fdsvismap-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: fdsvismap-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47b9c14bc47c76ecefc8ed5595e1c27e3c9717fe41cad007a4121d862ab9fc9c |
|
MD5 | a0cc185d0200c3112672068957b98a7c |
|
BLAKE2b-256 | 0b4048cc6cc6f4e963d4656fe5eec7d5702914cfef46f010365adbac5b462ce2 |