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

An abstract class representing a coherence function. More...

#include <IrpsWLCoherence.h>

Public Member Functions

virtual bool ComputeCrossCoherenceMatrixPP (const WindLabSimulationData &Data, const double &dFrequency, const double &dTime, cx_mat &dCoherenceMatrix)=0
 Compute the cross coherence matrix for given time and frequency.
 
virtual bool ComputeCrossCoherenceValue (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 coherence value for given time, frequency and locations.
 
virtual bool ComputeCrossCoherenceVectorF (const WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dTime, vec &dVarVector, cx_vec &dValVector)=0
 Compute the cross coherence between two simulation points for all frequency increments.
 
virtual bool ComputeCrossCoherenceVectorT (const WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dFrequency, vec &dVarVector, cx_vec &dValVector)=0
 Compute the cross coherence 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 ~IrpsWLCoherence ()
 Virtual destructor for IrpsWLCoherence class.
 
- Public Member Functions inherited from WindLabAPI::WindLabFeatureCoherence
virtual const char * getViewProviderName () const
 
 WindLabFeatureCoherence (void)
 Constructor.
 
virtual ~WindLabFeatureCoherence ()
 
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::WindLabFeatureCoherence
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 a coherence function.

This is a pure virtual class (interface) that defines the interface for all coherence functions. A coherence function is a fundamental component in the simulation of random phenomenon, particularly when modeling the spatial and temporal correlation of the fluctuations. It provides insight into how the phenomenon variations at different locations or times are related to one another, thus capturing the inherent dependence between the fluctuations at different points in space or over time. 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

◆ ~IrpsWLCoherence()

virtual WindLabAPI::IrpsWLCoherence::~IrpsWLCoherence ( )
virtual

Virtual destructor for IrpsWLCoherence class.

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

Member Function Documentation

◆ ComputeCrossCoherenceMatrixPP()

virtual bool WindLabAPI::IrpsWLCoherence::ComputeCrossCoherenceMatrixPP ( const WindLabSimulationData & Data,
const double & dFrequency,
const double & dTime,
cx_mat & dCoherenceMatrix )
pure virtual

Compute the cross coherence 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 coherence matrix will be computed.
dTimethe time instant at which the coherence matrix will be computed.
dCoherenceMatrixa matrix to be updated. It should contain the computed coherence matrix.
Returns
return true if the computation is successful and false in case of failure.

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

◆ ComputeCrossCoherenceValue()

virtual bool WindLabAPI::IrpsWLCoherence::ComputeCrossCoherenceValue ( 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 coherence 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 coherence value will be computed.
dTimethe time instant at which the coherence value will be computed.
dValuea value to be updated. This is the computed coherence value.
Returns
return true if the computation is successful and false in case of failure.

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

◆ ComputeCrossCoherenceVectorF()

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

Compute the cross coherence 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 coherence 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::ComputeCrossCoherenceVectorF().

◆ ComputeCrossCoherenceVectorT()

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

Compute the cross coherence 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 coherence 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::ComputeCrossCoherenceVectorT().

◆ OnInitialSetting()

virtual bool WindLabAPI::IrpsWLCoherence::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/IrpsWLCoherence.h