Macro Deodatis 1996 Wind Simulation Points: Difference between revisions
Jump to navigation
Jump to search
(Created page with "{{Macro |Name=Macro Deodatis 1996 Wind Simulation Points |Icon=Macro_Deodatis_1996_Wind_Simulation_Points.png |Description=This macro create simulation point according to G. Deodatis 1996. |Author=Koffi Daniel |Version=1.0 |Date=2024-04-15 |RPSVersion=All |Download=[https://wiki.freecad.org/images/f/f5/Macro_3D_Parametric_Curve.png ToolBar Icon] |SeeAlso=Macro Deodatis 1996 Mean Wind Profile }} ==Description== This macro create...") |
No edit summary |
||
Line 15: | Line 15: | ||
This macro create simulation point according to G. Deodatis 1996. There are three simulation points created with WindLabFeatureLocationDistribution feature. | This macro create simulation point according to G. Deodatis 1996. There are three simulation points created with WindLabFeatureLocationDistribution feature. | ||
[[File:Deodatis1996WindSimulationPoints.png|600px]] | [[File:Deodatis1996WindSimulationPoints.png|600px]] | ||
{{Caption| | {{Caption|Simulation Point Distribution}} | ||
== | [[File:Macro_Deodatis_1996_Wind_Simulation_Points_Heighs.png|600px|Points Heights]] | ||
==Script== | |||
You can find the updated code (16/04/2024) on the following Github repository: | You can find the updated code (16/04/2024) on the following Github repository: | ||
[https://github.com/LabRPS/LabRPS-macros/blob/master/WindLab/Deodatis1996/Deodatis1996_LocationDistribution.RPSMacro Get the code here!] | [https://github.com/LabRPS/LabRPS-macros/blob/master/WindLab/Deodatis1996/Deodatis1996_LocationDistribution.RPSMacro Get the code here!] | ||
'''Macro Deodatis 1996 Wind Simulation Points.FCMacro''' | '''Macro Deodatis 1996 Wind Simulation Points.FCMacro''' |
Revision as of 06:01, 16 April 2024
Description |
---|
This macro create simulation point according to G. Deodatis 1996. Macro version: 1.0 Last modified: 2024-04-15 LabRPS version: All Download: ToolBar Icon Author: Koffi Daniel |
Author |
Koffi Daniel |
Download |
ToolBar Icon |
Links |
Macros recipes 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 |
Description
This macro create simulation point according to G. Deodatis 1996. There are three simulation points created with WindLabFeatureLocationDistribution feature.
Simulation Point Distribution
Script
You can find the updated code (16/04/2024) on the following Github repository: Get the code here!
Macro Deodatis 1996 Wind Simulation Points.FCMacro
# -*- coding: utf-8 -*- # (c) Koffi Daniel 2024 import LabRPS from LabRPS import Vector as vec import WindLab import WindLabObjects #install the WindLab plugin with all its plugged features installResuslt = WindLab.installPlugin("WindLabPlugin") doc = LabRPS.newDocument() # create new simulation with default name "Simulation" sim = WindLabObjects.makeSimulation(doc) # check if the simulation is successfully created if not sim: LabRPS.Console.PrintError("The simulation does not exist.\n") # set simulation parameters sim.NumberOfFrequency = 2048 sim.MaxFrequency = "0.64 Hz" # 4 rad/s; sim.FrequencyIncrement = "0.00031 Hz" # 0.00195 rad/s; sim.TimeIncrement = "0.785 s" sim.NumberOfTimeIncrements = 9651 # create new location distribution in the simulation called "Simulation" loc = WindLabObjects.makeFeature("SimulationPoints", "Simulation", "Location Distribution", "General Distribution") # check if the created location distribution feature is null if not loc: LabRPS.Console.PrintError("Error on creating the location distribution.\n") # find all the feature which are location distribution feature myFeatures = sim.findAllWindLabFeaturesOfThisType('WindLabAPI::WindLabFeatureLocationDistribution') #find all rps types rpsTypes = sim.getRPSTypesOfPluggableFeatures() print(rpsTypes) v1 = vec(0, 0, 35) v2 = vec(0, 0, 40) v3 = vec(0, 0, 140) loc.Locations = [v1, v2, v3] # run the method "computeLocationCoordinateMatrixP3" of the feature and store the result. # Note that here, this method will be called for the active location distribution feature locRes = sim.computeLocationCoordinateMatrixP3() if LabRPS.GuiUp: import WindLabGui #show the location coordinate in Alphaplot WindLabGui.WindLabPythonPluginUtilities.showArray(sim.getSimulationData().numberOfSpatialPosition, 4, locRes) loc.ViewObject.Document.activeView().viewAxonometric() loc.ViewObject.Document.activeView().fitAll() import numpy import matplotlib.pyplot as plt arr = numpy.asarray(locRes) fig, ax = plt.subplots() fig.suptitle('Location Distribution') ax.plot(arr[:,0], arr[:,3], 'o-') ax.set_xlabel('Simulation Point Number') ax.set_ylabel('Height (m)') ax.grid(True) plt.show() doc.recompute()