Go to the documentation of this file.
17 #ifndef escript_SubWorld_H
18 #define escript_SubWorld_H
51 unsigned int subworldcount,
unsigned int local_id,
60 void addJob(boost::python::object j);
61 char runJobs(std::string& errmsg);
67 std::list<std::pair<std::string, bool> >
getVarList();
68 std::list<std::pair<std::string, std::string> >
getVarInfo();
89 void copyVariable(
const std::string& src,
const std::string& dest);
101 std::vector<boost::python::object>
jobvec;
107 typedef std::map<std::string, Reducer_ptr>
str2reduce;
108 typedef std::map<std::string, unsigned char>
str2char;
115 std::vector<unsigned char> globalvarinfo;
117 typedef std::map<unsigned char, int> countmap;
118 typedef std::map<std::string, countmap> str2countmap;
119 str2countmap globalvarcounts;
120 bool globalinfoinvalid;
123 bool makeComm(
MPI_Comm& sourcecom,
JMPI& sub,std::vector<int>& members);
128 bool makeGroupComm1(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& com);
131 bool makeGroupReduceGroups(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& red,
JMPI& cop,
bool& incopy);
136 bool makeGroupComm2(
MPI_Comm& srccom,
int vnum,
char mystate,
JMPI& com,
bool& ingroup);
142 void setVarState(
const std::string& vname,
char state,
int swid);
unsigned int localid
Definition: SubWorld.h:128
void debug()
Definition: SubWorld.cpp:258
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:73
bool manualimports
Definition: SubWorld.h:135
unsigned int swcount
Definition: SubWorld.h:127
SubWorld(JMPI &globalcom, JMPI &comm, JMPI &corr, unsigned int subworldcount, unsigned int local_id, bool manualimport)
Definition: SubWorld.cpp:34
bool localTransport(std::string &errmsg)
Definition: SubWorld.cpp:212
JMPI & getMPI()
Definition: SubWorld.cpp:50
bool synchVariableValues(std::string &err)
Definition: SubWorld.cpp:606
Definition: AbstractReducer.h:39
void removeVariable(std::string &name)
Definition: SubWorld.cpp:1015
void setDomain(Domain_ptr d)
Definition: SubWorld.cpp:60
std::map< std::string, unsigned char > str2char
Definition: SubWorld.h:131
JMPI & getCorrMPI()
Definition: SubWorld.cpp:55
char runJobs(std::string &errmsg)
Definition: SubWorld.cpp:953
void newRunJobs()
Definition: SubWorld.cpp:1053
const unsigned char NONE
Definition: AbstractReducer.h:55
#define ERROR
Definition: finley/src/Mesh_readGmsh.cpp:32
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SubWorld.cpp:379
JMPI swmpi
Definition: SubWorld.h:118
std::map< std::string, Reducer_ptr > str2reduce
Definition: SubWorld.h:130
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:47
void setVarState(const std::string &vname, char state, int swid)
Definition: SubWorld.cpp:122
size_t getNumVars()
Definition: SubWorld.cpp:983
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:39
#define REFCOUNT_BASE_CLASS(x)
Definition: Pointers.h:29
const unsigned char INTERESTED
Definition: AbstractReducer.h:56
#define MPI_MAX
Definition: EsysMPI.h:52
void clearVariable(std::string &name)
Definition: SubWorld.cpp:1026
std::list< std::pair< std::string, std::string > > getVarInfo()
Definition: SubWorld.cpp:1071
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:128
escript::Domain_ptr domain
Definition: SubWorld.h:123
const unsigned char OLD
Definition: AbstractReducer.h:57
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:70
void addJob(boost::python::object j)
Definition: SubWorld.cpp:70
str2reduce reducemap
Definition: SubWorld.h:132
void resetInterest()
Definition: SubWorld.cpp:1038
Definition: SplitWorldException.h:38
bool deliverImports(std::string &errmsg)
Definition: SubWorld.cpp:158
bool synchVariableInfo(std::string &err)
Definition: SubWorld.cpp:804
~SubWorld()
Definition: SubWorld.cpp:46
const unsigned char OLDINTERESTED
Definition: AbstractReducer.h:58
void clearJobs()
Definition: SubWorld.cpp:75
void addVariable(std::string &, Reducer_ptr &red)
Definition: SubWorld.cpp:989
bool amLeader()
Definition: SubWorld.cpp:797
std::vector< boost::python::object > jobvec
Definition: SubWorld.h:124
void copyVariable(const std::string &src, const std::string &dest)
Definition: SubWorld.cpp:1087
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:157
bool checkRemoteCompatibility(std::string &errmsg)
Definition: SubWorld.cpp:416
Domain_ptr getDomain()
Definition: SubWorld.cpp:65
Definition: AbstractContinuousDomain.cpp:22
std::list< std::pair< std::string, bool > > getVarList()
Definition: SubWorld.cpp:1061
str2char varstate
Definition: SubWorld.h:133
void setAllVarsState(const std::string &name, char state)
Definition: SubWorld.cpp:85
const unsigned char NEW
Definition: AbstractReducer.h:59
int MPI_Comm
Definition: EsysMPI.h:40
DataTypes::real_t getScalarVariable(const std::string &name)
Definition: SubWorld.cpp:331
Base class for all escript domains.
Definition: AbstractDomain.h:56
void getStringFromPyException(boost::python::error_already_set e, std::string &errormsg)
Definition: pyerr.cpp:38
JMPI everyone
Definition: SubWorld.h:117
JMPI corrmpi
Definition: SubWorld.h:119
void setMyVarState(const std::string &vname, char state)
Definition: SubWorld.cpp:80