Plugin WindLab WindLabSmelt

From LabRPS Documentation
Revision as of 09:07, 24 January 2025 by LabRPS (talk | contribs) (Created page with "{{Plugin |Name=WindLab Smelt Plugin |Description=This plugin implements the wind simulation method from the smelt project. |Author=Koffi Daniel |Version=1.0 |Date=15/06/2024 |Features= Wittig Sinha Equal Floors |RPSVersion=All }} == Introduction == This plugin implements the wind simulation method from the smelt project. 1024px == Wittig Sinha Equal Floors == This is the only RPS featur...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Generic plugin icon. Create your personal icon with the same name of the plugin WindLab Smelt Plugin

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.

Plugin WindLab Smelt Screenshot 1.png

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 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()