17 #ifndef escript_SubWorld_H 18 #define escript_SubWorld_H 20 #include "esysUtils/Esys_MPI.h" 47 class SubWorld :
public boost::enable_shared_from_this<SubWorld>
56 void addJob(boost::python::object j);
57 char runJobs(std::string& errmsg);
63 std::list<std::pair<std::string, bool> >
getVarList();
64 std::list<std::pair<std::string, std::string> >
getVarInfo();
85 void copyVariable(
const std::string& src,
const std::string& dest);
97 std::vector<boost::python::object>
jobvec;
104 typedef std::map<std::string, unsigned char>
str2char;
111 std::vector<unsigned char> globalvarinfo;
113 typedef std::map<unsigned char, int> countmap;
114 typedef std::map<std::string, countmap> str2countmap;
115 str2countmap globalvarcounts;
116 bool globalinfoinvalid;
138 void setVarState(
const std::string& vname,
char state,
int swid);
Domain_ptr getDomain()
Definition: SubWorld.cpp:70
bool checkRemoteCompatibility(std::string &errmsg)
Definition: SubWorld.cpp:426
void addVariable(std::string &, Reducer_ptr &red)
Definition: SubWorld.cpp:1002
esysUtils::JMPI & getCorrMPI()
Definition: SubWorld.cpp:60
void resetInterest()
Definition: SubWorld.cpp:1051
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:36
Definition: AbstractContinuousDomain.cpp:24
esysUtils::JMPI corrmpi
Definition: SubWorld.h:92
void newRunJobs()
Definition: SubWorld.cpp:1066
SubWorld(esysUtils::JMPI &globalcom, esysUtils::JMPI &comm, esysUtils::JMPI &corr, unsigned int subworldcount, unsigned int local_id, bool manualimport)
Definition: SubWorld.cpp:41
bool synchVariableInfo(std::string &err)
Definition: SubWorld.cpp:816
esysUtils::JMPI swmpi
Definition: SubWorld.h:91
void clearJobs()
Definition: SubWorld.cpp:80
void setMyVarState(const std::string &vname, char state)
Definition: SubWorld.cpp:85
escript::Domain_ptr domain
Definition: SubWorld.h:96
bool localTransport(std::string &errmsg)
Definition: SubWorld.cpp:219
void setAllVarsState(const std::string &name, char state)
Definition: SubWorld.cpp:90
void copyVariable(const std::string &src, const std::string &dest)
Definition: SubWorld.cpp:1100
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:117
int MPI_Comm
Definition: Esys_MPI.h:38
bool deliverImports(std::string &errmsg)
Definition: SubWorld.cpp:165
unsigned int localid
Definition: SubWorld.h:101
bool manualimports
Definition: SubWorld.h:108
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:142
std::list< std::pair< std::string, bool > > getVarList()
Definition: SubWorld.cpp:1074
std::vector< boost::python::object > jobvec
Definition: SubWorld.h:97
str2char varstate
Definition: SubWorld.h:106
void setVarState(const std::string &vname, char state, int swid)
Definition: SubWorld.cpp:129
bool synchVariableValues(std::string &err)
Definition: SubWorld.cpp:618
double getScalarVariable(const std::string &name)
Definition: SubWorld.cpp:341
void setDomain(Domain_ptr d)
Definition: SubWorld.cpp:65
void removeVariable(std::string &name)
Definition: SubWorld.cpp:1028
std::list< std::pair< std::string, std::string > > getVarInfo()
Definition: SubWorld.cpp:1084
std::map< std::string, unsigned char > str2char
Definition: SubWorld.h:104
esysUtils::JMPI everyone
Definition: SubWorld.h:90
str2reduce reducemap
Definition: SubWorld.h:105
std::map< std::string, Reducer_ptr > str2reduce
Definition: SubWorld.h:103
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SubWorld.cpp:389
Definition: SubWorld.h:47
~SubWorld()
Definition: SubWorld.cpp:51
void debug()
Definition: SubWorld.cpp:265
void clearVariable(std::string &name)
Definition: SubWorld.cpp:1039
char runJobs(std::string &errmsg)
Definition: SubWorld.cpp:966
unsigned int swcount
Definition: SubWorld.h:100
esysUtils::JMPI & getMPI()
Definition: SubWorld.cpp:55
size_t getNumVars()
Definition: SubWorld.cpp:996
bool amLeader()
Definition: SubWorld.cpp:809
boost::shared_ptr< JMPI_ > JMPI
Definition: Esys_MPI.h:79
void addJob(boost::python::object j)
Definition: SubWorld.cpp:75