Plugin WindLab WindLabSmelt
Jump to navigation
Jump to search
| Description |
|---|
| This plugin implements the wind simulation method from the smelt project. Plugin version: 1.0 Last modified: 15/06/2024 LabRPS version: All Author: Koffi Daniel |
| Author |
| Koffi Daniel |
| Download |
| None |
| Features |
| Wittig Sinha Equal Floors |
| Plugin Version |
| 1.0 |
| Date last modified |
| 15/06/2024 |
| LabRPS Version(s) |
| All |
| Default shortcut |
| None |
| See also |
| None |
Introduction
This plugin implements the wind simulation method from the smelt project. Note that this plugin is only for wind velocity on building with equal floors.
Wittig Sinha Equal Floors
This is the only RPS feature that the plugin implements. It belongs to the simulation method group. This feature implements the random wind velocity simulation method provided by the Smelt project which generate wind velocity time histories based on Wittig & Sinha (1975) model.
Properties
- DataGustSpeed: Gust speed of the wind.
- DataHeight: Building height.
- DataSeedNumber: Value to seed random variables to ensure repeatability.
- DataEventIndex: The index of the event whose time history should be shown.
- DataEventName: Name to assign to event.
Scripting
import LabRPS
import WindLab
import WindLabObjects
from LabRPS import Vector as vec
import time
def simulate():
# Plugin
installResuslt = WindLab.installPlugin("WindLabSmeltPlugin")
if not installResuslt:
LabRPS.Console.PrintError("The installation the WindLabSmeltPlugin has failed.\n")
return None
# Document
doc = LabRPS.newDocument()
# Simulation
sim = WindLabObjects.makeSimulation(doc, "Simulation")
if not sim:
LabRPS.Console.PrintError("The simulation does not exist.\n")
return None
# Simulation method
simMethod = WindLabObjects.makeFeature("SimulationMethod", "Simulation", "Wittig Sinha Equal Floors", "Simulation Method")
if not simMethod:
LabRPS.Console.PrintError("Error on creating the simulation method.\n")
return None
# Run simulation and output the first(0) sample
# store starting time
begin = time.time()
velocities = sim.simulate(0)
# store end time
end = time.time()
LabRPS.Console.PrintMessage(f"Total runtime of the simulaltion is {end - begin} seconds\n")
if LabRPS.GuiUp:
import WindLabGui
import GeneralToolsGui
WindLabGui.setActiveSimulation(sim)
GeneralToolsGui.GeneralToolsPyTool.showArray(sim.getSimulationData().numberOfTimeIncrements, sim.getSimulationData().numberOfSpatialPosition + 1, velocities, True)
simulate()