93 public CrsGraph<LocalOrdinal, GlobalOrdinal, Node>
98 template <
class S,
class LO,
class GO,
class N>
99 friend class FECrsMatrix;
152 FECrsGraph(
const Teuchos::RCP<const map_type> & ownedRowMap,
153 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
154 const size_t maxNumEntriesPerRow,
155 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
156 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
157 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
158 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
186 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
187 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
188 const size_t maxNumEntriesPerRow,
189 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
190 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
191 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
192 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
193 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
218 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
219 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
220 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
221 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
222 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
223 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
224 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
252 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
253 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
254 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
255 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
256 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
257 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
258 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
259 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
287 FECrsGraph(
const Teuchos::RCP<const map_type> & ownedRowMap,
288 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
289 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
290 const size_t maxNumEntriesPerRow,
291 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
292 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
293 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
294 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
323 FECrsGraph(
const Teuchos::RCP<const map_type> & ownedRowMap,
324 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
325 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
326 const size_t maxNumEntriesPerRow,
327 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
328 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
329 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
330 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
331 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
357 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
358 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
359 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
360 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
361 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
362 const Teuchos::RCP<const map_type> & domainMap = Teuchos::null,
363 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
364 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
390 FECrsGraph (
const Teuchos::RCP<const map_type> & ownedRowMap,
391 const Teuchos::RCP<const map_type> & ownedPlusSharedRowMap,
392 const Teuchos::RCP<const map_type> & ownedPlusSharedColMap,
393 const Kokkos::DualView<const size_t*, device_type>& numEntPerRow,
394 const Teuchos::RCP<const map_type> & ownedPlusSharedDomainMap,
395 const Teuchos::RCP<const import_type> & ownedPlusSharedToOwnedimporter = Teuchos::null,
396 const Teuchos::RCP<const map_type> & ownedDomainMap = Teuchos::null,
397 const Teuchos::RCP<const map_type> & ownedRangeMap = Teuchos::null,
398 const Teuchos::RCP<Teuchos::ParameterList>& params = Teuchos::null);
429 Teuchos::RCP<const Teuchos::ParameterList>
438 void endAssembly(
const Teuchos::RCP<const map_type>& domainMap,
const Teuchos::RCP<const map_type>& rangeMap);
482 const Teuchos::RCP<const map_type>& ownedRangeMap,
483 const Teuchos::RCP<Teuchos::ParameterList>& = Teuchos::null) {
484 ownedDomainMap_ = ownedDomainMap;
485 ownedRangeMap_ = ownedRangeMap;
517 fillComplete (
const Teuchos::RCP<Teuchos::ParameterList>& = Teuchos::null) {endFill();}
524 void endFill(
const Teuchos::RCP<const map_type>& domainMap,
const Teuchos::RCP<const map_type>& rangeMap);
546 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);
552 Teuchos::RCP<FE::FillState> fillState_;
555 Teuchos::RCP<CrsGraph<LocalOrdinal, GlobalOrdinal, Node> > inactiveCrsGraph_;
558 Teuchos::RCP<FE::WhichActive> activeCrsGraph_;
561 Teuchos::RCP<const import_type> ownedRowsImporter_;
564 Teuchos::RCP<const map_type> ownedDomainMap_;
567 Teuchos::RCP<const map_type> ownedRangeMap_;
582 const size_t numInputInds);
596 const size_t numInputInds,
597 std::function<
void(
const size_t,
const size_t,
const size_t)> fun =
598 std::function<
void(
const size_t,
const size_t,
const size_t)>());
602 const Teuchos::ArrayView<const local_ordinal_type>& gblColInds,
603 std::function<
void(
const size_t,
const size_t,
const size_t)> fun =
604 std::function<
void(
const size_t,
const size_t,
const size_t)>());