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;
278 {
return m_MaxThreads; };
284 void OPENFLUID_SetSimulatorMaxThreads(
const int& MaxNumThreads);
338 void initializeWare(
const WareID_t& SimID,
const unsigned int& MaxThreads);
348 virtual void prepareData()=0;
353 virtual void checkConsistency()=0;
368 virtual void finalizeRun()=0;
std::uint64_t Duration_t
Definition: TypeDefs.hpp:186
int OPENFLUID_GetSimulatorMaxThreads() const
Definition: PluggableSimulator.hpp:277
Definition: SchedulingRequest.hpp:57
Definition: VectorValue.hpp:118
Definition: SchedulingRequest.hpp:53
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:128
Definition: SimulatorSignature.hpp:305
#define OPENFLUID_API
Definition: dllexport.hpp:86
Definition: SchedulingRequest.hpp:57
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:105
Definition: ApplicationException.hpp:47
std::string WareID_t
Definition: TypeDefs.hpp:49
openfluid::base::SchedulingRequest Duration(const openfluid::core::Duration_t &D) const
Definition: PluggableSimulator.hpp:320
Definition: SimulationContributorWare.hpp:51
openfluid::base::SchedulingRequest DefaultDeltaT() const
Definition: PluggableSimulator.hpp:304
openfluid::base::SchedulingRequest Never() const
Definition: PluggableSimulator.hpp:297
Definition: DoubleValue.hpp:102
std::string WareParamKey_t
Definition: TypeDefs.hpp:124
Definition: MatrixValue.hpp:115
openfluid::base::SchedulingRequest AtTheEnd() const
Definition: PluggableSimulator.hpp:290
Definition: StringValue.hpp:88
openfluid::base::SchedulingRequest MultipliedDefaultDeltaT(const double &Mult) const
Definition: PluggableSimulator.hpp:312