2022-07-22 11:15:52 +02:00
|
|
|
#include "simulationmodelfactory.hpp"
|
|
|
|
|
|
|
|
SimulationModelFactory::SimulationModelFactory() {}
|
|
|
|
|
2022-10-20 12:35:31 +02:00
|
|
|
std::unique_ptr<SimulationModel> SimulationModelFactory::create(
|
|
|
|
const std::string& simulationModelLabel) {
|
2022-08-08 11:02:41 +02:00
|
|
|
if (simulationModelLabel == DRMSimulationModel::label) {
|
|
|
|
return std::make_unique<DRMSimulationModel>();
|
|
|
|
} else if (simulationModelLabel == ChronosEulerSimulationModel::label) {
|
|
|
|
return std::make_unique<ChronosEulerSimulationModel>();
|
|
|
|
} else if (simulationModelLabel == ChronosEulerLinearSimulationModel::label) {
|
|
|
|
return std::make_unique<ChronosEulerLinearSimulationModel>();
|
|
|
|
} else if (simulationModelLabel ==
|
|
|
|
ChronosEulerNonLinearSimulationModel::label) {
|
|
|
|
return std::make_unique<ChronosEulerNonLinearSimulationModel>();
|
|
|
|
} else if (simulationModelLabel == LinearSimulationModel::label) {
|
|
|
|
return std::make_unique<LinearSimulationModel>();
|
|
|
|
}
|
|
|
|
std::cerr
|
2022-10-20 12:35:31 +02:00
|
|
|
<< "Simulation model used for computing the optimization results was "
|
|
|
|
"not recognized"
|
|
|
|
<< std::endl;
|
2022-08-08 11:02:41 +02:00
|
|
|
assert(false);
|
|
|
|
return nullptr;
|
2022-07-22 11:15:52 +02:00
|
|
|
}
|