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;
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:106
void debug()
Definition: SubWorld.cpp:260
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:51
bool manualimports
Definition: SubWorld.h:113
unsigned int swcount
Definition: SubWorld.h:105
SubWorld(JMPI &globalcom, JMPI &comm, JMPI &corr, unsigned int subworldcount, unsigned int local_id, bool manualimport)
Definition: SubWorld.cpp:36
bool localTransport(std::string &errmsg)
Definition: SubWorld.cpp:214
JMPI & getMPI()
Definition: SubWorld.cpp:52
bool synchVariableValues(std::string &err)
Definition: SubWorld.cpp:608
Definition: AbstractReducer.h:30
void removeVariable(std::string &name)
Definition: SubWorld.cpp:1017
void setDomain(Domain_ptr d)
Definition: SubWorld.cpp:62
std::map< std::string, unsigned char > str2char
Definition: SubWorld.h:109
JMPI & getCorrMPI()
Definition: SubWorld.cpp:57
char runJobs(std::string &errmsg)
Definition: SubWorld.cpp:955
void newRunJobs()
Definition: SubWorld.cpp:1055
const unsigned char NONE
Definition: AbstractReducer.h:33
#define ERROR
Definition: finley/src/Mesh_readGmsh.cpp:34
boost::python::object getLocalObjectVariable(const std::string &name)
Definition: SubWorld.cpp:381
JMPI swmpi
Definition: SubWorld.h:96
std::map< std::string, Reducer_ptr > str2reduce
Definition: SubWorld.h:108
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:41
void setVarState(const std::string &vname, char state, int swid)
Definition: SubWorld.cpp:124
Definition: NonReducedVariable.h:29
size_t getNumVars()
Definition: SubWorld.cpp:985
JMPI makeInfo(MPI_Comm comm, bool owncom)
Definition: EsysMPI.cpp:29
#define REFCOUNT_BASE_CLASS(x)
Definition: Pointers.h:31
const unsigned char INTERESTED
Definition: AbstractReducer.h:34
#define MPI_MAX
Definition: EsysMPI.h:54
void clearVariable(std::string &name)
Definition: SubWorld.cpp:1028
std::list< std::pair< std::string, std::string > > getVarInfo()
Definition: SubWorld.cpp:1073
boost::shared_ptr< AbstractReducer > Reducer_ptr
Definition: AbstractReducer.h:118
escript::Domain_ptr domain
Definition: SubWorld.h:101
const unsigned char OLD
Definition: AbstractReducer.h:35
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:72
void addJob(boost::python::object j)
Definition: SubWorld.cpp:72
str2reduce reducemap
Definition: SubWorld.h:110
void resetInterest()
Definition: SubWorld.cpp:1040
Definition: SplitWorldException.h:29
bool deliverImports(std::string &errmsg)
Definition: SubWorld.cpp:160
bool synchVariableInfo(std::string &err)
Definition: SubWorld.cpp:806
~SubWorld()
Definition: SubWorld.cpp:48
Definition: SubWorld.h:49
const unsigned char OLDINTERESTED
Definition: AbstractReducer.h:36
void clearJobs()
Definition: SubWorld.cpp:77
void addVariable(std::string &, Reducer_ptr &red)
Definition: SubWorld.cpp:991
bool amLeader()
Definition: SubWorld.cpp:799
std::vector< boost::python::object > jobvec
Definition: SubWorld.h:102
void copyVariable(const std::string &src, const std::string &dest)
Definition: SubWorld.cpp:1089
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:147
bool checkRemoteCompatibility(std::string &errmsg)
Definition: SubWorld.cpp:418
Domain_ptr getDomain()
Definition: SubWorld.cpp:67
Definition: AbstractContinuousDomain.cpp:23
std::list< std::pair< std::string, bool > > getVarList()
Definition: SubWorld.cpp:1063
str2char varstate
Definition: SubWorld.h:111
void setAllVarsState(const std::string &name, char state)
Definition: SubWorld.cpp:87
const unsigned char NEW
Definition: AbstractReducer.h:37
int MPI_Comm
Definition: EsysMPI.h:42
DataTypes::real_t getScalarVariable(const std::string &name)
Definition: SubWorld.cpp:333
Base class for all escript domains.
Definition: AbstractDomain.h:51
Definition: MPIScalarReducer.h:27
void getStringFromPyException(boost::python::error_already_set e, std::string &errormsg)
Definition: pyerr.cpp:27
JMPI everyone
Definition: SubWorld.h:95
JMPI corrmpi
Definition: SubWorld.h:97
void setMyVarState(const std::string &vname, char state)
Definition: SubWorld.cpp:82