Loading...
Searching...
No Matches
WindLabAPI::IrpsWLXSpectrum Class Referenceabstract

An abstract class representing an along wind spectrum. More...

#include <IrpsWLXSpectrum.h>

Public Member Functions

virtual bool ComputeXAutoSpectrumValue (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 ComputeXAutoSpectrumVectorF (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 ComputeXAutoSpectrumVectorT (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 ComputeXCrossSpectrumMatrixPP (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 ComputeXCrossSpectrumValue (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 ComputeXCrossSpectrumVectorF (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 ComputeXCrossSpectrumVectorT (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 ~IrpsWLXSpectrum ()
 Virtual destructor for IrpsWLXSpectrum class.
 
- Public Member Functions inherited from WindLabAPI::WindLabFeatureXSpectrum
virtual const char * getViewProviderName () const
 
 WindLabFeatureXSpectrum (void)
 Constructor.
 
virtual ~WindLabFeatureXSpectrum ()
 
virtual short mustExecute () const override
 
- Public Member Functions inherited from WindLabAPI::WindLabFeature
 WindLabFeature (void)
 Constructor.
 
virtual ~WindLabFeature ()
 destructor
 

Additional Inherited Members

- Protected Member Functions inherited from WindLabAPI::WindLabFeatureXSpectrum
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
 
- Protected Member Functions inherited from WindLabAPI::WindLabFeature
virtual PyObject * getPyObject () override
 
- Protected Attributes inherited from WindLabAPI::WindLabFeature
Py::SmartPtr PythonObject
 

Detailed Description

An abstract class representing an along wind spectrum.

This is a pure virtual class (interface) that defines the interface for all along wind spectrums. The along-wind velocity is the component of the wind that moves along a specific horizontal direction (usually aligned with the mean wind flow), and its behavior is influenced by turbulence generated at various scales in the atmosphere. The spectrum of this velocity, known as the along-wind power spectral density (PSD), describes how the turbulent kinetic energy is distributed across these scales.
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)

Constructor & Destructor Documentation

◆ ~IrpsWLXSpectrum()

virtual WindLabAPI::IrpsWLXSpectrum::~IrpsWLXSpectrum ( )
virtual

Virtual destructor for IrpsWLXSpectrum class.

Provides proper cleanup in case a derived class object is destroyed.

Member Function Documentation

◆ ComputeXAutoSpectrumValue()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXAutoSpectrumValue ( const WindLabAPI::WindLabSimulationData & Data,
const Base::Vector3d & location,
const double & dFrequency,
const double & dTime,
double & dValue )
pure virtual

Compute the auto spectrum value for given time, frequency and locations.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
locationa location (simulation point represented by 3D position vector) where wind velocity time series is desired.
dFrequencythe frequency value for which the spectrum value will be computed.
dTimethe time instant at which the spectrum value will be computed.
dValuea value to be updated. This is the computed spectrum value.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXAutoSpectrumValue().

◆ ComputeXAutoSpectrumVectorF()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXAutoSpectrumVectorF ( const WindLabAPI::WindLabSimulationData & Data,
const Base::Vector3d & location,
const double & dTime,
vec & dVarVector,
vec & dValVector )
pure virtual

Compute the auto spectrum between two simulation points for all frequency increments.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
locationa location (simulation point represented by 3D position vector) where wind velocity time series is desired.
dTimethe time instant at which the spectrum passage effect vector will be computed.
dVarVectora vector to be updated. It should contains all the frequency increments used to compute each value stored in dValVector.
dValVectora vector to be updated. It should contain all the values computed for each frequency increment stored in dVarVector.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXAutoSpectrumVectorF().

◆ ComputeXAutoSpectrumVectorT()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXAutoSpectrumVectorT ( const WindLabAPI::WindLabSimulationData & Data,
const Base::Vector3d & location,
const double & dFrequency,
vec & dVarVector,
vec & dValVector )
pure virtual

Compute the cross spectrum between two simulation points for all time increments.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
locationa location (simulation point represented by 3D position vector) where wind velocity time series is desired.
dFrequencythe frequency value for which the spectrum vector will be computed.
dVarVectora vector to be updated. It should contains all the time increments used to compute each value stored in dValVector.
dValVectora vector to be updated. It should contain all the values computed for each time increment stored in dVarVector.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXAutoSpectrumVectorT().

◆ ComputeXCrossSpectrumMatrixPP()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXCrossSpectrumMatrixPP ( const WindLabAPI::WindLabSimulationData & Data,
const double & dFrequency,
const double & dTime,
cx_mat & psdMatrix )
pure virtual

Compute the cross spectrum matrix for given time and frequency.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
dFrequencythe frequency value for which the spectrum matrix will be computed.
dTimethe time instant at which the spectrum matrix will be computed.
dCoherenceMatrixa matrix to be updated. It should contain the computed spectrum matrix.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXCrossSpectrumMatrixPP().

◆ ComputeXCrossSpectrumValue()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXCrossSpectrumValue ( const WindLabAPI::WindLabSimulationData & Data,
const Base::Vector3d & locationJ,
const Base::Vector3d & locationK,
const double & dFrequency,
const double & dTime,
std::complex< double > & dValue )
pure virtual

Compute the cross spectrum value for given time, frequency and locations.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
locationJa location J (simulation point represented by 3D position vector) where wind velocity time series is desired.
locationKa location K (simulation point represented by 3D position vector) where wind velocity time series is desired.
dFrequencythe frequency value for which the spectrum value will be computed.
dTimethe time instant at which the spectrum value will be computed.
dValuea value to be updated. This is the computed spectrum value.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXCrossSpectrumValue().

◆ ComputeXCrossSpectrumVectorF()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXCrossSpectrumVectorF ( const WindLabAPI::WindLabSimulationData & Data,
const Base::Vector3d & locationJ,
const Base::Vector3d & locationK,
const double & dTime,
vec & dVarVector,
cx_vec & dValVector )
pure virtual

Compute the cross spectrum between two simulation points for all frequency increments.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
locationJa location J (simulation point represented by 3D position vector) where wind velocity time series is desired.
locationKa location K (simulation point represented by 3D position vector) where wind velocity time series is desired.
dTimethe time instant at which the spectrum passage effect vector will be computed.
dVarVectora vector to be updated. It should contains all the frequency increments used to compute each value stored in dValVector.
dValVectora vector to be updated. It should contain all the values computed for each frequency increment stored in dVarVector.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXCrossSpectrumVectorF().

◆ ComputeXCrossSpectrumVectorT()

virtual bool WindLabAPI::IrpsWLXSpectrum::ComputeXCrossSpectrumVectorT ( const WindLabAPI::WindLabSimulationData & Data,
const Base::Vector3d & locationJ,
const Base::Vector3d & locationK,
const double & dFrequency,
vec & dVarVector,
cx_vec & dValVector )
pure virtual

Compute the cross spectrum between two simulation points for all time increments.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
locationJa location J (simulation point represented by 3D position vector) where wind velocity time series is desired.
locationKa location K (simulation point represented by 3D position vector) where wind velocity time series is desired.
dFrequencythe frequency value for which the spectrum vector will be computed.
dVarVectora vector to be updated. It should contains all the time increments used to compute each value stored in dValVector.
dValVectora vector to be updated. It should contain all the values computed for each time increment stored in dVarVector.
Returns
return true if the computation is successful and false in case of failure.

Referenced by WindLabAPI::CRPSWindLabFramework::ComputeXCrossSpectrumVectorT().

◆ OnInitialSetting()

virtual bool WindLabAPI::IrpsWLXSpectrum::OnInitialSetting ( const WindLabSimulationData & Data)
pure virtual

Allows to do any initial taks before any of the other methods is called.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
Returns
return true if the computation is successful and false in case of failure.

The documentation for this class was generated from the following file:
  • RPS/LabRPS/LabRPS_KOFFI/src/Mod/WindLabAPI/App/IrpsWLXSpectrum.h