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

An abstract class representing a wave passage effect. More...

#include <IrpsWLWavePassageEffect.h>

Public Member Functions

virtual bool ComputeWavePassageEffectMatrixPP (const WindLabSimulationData &Data, const double &dFrequency, const double &dTime, cx_mat &dCoherenceMatrix)=0
 Compute the wave passage effect matrix for given time and frequency.
 
virtual bool ComputeWavePassageEffectValue (const WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dFrequency, const double &dTime, std::complex< double > &dValue)=0
 Compute the wave passage effect value for given time, frequency and locations.
 
virtual bool ComputeWavePassageEffectVectorF (const WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dTime, vec &dVarVector, cx_vec &dValVector)=0
 Compute the wave passage effect between two simulation points for all frequency increments.
 
virtual bool ComputeWavePassageEffectVectorT (const WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dFrequency, vec &dVarVector, cx_vec &dValVector)=0
 Compute the wave passage effect 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 ~IrpsWLWavePassageEffect ()
 Virtual destructor for IrpsWLWavePassageEffect class.
 
- Public Member Functions inherited from WindLabAPI::WindLabFeatureWavePassageEffect
virtual const char * getViewProviderName () const
 
 WindLabFeatureWavePassageEffect (void)
 Constructor.
 
virtual ~WindLabFeatureWavePassageEffect ()
 
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::WindLabFeatureWavePassageEffect
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 wave passage effect.

This is a pure virtual class (interface) that defines the interface for all wave passage effects. The wave passage effect is often seen in the simulation of phenomena that have spatial and temporal correlations, where the observed values of a random process at a given location or time depend on previous values in a way that mimics the behavior of propagating waves.
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

◆ ~IrpsWLWavePassageEffect()

virtual WindLabAPI::IrpsWLWavePassageEffect::~IrpsWLWavePassageEffect ( )
virtual

Virtual destructor for IrpsWLWavePassageEffect class.

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

Member Function Documentation

◆ ComputeWavePassageEffectMatrixPP()

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

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

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

◆ ComputeWavePassageEffectValue()

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

Compute the wave passage effect 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 wave passage effect value will be computed.
dTimethe time instant at which the wave passage effect value will be computed.
dValuea value to be updated. This is the computed wave passage effect value.
Returns
return true if the computation is successful and false in case of failure.

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

◆ ComputeWavePassageEffectVectorF()

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

Compute the wave passage effect 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 wave 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::ComputeWavePassageEffectVectorF().

◆ ComputeWavePassageEffectVectorT()

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

Compute the wave passage effect 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 wave passage effect 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::ComputeWavePassageEffectVectorT().

◆ OnInitialSetting()

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