VPTissue Reference Manual
ExchangeCoupler.h
Go to the documentation of this file.
1 #ifndef BOUNDARYC_COUPLER_H_
2 #define BOUNDARYC_COUPLER_H_
3 /*
4  * Copyright 2011-2016 Universiteit Antwerpen
5  *
6  * Licensed under the EUPL, Version 1.1 or as soon they will be approved by
7  * the European Commission - subsequent versions of the EUPL (the "Licence");
8  * You may not use this work except in compliance with the Licence.
9  * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl5
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the Licence is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the Licence for the specific language governing
15  * permissions and limitations under the Licence.
16  */
22 #include "ICoupler.h"
23 
24 #include "sim/CoreData.h"
25 
26 #include <boost/property_tree/ptree_fwd.hpp>
27 #include <utility>
28 #include <vector>
29 #include <tuple>
30 
31 namespace SimPT_Sim {
32 
36 class ExchangeCoupler : public ICoupler
37 {
38 public:
40 
41  virtual ~ExchangeCoupler() {}
42 
58  virtual void Initialize(
59  const boost::property_tree::ptree& parameters, const CoreData& from, const CoreData& to);
60 
64  virtual void Exec();
65 
66 private:
67  CoreData m_cd;
68  CoreData m_from;
69  CoreData m_to;
70 
72  std::pair<unsigned int, unsigned int> m_transfer_chemicals;
73 
75  std::vector<std::tuple<unsigned int, unsigned int, double>> m_transfer_cells;
76 };
77 
78 } // namespace
79 
80 #endif // end-of-include-guard
Core data with mesh, parameters, random engine and time data.
Definition: CoreData.h:38
Interface for ICoupler.
Core data used during model execution.
Interface for the classes coupling two parallel simulations.
Definition: ICoupler.h:33
Namespace for the core simulator.
virtual void Initialize(const boost::property_tree::ptree &parameters, const CoreData &from, const CoreData &to)