An abstract class representing an across wind spectrum. More...
#include <IrpsWLYSpectrum.h>
Public Member Functions | |
virtual bool | ComputeYAutoSpectrumValue (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &location, const double &dFrequency, const double &dTime, double &dValue)=0 |
Compute the auto spectrum value for given time, frequency and locations. | |
virtual bool | ComputeYAutoSpectrumVectorF (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &location, const double &dTime, vec &dVarVector, vec &dValVector)=0 |
Compute the auto spectrum between two simulation points for all frequency increments. | |
virtual bool | ComputeYAutoSpectrumVectorT (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &location, const double &dFrequency, vec &dVarVector, vec &dValVector)=0 |
Compute the cross spectrum between two simulation points for all time increments. | |
virtual bool | ComputeYCrossSpectrumMatrixPP (const WindLabAPI::WindLabSimulationData &Data, const double &dFrequency, const double &dTime, cx_mat &psdMatrix)=0 |
Compute the cross spectrum matrix for given time and frequency. | |
virtual bool | ComputeYCrossSpectrumValue (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dFrequency, const double &dTime, std::complex< double > &dValue)=0 |
Compute the cross spectrum value for given time, frequency and locations. | |
virtual bool | ComputeYCrossSpectrumVectorF (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dTime, vec &dVarVector, cx_vec &dValVector)=0 |
Compute the cross spectrum between two simulation points for all frequency increments. | |
virtual bool | ComputeYCrossSpectrumVectorT (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dFrequency, vec &dVarVector, cx_vec &dValVector)=0 |
Compute the cross spectrum between two simulation points for all time increments. | |
virtual bool | OnInitialSetting (const WindLabSimulationData &Data)=0 |
Allows to do any initial taks before any of the other methods is called. | |
virtual | ~IrpsWLYSpectrum () |
Virtual destructor for IrpsWLYSpectrum class. | |
![]() | |
virtual const char * | getViewProviderName () const |
WindLabFeatureYSpectrum (void) | |
Constructor. | |
virtual | ~WindLabFeatureYSpectrum () |
virtual short | mustExecute () const override |
![]() | |
WindLabFeature (void) | |
Constructor. | |
virtual | ~WindLabFeature () |
destructor | |
Additional Inherited Members | |
![]() | |
virtual App::DocumentObjectExecReturn * | recompute () override |
recompute only this object | |
virtual App::DocumentObjectExecReturn * | execute () override |
recalculate the feature | |
virtual void | onChanged (const App::Property *prop) override |
![]() | |
virtual PyObject * | getPyObject () override |
![]() | |
Py::SmartPtr | PythonObject |
An abstract class representing an across wind spectrum.
This is a pure virtual class (interface) that defines the interface for all across wind spectrums. The across-wind component refers to the variation in wind velocity perpendicular to the direction of the mean wind flow. Just as the along-wind velocity (parallel to the mean wind flow) is analyzed for its spectral content, the across-wind velocity spectrum, or across-wind power spectral density (PSD), represents the distribution of energy in this transverse direction.
Derived classes must implement all its methods. During the implementation of this interface you have to consider stationarity depending on how your feature varies in time to capture these three situation that may come from the user's inputs (requirements):
1-The user is willing to simulate stationary wind velocity. f = f(w)
2-The user is willing to simulate non-stationary wind velocity and has also created a modulation function in the simulation. f = f(w,t) = G(w) * M(t)
3-The user is willing to simulate non-stationary wind velocity without creating any modulation function in the simulation. f = f(w,t)
|
virtual |
Virtual destructor for IrpsWLYSpectrum class.
Provides proper cleanup in case a derived class object is destroyed.
|
pure virtual |
Compute the auto spectrum value for given time, frequency and locations.
Data | the simulation data containing all the simulation parameters input by the user. |
location | a location (simulation point represented by 3D position vector) where wind velocity time series is desired. |
dFrequency | the frequency value for which the spectrum value will be computed. |
dTime | the time instant at which the spectrum value will be computed. |
dValue | a value to be updated. This is the computed spectrum value. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYAutoSpectrumValue().
|
pure virtual |
Compute the auto spectrum between two simulation points for all frequency increments.
Data | the simulation data containing all the simulation parameters input by the user. |
location | a location (simulation point represented by 3D position vector) where wind velocity time series is desired. |
dTime | the time instant at which the spectrum passage effect vector will be computed. |
dVarVector | a vector to be updated. It should contains all the frequency increments used to compute each value stored in dValVector. |
dValVector | a vector to be updated. It should contain all the values computed for each frequency increment stored in dVarVector. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYAutoSpectrumVectorF().
|
pure virtual |
Compute the cross spectrum between two simulation points for all time increments.
Data | the simulation data containing all the simulation parameters input by the user. |
location | a location (simulation point represented by 3D position vector) where wind velocity time series is desired. |
dFrequency | the frequency value for which the spectrum vector will be computed. |
dVarVector | a vector to be updated. It should contains all the time increments used to compute each value stored in dValVector. |
dValVector | a vector to be updated. It should contain all the values computed for each time increment stored in dVarVector. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYAutoSpectrumVectorT().
|
pure virtual |
Compute the cross spectrum matrix for given time and frequency.
Data | the simulation data containing all the simulation parameters input by the user. |
dFrequency | the frequency value for which the spectrum matrix will be computed. |
dTime | the time instant at which the spectrum matrix will be computed. |
dCoherenceMatrix | a matrix to be updated. It should contain the computed spectrum matrix. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYCrossSpectrumMatrixPP().
|
pure virtual |
Compute the cross spectrum value for given time, frequency and locations.
Data | the simulation data containing all the simulation parameters input by the user. |
locationJ | a location J (simulation point represented by 3D position vector) where wind velocity time series is desired. |
locationK | a location K (simulation point represented by 3D position vector) where wind velocity time series is desired. |
dFrequency | the frequency value for which the spectrum value will be computed. |
dTime | the time instant at which the spectrum value will be computed. |
dValue | a value to be updated. This is the computed spectrum value. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYCrossSpectrumValue().
|
pure virtual |
Compute the cross spectrum between two simulation points for all frequency increments.
Data | the simulation data containing all the simulation parameters input by the user. |
locationJ | a location J (simulation point represented by 3D position vector) where wind velocity time series is desired. |
locationK | a location K (simulation point represented by 3D position vector) where wind velocity time series is desired. |
dTime | the time instant at which the spectrum passage effect vector will be computed. |
dVarVector | a vector to be updated. It should contains all the frequency increments used to compute each value stored in dValVector. |
dValVector | a vector to be updated. It should contain all the values computed for each frequency increment stored in dVarVector. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYCrossSpectrumVectorF().
|
pure virtual |
Compute the cross spectrum between two simulation points for all time increments.
Data | the simulation data containing all the simulation parameters input by the user. |
locationJ | a location J (simulation point represented by 3D position vector) where wind velocity time series is desired. |
locationK | a location K (simulation point represented by 3D position vector) where wind velocity time series is desired. |
dFrequency | the frequency value for which the spectrum vector will be computed. |
dVarVector | a vector to be updated. It should contains all the time increments used to compute each value stored in dValVector. |
dValVector | a vector to be updated. It should contain all the values computed for each time increment stored in dVarVector. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeYCrossSpectrumVectorT().
|
pure virtual |
Allows to do any initial taks before any of the other methods is called.
Data | the simulation data containing all the simulation parameters input by the user. |