Go to the documentation of this file.
18 #ifndef escript_SubWorld_H
19 #define escript_SubWorld_H
52 unsigned int subworldcount,
unsigned int local_id,
61 void addJob(boost::python::object j);
62 char runJobs(std::string& errmsg);
68 std::list<std::pair<std::string, bool> >
getVarList();
69 std::list<std::pair<std::string, std::string> >
getVarInfo();
90 void copyVariable(
const std::string& src,
const std::string& dest);
102 std::vector<boost::python::object>
jobvec;
108 typedef std::map<std::string, Reducer_ptr>
str2reduce;
109 typedef std::map<std::string, unsigned char>
str2char;
116 std::vector<unsigned char> globalvarinfo;
118 typedef std::map<unsigned char, int> countmap;
119 typedef std::map<std::string, countmap> str2countmap;
120 str2countmap globalvarcounts;
121 bool globalinfoinvalid;
124 bool makeComm(
MPI_Comm& sourcecom,
JMPI& sub,std::vector<int>& members);
129 bool makeGroupComm1(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& com);
132 bool makeGroupReduceGroups(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& red,
JMPI& cop,
bool& incopy);
137 bool makeGroupComm2(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& com,
bool& ingroup);
143 void setVarState(
const std::string& vname,
char state,
int swid);
unsigned int localid
Definition: SubWorld.h:131
void debug()
Definition: SubWorld.cpp:259
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:76
bool manualimports
Definition: SubWorld.h:138
unsigned int swcount
Definition: SubWorld.h:130
SubWorld(JMPI &globalcom, JMPI &comm, JMPI &corr, unsigned int subworldcount, unsigned int local_id, bool manualimport)
Definition: SubWorld.cpp:35
bool localTransport(std::string &errmsg)
Definition: SubWorld.cpp:213
JMPI & getMPI()
Definition: SubWorld.cpp:51
bool synchVariableValues(std::string &err)
Definition: SubWorld.cpp:607
Definition: AbstractReducer.h:41
void removeVariable(std::string &name)
Definition: SubWorld.cpp:1016
void setDomain(Domain_ptr d)
Definition: SubWorld.cpp:61
std::map< std::string, unsigned char > str2char
Definition: SubWorld.h:134
JMPI & getCorrMPI()
Definition: SubWorld.cpp:56
char runJobs(std::string &errmsg)
Definition: SubWorld.cpp:954
void newRunJobs()
Definition: SubWorld.cpp:1054
const unsigned char NONE
Definition: AbstractReducer.h:58
#define ERROR
Definition: finley/src/Mesh_readGmsh.cpp:33
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SubWorld.cpp:380
JMPI swmpi
Definition: SubWorld.h:121
std::map< std::string, Reducer_ptr > str2reduce
Definition: SubWorld.h:133
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:53
void setVarState(const std::string &vname, char state, int swid)
Definition: SubWorld.cpp:123
size_t getNumVars()
Definition: SubWorld.cpp:984
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:41
#define REFCOUNT_BASE_CLASS(x)
Definition: Pointers.h:30
const unsigned char INTERESTED
Definition: AbstractReducer.h:59
#define MPI_MAX
Definition: EsysMPI.h:53
void clearVariable(std::string &name)
Definition: SubWorld.cpp:1027
std::list< std::pair< std::string, std::string > > getVarInfo()
Definition: SubWorld.cpp:1072
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:130
escript::Domain_ptr domain
Definition: SubWorld.h:126
const unsigned char OLD
Definition: AbstractReducer.h:60
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:71
void addJob(boost::python::object j)
Definition: SubWorld.cpp:71
str2reduce reducemap
Definition: SubWorld.h:135
void resetInterest()
Definition: SubWorld.cpp:1039
Definition: SplitWorldException.h:40
bool deliverImports(std::string &errmsg)
Definition: SubWorld.cpp:159
bool synchVariableInfo(std::string &err)
Definition: SubWorld.cpp:805
~SubWorld()
Definition: SubWorld.cpp:47
const unsigned char OLDINTERESTED
Definition: AbstractReducer.h:61
void clearJobs()
Definition: SubWorld.cpp:76
void addVariable(std::string &, Reducer_ptr &red)
Definition: SubWorld.cpp:990
bool amLeader()
Definition: SubWorld.cpp:798
std::vector< boost::python::object > jobvec
Definition: SubWorld.h:127
void copyVariable(const std::string &src, const std::string &dest)
Definition: SubWorld.cpp:1088
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:159
bool checkRemoteCompatibility(std::string &errmsg)
Definition: SubWorld.cpp:417
Domain_ptr getDomain()
Definition: SubWorld.cpp:66
Definition: AbstractContinuousDomain.cpp:23
std::list< std::pair< std::string, bool > > getVarList()
Definition: SubWorld.cpp:1062
str2char varstate
Definition: SubWorld.h:136
void setAllVarsState(const std::string &name, char state)
Definition: SubWorld.cpp:86
const unsigned char NEW
Definition: AbstractReducer.h:62
int MPI_Comm
Definition: EsysMPI.h:41
DataTypes::real_t getScalarVariable(const std::string &name)
Definition: SubWorld.cpp:332
Base class for all escript domains.
Definition: AbstractDomain.h:62
void getStringFromPyException(boost::python::error_already_set e, std::string &errormsg)
Definition: pyerr.cpp:40
JMPI everyone
Definition: SubWorld.h:120
JMPI corrmpi
Definition: SubWorld.h:122
void setMyVarState(const std::string &vname, char state)
Definition: SubWorld.cpp:81