MaMiCo 1.2
Loading...
Searching...
No Matches
Scenario.h
1// Copyright (C) 2015 Technische Universitaet Muenchen
2// This file is part of the Mamico project. For conditions of distribution
3// and use, please see the copyright notice in Mamico's main folder, or at
4// www5.in.tum.de/mamico
5#ifndef _MAMICO_COUPLING_SCENARIO_SCENARIO_H_
6#define _MAMICO_COUPLING_SCENARIO_SCENARIO_H_
7
8class Scenario;
9
10#include "coupling/CouplingMDDefinitions.h"
11#include "coupling/solvers/CouetteSolver.h"
12#include <iostream>
13#include <string>
14
15class Scenario {
16public:
17 Scenario(std::string scenarioname) : _scenarioname(scenarioname) { std::cout << "Run " << scenarioname << "..." << std::endl; }
18 virtual ~Scenario() { std::cout << "Shut down " << _scenarioname << std::endl; }
19
20 virtual void run() = 0;
21 virtual void init() = 0;
22 virtual void runOneCouplingCycle(int cycle) = 0;
23
24 virtual coupling::solvers::AbstractCouetteSolver<3>* getSolver() = 0;
25 const coupling::services::ParallelTimeIntegrationService<3>* getTimeIntegrationService() const { return _timeIntegrationService.get(); }
26
27protected:
28 std::unique_ptr<coupling::services::ParallelTimeIntegrationService<3>> _timeIntegrationService;
29
30private:
31 const std::string _scenarioname;
32};
33
34#endif // _MAMICO_COUPLING_SCENARIO_SCENARIO_H_
Definition Scenario.h:15
Definition ParallelTimeIntegrationService.h:34
interface for continuum/macro fluid solvers for the Couette scenario
Definition CouetteSolver.h:19