124 public CrsGraph<LocalOrdinal, GlobalOrdinal, Node>
129 template <
class S,
class LO,
class GO,
class N>
130 friend class FECrsMatrix;
183 FECrsGraph(
const Teuchos::RCP<const map_type> & ownedRowMap,
184 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
185 const size_t maxNumEntriesPerRow,
186 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
187 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
188 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
189 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
217 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
218 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
219 const size_t maxNumEntriesPerRow,
220 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
221 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
222 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
223 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
224 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
249 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
250 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
251 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
252 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
253 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
254 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
255 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
283 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
284 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
285 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
286 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
287 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
288 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
289 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
290 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
318 FECrsGraph(
const Teuchos::RCP<const map_type> & ownedRowMap,
319 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
320 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
321 const size_t maxNumEntriesPerRow,
322 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
323 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
324 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
325 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
354 FECrsGraph(
const Teuchos::RCP<const map_type> & ownedRowMap,
355 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
356 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
357 const size_t maxNumEntriesPerRow,
358 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
359 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
360 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
361 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
362 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
388 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
389 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
390 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
391 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
392 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
393 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
394 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
395 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
421 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
422 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
423 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
424 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
425 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
426 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
427 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
428 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
429 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
460 Teuchos::RCP<const Teuchos::ParameterList>
469 void endAssembly(
const Teuchos::RCP<const map_type>& domainMap,
const Teuchos::RCP<const map_type>& rangeMap);
513 const Teuchos::RCP<const map_type>& ownedRangeMap,
514 const Teuchos::RCP<Teuchos::ParameterList>& = Teuchos::null) {
515 ownedDomainMap_ = ownedDomainMap;
516 ownedRangeMap_ = ownedRangeMap;
548 fillComplete (
const Teuchos::RCP<Teuchos::ParameterList>& = Teuchos::null) {endFill();}
555 void endFill(
const Teuchos::RCP<const map_type>& domainMap,
const Teuchos::RCP<const map_type>& rangeMap);
577 void setup(
const Teuchos::RCP<const map_type> & ownedRowMap,
const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
const Teuchos::RCP<Teuchos::ParameterList>& params);
587 FE_ACTIVE_OWNED_PLUS_SHARED
595 Teuchos::RCP<FillState> fillState_;
598 Teuchos::RCP<CrsGraph<LocalOrdinal, GlobalOrdinal, Node> > inactiveCrsGraph_;
601 Teuchos::RCP<FEWhichActive> activeCrsGraph_;
604 Teuchos::RCP<const import_type> ownedRowsImporter_;
607 Teuchos::RCP<const map_type> ownedDomainMap_;
610 Teuchos::RCP<const map_type> ownedRangeMap_;
625 const size_t numInputInds);
639 const size_t numInputInds,
640 std::function<
void(
const size_t,
const size_t,
const size_t)> fun =
641 std::function<
void(
const size_t,
const size_t,
const size_t)>());
645 const Teuchos::ArrayView<const local_ordinal_type>& gblColInds,
646 std::function<
void(
const size_t,
const size_t,
const size_t)> fun =
647 std::function<
void(
const size_t,
const size_t,
const size_t)>());