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::FULL_VERSION); \
82 OPENFLUID_PLUGIN openfluid::ware::PluggableSimulator* WAREBODY_PROC_DECL() \
84 return new pluginclassname(); \
93 namespace openfluid {
namespace ware {
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);
316 void initializeWare(
const WareID_t& SimID,
const unsigned int& MaxThreads);
326 virtual void prepareData()=0;
331 virtual void checkConsistency()=0;
346 virtual void finalizeRun()=0;
Definition: VectorValue.hpp:118
unsigned long long Duration_t
Definition: DateTime.hpp:68
std::string WareParamKey_t
Definition: TypeDefs.hpp:89
openfluid::base::SchedulingRequest MultipliedDefaultDeltaT(const double &Mult) const
Definition: PluggableSimulator.hpp:295
Definition: SimulationContributorWare.hpp:50
Definition: SchedulingRequest.hpp:52
openfluid::base::SchedulingRequest Never() const
Definition: PluggableSimulator.hpp:289
Definition: DoubleValue.hpp:102
Definition: SchedulingRequest.hpp:56
openfluid::base::SchedulingRequest Duration(const openfluid::core::Duration_t &D) const
Definition: PluggableSimulator.hpp:298
Definition: StringValue.hpp:91
int OPENFLUID_GetSimulatorMaxThreads() const
Definition: PluggableSimulator.hpp:277
openfluid::base::SchedulingRequest AtTheEnd() const
Definition: PluggableSimulator.hpp:286
openfluid::base::SchedulingRequest DefaultDeltaT() const
Definition: PluggableSimulator.hpp:292
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:105
Definition: MatrixValue.hpp:114
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: SimulatorSignature.hpp:307
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:93
Definition: SchedulingRequest.hpp:56
std::string WareID_t
Definition: TypeDefs.hpp:50