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(); \ 265 std::string& Val)
const;
276 std::vector<std::string>& Vals)
const;
287 std::vector<double>& Vals)
const;
298 std::vector<long>& Vals)
const;
331 void OPENFLUID_SetSimulatorMaxThreads(
const int& MaxNumThreads);
440 void initializeWare(
const WareID_t& SimID,
const unsigned int& MaxThreads);
450 virtual void prepareData()=0;
455 virtual void checkConsistency()=0;
470 virtual void finalizeRun()=0;
openfluid::base::SchedulingRequest Never() const
Definition: PluggableSimulator.hpp:364
openfluid::base::SchedulingRequest DefaultDeltaT() const
Definition: PluggableSimulator.hpp:382
std::string WareID_t
Definition: TypeDefs.hpp:49
std::string WareParamKey_t
Definition: TypeDefs.hpp:124
Definition: SimulatorSignature.hpp:306
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:105
Definition: StringValue.hpp:76
std::uint64_t Duration_t
Definition: TypeDefs.hpp:312
Definition: VectorValue.hpp:84
openfluid::base::SchedulingRequest Duration(const openfluid::core::Duration_t &D) const
Definition: PluggableSimulator.hpp:420
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:128
Definition: SchedulingRequest.hpp:57
Definition: SchedulingRequest.hpp:53
Definition: DoubleValue.hpp:80
Definition: SimulationContributorWare.hpp:51
Definition: ApplicationException.hpp:47
int OPENFLUID_GetSimulatorMaxThreads() const
Definition: PluggableSimulator.hpp:313
Definition: MatrixValue.hpp:84
Definition: SchedulingRequest.hpp:57
openfluid::base::SchedulingRequest MultipliedDefaultDeltaT(const double &Mult) const
Definition: PluggableSimulator.hpp:401
#define OPENFLUID_API
Definition: dllexport.hpp:86
openfluid::base::SchedulingRequest AtTheEnd() const
Definition: PluggableSimulator.hpp:346