Macro Deodatis 1996 Mean Wind Profile
Jump to navigation
Jump to search
| Description |
|---|
| This macro create simulation point according to G. Deodatis 1996. Macro version: 1.0 Last modified: 2024-04-15 LabRPS version: All Author: Koffi Daniel |
| Author |
| Koffi Daniel |
| Download |
| None |
| Links |
| How to install macros How to customize toolbars |
| Macro Version |
| 1.0 |
| Date last modified |
| 2024-04-15 |
| LabRPS Version(s) |
| All |
| Default shortcut |
| None |
| See also |
| Macro Deodatis 1996 Mean Wind Profile |
This macro create mean wind profile according to G. Deodatis 1996. The created profile is the mean wind logarithm profile where the parameters such as terrain roughness and shear velocity of the wind flow have to be specified.
Mean wind speed values
Script
You can find the source code on the following Github repository: Get the code here!
Macro Deodatis 1996 Mean Wind Profile.RPSMacro
import LabRPS
from LabRPS import Vector as vec
import WindLab
import WindLabObjects
class Deodatis1996MeanWind():
def __init__(self):
#install the WindLab plugin with all its plugged features
installResuslt = WindLab.installPlugin("WindLabPlugin")
# create new document
doc = LabRPS.newDocument()
# create new simulation with default name "Simulation" in the above document
sim = WindLabObjects.makeSimulation(doc)
# check if the simulation is successfully created
if not sim:
LabRPS.Console.PrintError("The simulation does not exist.\n")
return None
# create new location distribution in the simulation called "Simulation". Without simulation location mean wind profile cannot run
loc = WindLabObjects.makeFeature("SimulationPoints", "Simulation", "General Distribution", "Location Distribution")
# check if the created location distribution feature is null
if not loc:
LabRPS.Console.PrintError("Error on creating the location distribution.\n")
return None
v1 = vec(0, 0, 35)
v2 = vec(0, 0, 40)
v3 = vec(0, 0, 140)
loc.Locations = [v1, v2, v3]
# create new mean wind profile feature in the simulation called "Simulation"
mean = WindLabObjects.makeFeature("MeanSpeed", "Simulation", "Logarithmic Law Profile", "Mean Wind Profile")
# check if the created mean wind feature is successuful
if not mean:
LabRPS.Console.PrintError("The creation of the mean wind profile was not successuful.\n")
return None
mean.TerrainRoughness = '0.001266 m'
mean.ShearVelocity = '1.76 m/s'
# wind velocity in this example is stationary. Meanning wind speed means are not varying in time
# here we use time instant of 0 second.
time = 0.0
# compute the mean wind speed at all simulation points at time instant of 0s
meanValues = sim.computeMeanWindSpeedVectorP(time)
# if we are in Gui mode, show the stored result in Alphaplot
if LabRPS.GuiUp:
import GeneralToolsGui
#show the mean wind speeds in Alphaplot
GeneralToolsGui.GeneralToolsPyTool.showArray(sim.getSimulationData().numberOfSpatialPosition, 2, meanValues, False)
doc.recompute()
Deodatis1996MeanWind()