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. | |
![]() | |
virtual const char * | getViewProviderName () const |
WindLabFeatureCoherence (void) | |
Constructor. | |
virtual | ~WindLabFeatureCoherence () |
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 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)
|
virtual |
Virtual destructor for IrpsWLCoherence class.
Provides proper cleanup in case a derived class object is destroyed.
|
pure virtual |
Compute the cross coherence 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 coherence matrix will be computed. |
dTime | the time instant at which the coherence matrix will be computed. |
dCoherenceMatrix | a matrix to be updated. It should contain the computed coherence matrix. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeCrossCoherenceMatrixPP().
|
pure virtual |
Compute the cross coherence 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 coherence value will be computed. |
dTime | the time instant at which the coherence value will be computed. |
dValue | a value to be updated. This is the computed coherence value. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeCrossCoherenceValue().
|
pure virtual |
Compute the cross coherence 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 coherence 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::ComputeCrossCoherenceVectorF().
|
pure virtual |
Compute the cross coherence 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 coherence 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::ComputeCrossCoherenceVectorT().
|
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. |