Search Results
Loading...
Searching...
No Matches
An abstract class representing a power spectrum density decomposition method. More...
#include <IrpsWLPSDdecompositionMethod.h>
Public Member Functions | |
virtual bool ComputeDecomposedCrossSpectrumMatrixPP (const WindLabAPI::WindLabSimulationData &Data, const double &dFrequency, const double &dTime, cx_mat &dPSDMatrix)=0 | |
Compute the decomposed spectrum matrix for given time and frequency. | |
virtual bool ComputeDecomposedCrossSpectrumVectorF (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dTime, vec &dVarVector, cx_vec &dValVector)=0 | |
Compute the decomposed spectrum between two simulation points for all frequency increments. | |
virtual bool ComputeDecomposedCrossSpectrumVectorT (const WindLabAPI::WindLabSimulationData &Data, const Base::Vector3d &locationJ, const Base::Vector3d &locationK, const double &dFrequency, vec &dVarVector, cx_vec &dValVector)=0 | |
Compute the decomposed 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 ~IrpsWLPSDdecompositionMethod () | |
Virtual destructor for IrpsWLPSDdecompositionMethod class. | |
![]() | |
virtual const char * getViewProviderName () const | |
WindLabFeaturePSDDecompositionMethod (void) | |
Constructor. | |
virtual ~WindLabFeaturePSDDecompositionMethod () | |
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 power spectrum density decomposition method.
This is a pure virtual class (interface) that defines the interface for power spectrum density decomposition methods. To simulate seismic events accurately, it is essential for certain simulation algorithms to perform Power Spectral Density (PSD) decomposition. Decomposing the PSD into orthogonal components or factorizing it using methods such as Cholesky Decomposition is a crucial step in those simulation algorithms. In fact, this class is to allow all the community to develop more efficient and optimized algorithms for the Cholesky decomposition usually involved in the specral representation method. 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 IrpsWLPSDdecompositionMethod class.
Provides proper cleanup in case a derived class object is destroyed.
|
pure virtual |
Compute the decomposed 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 decomposed spectrum matrix will be computed. |
dTime | the time instant at which the decomposed spectrum matrix will be computed. |
dCoherenceMatrix | a matrix to be updated. It should contain the computed decomposed spectrum matrix. |
Referenced by WindLabAPI::CRPSWindLabFramework::ComputeDecomposedCrossSpectrumMatrixPP().
|
pure virtual |
Compute the decomposed 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 decomposed spectrum 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::ComputeDecomposedCrossSpectrumVectorF().
|
pure virtual |
Compute the decomposed 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 decomposed 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::ComputeDecomposedCrossSpectrumVectorT().
|
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. |