<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.labrps.com/index.php?action=history&amp;feed=atom&amp;title=Plugin_WindLab_DeodatisAndShinozuka1991</id>
	<title>Plugin WindLab DeodatisAndShinozuka1991 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.labrps.com/index.php?action=history&amp;feed=atom&amp;title=Plugin_WindLab_DeodatisAndShinozuka1991"/>
	<link rel="alternate" type="text/html" href="https://wiki.labrps.com/index.php?title=Plugin_WindLab_DeodatisAndShinozuka1991&amp;action=history"/>
	<updated>2026-05-12T00:03:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://wiki.labrps.com/index.php?title=Plugin_WindLab_DeodatisAndShinozuka1991&amp;diff=2569&amp;oldid=prev</id>
		<title>LabRPS: Created page with &quot;{{Plugin |Name=Shinozuka and Deodatis 1991 Plugin |Description=This feature allows the user to simulates random wind velocity according to the conventional spectral representation method proposed by Masanoby Shinozuka and George Deodatis (1991). |Author=Koffi Daniel |Version=1.0 |Date=13/01/2025 |Features= Shinozuka and Deodatis 1991  |RPSVersion=All }}  == Introduction == This feature allows the user to simulates random wind velocity acc...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.labrps.com/index.php?title=Plugin_WindLab_DeodatisAndShinozuka1991&amp;diff=2569&amp;oldid=prev"/>
		<updated>2025-01-23T00:40:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Plugin |Name=Shinozuka and Deodatis 1991 Plugin |Description=This feature allows the user to simulates random wind velocity according to the conventional spectral representation method proposed by Masanoby Shinozuka and George Deodatis (1991). |Author=Koffi Daniel |Version=1.0 |Date=13/01/2025 |Features= &lt;a href=&quot;#Shinozuka_and_Deodatis_1991&quot;&gt;Shinozuka and Deodatis 1991&lt;/a&gt;  |RPSVersion=All }}  == Introduction == This feature allows the user to simulates random wind velocity acc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Plugin&lt;br /&gt;
|Name=Shinozuka and Deodatis 1991 Plugin&lt;br /&gt;
|Description=This feature allows the user to simulates random wind velocity according to the conventional spectral representation method proposed by Masanoby Shinozuka and George Deodatis (1991).&lt;br /&gt;
|Author=Koffi Daniel&lt;br /&gt;
|Version=1.0&lt;br /&gt;
|Date=13/01/2025&lt;br /&gt;
|Features= [[#Shinozuka_and_Deodatis_1991|Shinozuka and Deodatis 1991]]&lt;br /&gt;
&lt;br /&gt;
|RPSVersion=All&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This feature allows the user to simulates random wind velocity according to the conventional spectral representation method proposed by Masanoby Shinozuka and George Deodatis (1991).&lt;br /&gt;
&lt;br /&gt;
[[Image:Plugin_WindLab_ShinozukaAndDeodatis1991_Screenshot_1.png|1024px]] &lt;br /&gt;
&lt;br /&gt;
== Shinozuka and Deodatis 1991 == &lt;br /&gt;
This is the only RPS feature that the plugin implements. It belongs to the [[RPS_Feature_Group#Simulation_Method| simulation method group]]. &lt;br /&gt;
&lt;br /&gt;
=== Feature Dependency === &lt;br /&gt;
The features required by this feature are summarized in the following table:&lt;br /&gt;
&lt;br /&gt;
* A [[RPS_Feature_Group#Location_Distribution| simulation points feature]]&lt;br /&gt;
* A [[RPS_Feature_Group#Frequency_Distribution| frequency discretization feature]]&lt;br /&gt;
* A [[WindLab_Feature#Mean_Wind_Speed_Profile| mean wind speed profile feature]]&lt;br /&gt;
* A [[RPS_Feature_Group#Randomness| randomness provider feature]]&lt;br /&gt;
* An [[WindLab_Feature#Along_Wind_Spectrum| along wind spectrum feature]] or an [[WindLab_Feature#Across_Wind_Spectrum| across wind spectrum feature]] or a [[WindLab_Feature#Vertical_Wind_Spectrum| vertical wind spectrum feature]] depending on your wind velocity component.&lt;br /&gt;
&lt;br /&gt;
=== Scripting === &lt;br /&gt;
&lt;br /&gt;
{{Code|code=&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
# (c) Koffi Daniel 2025&lt;br /&gt;
&lt;br /&gt;
import LabRPS&lt;br /&gt;
import WindLab&lt;br /&gt;
import WindLabObjects&lt;br /&gt;
from LabRPS import Vector as vec&lt;br /&gt;
import time &lt;br /&gt;
&lt;br /&gt;
def simulate():&lt;br /&gt;
    # Plugin&lt;br /&gt;
    installResuslt = WindLab.installPlugin(&amp;quot;DeodatisAndShinozuka1991Plugin&amp;quot;)&lt;br /&gt;
    if not installResuslt:&lt;br /&gt;
       LabRPS.Console.PrintError(&amp;quot;The installation the DeodatisAndShinozuka1991Plugin has failed.\n&amp;quot;)&lt;br /&gt;
       return None&lt;br /&gt;
    &lt;br /&gt;
    # we need some additional feature from WindLab Plugin&lt;br /&gt;
    installResuslt = WindLab.installPlugin(&amp;quot;WindLabPlugin&amp;quot;)&lt;br /&gt;
    if not installResuslt:&lt;br /&gt;
       LabRPS.Console.PrintError(&amp;quot;The installation the WindLabPlugin has failed.\n&amp;quot;)&lt;br /&gt;
       return None&lt;br /&gt;
    &lt;br /&gt;
    # Document&lt;br /&gt;
    doc = LabRPS.newDocument()&lt;br /&gt;
&lt;br /&gt;
    # Simulation&lt;br /&gt;
    sim = WindLabObjects.makeSimulation(doc, &amp;quot;Simulation&amp;quot;)&lt;br /&gt;
    if not sim:&lt;br /&gt;
       LabRPS.Console.PrintError(&amp;quot;The simulation does not exist.\n&amp;quot;)&lt;br /&gt;
       return None&lt;br /&gt;
&lt;br /&gt;
    # Simulation points&lt;br /&gt;
    loc = WindLabObjects.makeFeature(&amp;quot;SimulationPoints&amp;quot;, &amp;quot;Simulation&amp;quot;,  &amp;quot;Horizontal Distribution&amp;quot;, &amp;quot;Location Distribution&amp;quot;)&lt;br /&gt;
    if not loc:&lt;br /&gt;
        LabRPS.Console.PrintError(&amp;quot;Error on creating the location distribution.\n&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
    # Mean wind Profile&lt;br /&gt;
    mean = WindLabObjects.makeFeature(&amp;quot;MeanSpeed&amp;quot;, &amp;quot;Simulation&amp;quot;,  &amp;quot;Logarithmic Law Profile&amp;quot;, &amp;quot;Mean Wind Profile&amp;quot;)&lt;br /&gt;
    if not mean:&lt;br /&gt;
        LabRPS.Console.PrintError(&amp;quot;The creation of the mean wind profile was not successuful.\n&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
    # Frequencies&lt;br /&gt;
    frequency = WindLabObjects.makeFeature(&amp;quot;Frequencies&amp;quot;, &amp;quot;Simulation&amp;quot;,  &amp;quot;Zerva Frequency Discretization&amp;quot;, &amp;quot;Frequency Distribution&amp;quot;)   &lt;br /&gt;
    if not frequency:&lt;br /&gt;
        LabRPS.Console.PrintError(&amp;quot;Error on creating the frequency distribution.\n&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
    # Spectrum&lt;br /&gt;
    spectrum = WindLabObjects.makeFeature(&amp;quot;Spectrum&amp;quot;, &amp;quot;Simulation&amp;quot;,  &amp;quot;Kaimal Along Wind Spectrum&amp;quot;, &amp;quot;Along Wind Spectrum&amp;quot;)&lt;br /&gt;
    if not spectrum:&lt;br /&gt;
        LabRPS.Console.PrintError(&amp;quot;Error on creating the spectrum model.\n&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
    &lt;br /&gt;
    # Random phase&lt;br /&gt;
    randomness = WindLabObjects.makeFeature(&amp;quot;RandomPhases&amp;quot;, &amp;quot;Simulation&amp;quot;,  &amp;quot;Uniform Random Phases&amp;quot;, &amp;quot;Randomness Provider&amp;quot;)&lt;br /&gt;
    if not randomness:&lt;br /&gt;
        LabRPS.Console.PrintError(&amp;quot;The creation of the randomness provider was not successuful.\n&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
    # Simulation method&lt;br /&gt;
    simMethod = WindLabObjects.makeFeature(&amp;quot;SimulationMethod&amp;quot;, &amp;quot;Simulation&amp;quot;,  &amp;quot;Shinozuka and Deodatis (1991)&amp;quot;, &amp;quot;Simulation Method&amp;quot;)&lt;br /&gt;
    if not simMethod:&lt;br /&gt;
        LabRPS.Console.PrintError(&amp;quot;Error on creating the simulation method.\n&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
    &lt;br /&gt;
    # Run simulation and output the first(0) sample&lt;br /&gt;
    # store starting time &lt;br /&gt;
    begin = time.time() &lt;br /&gt;
    velocities = sim.simulate(0)&lt;br /&gt;
    # store end time &lt;br /&gt;
    end = time.time()&lt;br /&gt;
    LabRPS.Console.PrintMessage(f&amp;quot;Total runtime of the simulaltion is {end - begin} seconds\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if LabRPS.GuiUp:&lt;br /&gt;
       import WindLabGui&lt;br /&gt;
       import GeneralToolsGui&lt;br /&gt;
       WindLabGui.setActiveSimulation(sim)&lt;br /&gt;
       GeneralToolsGui.GeneralToolsPyTool.showArray(sim.getSimulationData().numberOfTimeIncrements, sim.getSimulationData().numberOfSpatialPosition + 1, velocities, True)&lt;br /&gt;
&lt;br /&gt;
simulate()&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>LabRPS</name></author>
	</entry>
</feed>