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

An abstract class representing a simulation method. More...

#include <IrpsWLSimuMethod.h>

Public Member Functions

virtual bool OnInitialSetting (const WindLabSimulationData &Data)=0
 Allows to do any initial taks before any of the other methods is called.
 
virtual bool Simulate (const WindLabSimulationData &Data, mat &dVelocityArray)=0
 Generate random wind velocity.
 
virtual bool SimulateInLargeScaleMode (const WindLabSimulationData &Data, QString &strFileName)=0
 Generate random wind velocity in large scale simulation mode.
 
virtual ~IrpsWLSimuMethod ()
 Virtual destructor for IrpsWLSimuMethod class.
 
- Public Member Functions inherited from WindLabAPI::WindLabFeatureSimulationMethod
virtual const char * getViewProviderName () const
 
 WindLabFeatureSimulationMethod (void)
 Constructor.
 
virtual ~WindLabFeatureSimulationMethod ()
 
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::WindLabFeatureSimulationMethod
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 simulation method.

This is a pure virtual class (interface) that defines the interface for all simulation methods. Simulation methods refer to simulation algorithms which provide powerful tools for modeling complex systems that involve uncertainty, randomness, or fluctuating behavior, allowing researchers, engineers, and analysts to study and predict the behavior of these systems in a computationally efficient manner. Various simulations methods can be found in LabRPS for the simulation of various random phenomena. 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

◆ ~IrpsWLSimuMethod()

virtual WindLabAPI::IrpsWLSimuMethod::~IrpsWLSimuMethod ( )
virtual

Virtual destructor for IrpsWLSimuMethod class.

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

Member Function Documentation

◆ OnInitialSetting()

virtual bool WindLabAPI::IrpsWLSimuMethod::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.

◆ Simulate()

virtual bool WindLabAPI::IrpsWLSimuMethod::Simulate ( const WindLabSimulationData & Data,
mat & dVelocityArray )
pure virtual

Generate random wind velocity.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
dVelocityArraya matrix to be updated. This is generated random wind velocity matrix. Its first column contains the time increments.
Returns
return true if the computation is successful and false in case of failure.

◆ SimulateInLargeScaleMode()

virtual bool WindLabAPI::IrpsWLSimuMethod::SimulateInLargeScaleMode ( const WindLabSimulationData & Data,
QString & strFileName )
pure virtual

Generate random wind velocity in large scale simulation mode.

Parameters
Datathe simulation data containing all the simulation parameters input by the user.
strFileNameIn large scale mode, the generated wind velocity is not save in memory. It should be written to computer disc to avoid memory usage overflow. This is the name of the file in which the generated wind speed values will be written. You can get the working directory that from the simulation Data in order to create the full path of the file.
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/IrpsWLSimuMethod.h