IFEM 90A354
SIMmultiCpl.h
Go to the documentation of this file.
1// $Id$
2//==============================================================================
12//==============================================================================
13
14#ifndef _SIM_MULTI_CPL_H_
15#define _SIM_MULTI_CPL_H_
16
17#include "SIMadmin.h"
18#include "TopologySet.h"
19
20class SIMoutput;
21class SIMinput;
22
23
28class SIMmultiCpl : public SIMadmin
29{
30public:
32 explicit SIMmultiCpl(const std::vector<SIMoutput*>& sims);
34 virtual ~SIMmultiCpl();
35
36 using SIMadmin::parse;
38 virtual bool parse(const tinyxml2::XMLElement* elem);
39
44 virtual bool preprocessC(const IntVec& ignored, bool fixDup, double time0);
45
46private:
48 bool parseConnection(const tinyxml2::XMLElement* elem);
49
50protected:
53 {
54 SIMinput* mstSim = nullptr;
55 SIMinput* slvSim = nullptr;
56 TopEntity::const_iterator master;
57 TopEntity::const_iterator slave;
58 };
59
60 std::vector<SIMcoupling> myCpl;
61 std::vector<SIMoutput*> mySims;
62};
63
64#endif
Administration base class for FEM simulators.
Representation of topological entities.
Administration base class for FEM simulators.
Definition SIMadmin.h:32
std::vector< int > IntVec
Convenience alias.
Definition SIMadmin.h:34
virtual bool parse(char *keyWord, std::istream &is)
Parses a data section from an input stream.
Definition SIMadmin.C:113
Sub-class with functionality for model input and setup.
Definition SIMinput.h:38
Class for monolithic coupled simulators.
Definition SIMmultiCpl.h:29
std::vector< SIMoutput * > mySims
Dimension-specific simulator container.
Definition SIMmultiCpl.h:61
std::vector< SIMcoupling > myCpl
Inter-sim coupling definition container.
Definition SIMmultiCpl.h:60
virtual bool parse(const tinyxml2::XMLElement *elem)
Parses a data section from an XML document.
Definition SIMmultiCpl.C:43
bool parseConnection(const tinyxml2::XMLElement *elem)
Parses a connection definition from an XML element.
Definition SIMmultiCpl.C:60
virtual ~SIMmultiCpl()
The destructor deletes the base SIM objects.
Definition SIMmultiCpl.C:36
virtual bool preprocessC(const IntVec &ignored, bool fixDup, double time0)
Performs some pre-processing tasks on the FE model.
Definition SIMmultiCpl.C:89
Sub-class with additional functionality for result output.
Definition SIMoutput.h:33
Struct defining an inter-simulator coupling.
Definition SIMmultiCpl.h:53
SIMinput * slvSim
Simulator of the slave point.
Definition SIMmultiCpl.h:55
SIMinput * mstSim
Simulator of the master point.
Definition SIMmultiCpl.h:54
TopEntity::const_iterator master
Master point specification.
Definition SIMmultiCpl.h:56
TopEntity::const_iterator slave
Slave point specification.
Definition SIMmultiCpl.h:57