40 #ifndef __OPENFLUID_WARE_PLUGGABLESIMULATOR_HPP__ 41 #define __OPENFLUID_WARE_PLUGGABLESIMULATOR_HPP__ 49 #include <openfluid/core/TypeDefs.hpp> 67 #define DECLARE_SIMULATOR_PLUGIN 74 #define DEFINE_SIMULATOR_CLASS(pluginclassname) \ 77 OPENFLUID_PLUGIN std::string WAREABIVERSION_PROC_DECL() \ 79 return std::string(openfluid::config::VERSION_FULL); \ 82 OPENFLUID_PLUGIN openfluid::ware::PluggableSimulator* WAREBODY_PROC_DECL() \ 84 return new pluginclassname(); \ 238 std::string& Val)
const;
249 std::vector<std::string>& Vals)
const;
260 std::vector<double>& Vals)
const;
271 std::vector<long>& Vals)
const;
283 void OPENFLUID_SetSimulatorMaxThreads(
const int& MaxNumThreads);
337 void initializeWare(
const WareID_t& SimID,
const unsigned int& MaxThreads);
347 virtual void prepareData()=0;
352 virtual void checkConsistency()=0;
367 virtual void finalizeRun()=0;
openfluid::base::SchedulingRequest MultipliedDefaultDeltaT(const double &Mult) const
Definition: PluggableSimulator.hpp:311
unsigned long long Duration_t
Definition: DateTime.hpp:68
Definition: VectorValue.hpp:118
std::string WareID_t
Definition: TypeDefs.hpp:50
openfluid::base::SchedulingRequest Never() const
Definition: PluggableSimulator.hpp:296
openfluid::base::SchedulingRequest Duration(const openfluid::core::Duration_t &D) const
Definition: PluggableSimulator.hpp:319
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:105
Definition: SimulationContributorWare.hpp:50
openfluid::base::SchedulingRequest AtTheEnd() const
Definition: PluggableSimulator.hpp:289
Definition: SchedulingRequest.hpp:56
std::string WareParamKey_t
Definition: TypeDefs.hpp:126
openfluid::base::SchedulingRequest DefaultDeltaT() const
Definition: PluggableSimulator.hpp:303
int OPENFLUID_GetSimulatorMaxThreads() const
Definition: PluggableSimulator.hpp:277
Definition: ApplicationException.hpp:47
Definition: SchedulingRequest.hpp:56
Definition: SimulatorSignature.hpp:307
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: DoubleValue.hpp:102
Definition: MatrixValue.hpp:114
Definition: StringValue.hpp:91
Definition: SchedulingRequest.hpp:52
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:130