/*! Zoltan constructor * \param env parameters for the problem and library configuration * \param problemComm the communicator for the problem * \param adapter the user's input adapter */ AlgZoltan(const RCP<const Environment> &env__, const RCP<const Comm<int> > &problemComm__, const RCP<const IdentifierAdapter<user_t> > &adapter__): env(env__), problemComm(problemComm__), adapter(adapter__) { setMPIComm(problemComm__); zz = rcp(new Zoltan(mpicomm)); setCallbacksIDs(); }
AlgZoltan(const RCP<const Environment> &env__, const RCP<const Comm<int> > &problemComm__, const RCP<const VectorAdapter<user_t> > &adapter__) : env(env__), problemComm(problemComm__), adapter(adapter__) { setMPIComm(problemComm__); zoltanInit(); zz = rcp(new Zoltan(mpicomm)); setCallbacksIDs(); setCallbacksGeom(&(*adapter)); }
AlgZoltan(const RCP<const Environment> &env__, const RCP<const Comm<int> > &problemComm__, const RCP<const GraphAdapter<user_t,userCoord_t> > &adapter__) : env(env__), problemComm(problemComm__), adapter(adapter__) { setMPIComm(problemComm__); zz = rcp(new Zoltan(mpicomm)); setCallbacksIDs(); setCallbacksGraph(adapter); if (adapter->coordinatesAvailable()) { setCallbacksGeom(adapter->getCoordinateInput()); } }
AlgZoltan(const RCP<const Environment> &env__, const RCP<const Comm<int> > &problemComm__, const RCP<const MeshAdapter<user_t> > &adapter__) : env(env__), problemComm(problemComm__), adapter(adapter__) { setMPIComm(problemComm__); zoltanInit(); zz = rcp(new Zoltan(mpicomm)); setCallbacksIDs(); setCallbacksGraph(adapter); //TODO:: check parameter list to see if hypergraph is needed. We dont want to build the model // if we don't have to and we shouldn't as it can take a decent amount of time if the // primary entity is copied setCallbacksHypergraph(adapter); setCallbacksGeom(&(*adapter)); }