41 #ifndef __PLUGGABLESIMULATOR_HPP__
42 #define __PLUGGABLESIMULATOR_HPP__
67 #define DECLARE_SIMULATOR_PLUGIN \
70 DLLEXPORT std::string WAREABIVERSION_PROC_DECL(); \
71 DLLEXPORT openfluid::ware::PluggableSimulator* WAREBODY_PROC_DECL(); \
72 DLLEXPORT openfluid::ware::SimulatorSignature* WARESIGNATURE_PROC_DECL(); \
84 #define DEFINE_SIMULATOR_CLASS(pluginclassname) \
85 std::string WAREABIVERSION_PROC_DECL() \
87 return std::string(openfluid::config::FULL_VERSION); \
90 openfluid::ware::PluggableSimulator* WAREBODY_PROC_DECL() \
92 return new pluginclassname(); \
101 namespace openfluid {
namespace ware {
218 std::string& Val)
const;
228 std::vector<std::string>& Vals)
const;
238 std::vector<double>& Vals)
const;
248 std::vector<long>& Vals)
const;
260 void OPENFLUID_SetSimulatorMaxThreads(
const int& MaxNumThreads);
293 void initializeWare(
const WareID_t& SimID,
const unsigned int& MaxThreads);
303 virtual void prepareData()=0;
308 virtual void checkConsistency()=0;
323 virtual void finalizeRun()=0;
openfluid::base::SchedulingRequest Never() const
Definition: PluggableSimulator.hpp:266
int OPENFLUID_GetSimulatorMaxThreads() const
Definition: PluggableSimulator.hpp:254
Definition: StringValue.hpp:91
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: PluggableWare.hpp:82
openfluid::base::SchedulingRequest DefaultDeltaT() const
Definition: PluggableSimulator.hpp:269
openfluid::base::SchedulingRequest Duration(const openfluid::core::Duration_t &D) const
Definition: PluggableSimulator.hpp:275
openfluid::base::SchedulingRequest AtTheEnd() const
Definition: PluggableSimulator.hpp:263
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:113
Definition: DoubleValue.hpp:103
Definition: SchedulingRequest.hpp:53
Definition: SimulationContributorWare.hpp:51
std::string WareID_t
Definition: WareSignature.hpp:86
Definition: MatrixValue.hpp:115
Definition: SchedulingRequest.hpp:57
Definition: SchedulingRequest.hpp:57
Definition: SimulatorSignature.hpp:435
unsigned long long Duration_t
Definition: DateTime.hpp:68
std::string WareParamKey_t
Definition: PluggableWare.hpp:79
Definition: VectorValue.hpp:119
openfluid::base::SchedulingRequest MultipliedDefaultDeltaT(const double &Mult) const
Definition: PluggableSimulator.hpp:272
#define DLLEXPORT
Definition: dllexport.hpp:51