Loading...
Searching...
No Matches
system_solvers_split.hpp
50 SplitSystemMatrixAssembler(SystemSplitStrategy splitStrategy, const std::vector<int> &splitSizes);
58class SplitSystemSparseMatrixAssembler : public SystemSparseMatrixAssembler, public SplitSystemMatrixAssembler {
84 void assembly(const SparseMatrix &matrix, SystemSplitStrategy splitStrategy, const std::vector<int> &splitSizes);
85 void assembly(const SparseMatrix &matrix, SystemSplitStrategy splitStrategy, const std::vector<int> &splitSizes,
107 void exportMatrix(const std::string &filePath, FileFormat exportFormat = FILE_BINARY) const override;
123 void matrixDump(std::ostream &systemStream, const std::string &directory, const std::string &prefix) const override;
125 void matrixRestore(std::istream &systemStream, const std::string &directory, const std::string &prefix, bool redistribute) override;
127 void matrixRestore(std::istream &systemStream, const std::string &directory, const std::string &prefix) override;
133 void vectorsRestore(std::istream &systemStream, const std::string &directory, const std::string &prefix) override;
The SplitSystemMatrixAssembler class is the base class for defining assemblers for split system solve...
Definition system_solvers_split.hpp:42
SystemSplitStrategy getSplitStrategy() const
Definition system_solvers_split.cpp:74
SplitSystemMatrixAssembler(SystemSplitStrategy splitStrategy, const std::vector< int > &splitSizes)
Definition system_solvers_split.cpp:63
const std::vector< int > & getSplitSizes() const
Definition system_solvers_split.cpp:108
int getSplitCount() const
Definition system_solvers_split.cpp:84
virtual void setupSplitKrylovs()
Definition system_solvers_split.cpp:1551
void resetKSPStatus() override
Definition system_solvers_split.cpp:630
std::vector< int > getSplitSizes() const
Definition system_solvers_split.cpp:443
SystemSplitStrategy getSplitStrategy() const
Definition system_solvers_split.cpp:402
void destroyKSPOptions() override
Definition system_solvers_split.cpp:548
void matrixUpdate(long nRows, const long *rows, const Assembler &assembler)
Definition system_solvers_split.cpp:1039
std::vector< int > getSplitOffsets() const
Definition system_solvers_split.cpp:467
void generateSplitIndexes(int split, long nItems, std::vector< std::size_t > *indexes) const
Definition system_solvers_split.cpp:1680
void vectorsCreateSplitPermutations()
Definition system_solvers_split.cpp:1398
void setupPreconditioner() override
Definition system_solvers_split.cpp:1477
int getSplitCount() const
Definition system_solvers_split.cpp:412
virtual void initializeSplitKSPStatuses()
Definition system_solvers_split.cpp:590
void vectorsReorder(bool invert) override
Definition system_solvers_split.cpp:1367
const KSPStatus & getSplitKSPStatus(int split) const
Definition system_solvers_split.cpp:570
void matrixAssembly(const Assembler &assembler)
Definition system_solvers_split.cpp:818
void vectorsDestroy() override
Definition system_solvers_split.cpp:1436
void matrixRestore(std::istream &systemStream, const std::string &directory, const std::string &prefix, bool redistribute) override
Definition system_solvers_split.cpp:1300
SplitSystemSolver(bool debug=false)
Definition system_solvers_split.cpp:306
virtual void destroySplitKSPOptions()
Definition system_solvers_split.cpp:557
KSPOptions & getSplitKSPOptions(int split)
Definition system_solvers_split.cpp:497
void vectorsRestore(std::istream &systemStream, const std::string &directory, const std::string &prefix) override
Definition system_solvers_split.cpp:1382
void initializeKSPStatus() override
Definition system_solvers_split.cpp:581
void initializeKSPOptions() override
Definition system_solvers_split.cpp:527
void assembly(const SparseMatrix &matrix, SystemSplitStrategy splitStrategy, const std::vector< int > &splitSizes)
Definition system_solvers_split.cpp:699
void restoreInfo(std::istream &systemStream) override
Definition system_solvers_split.cpp:683
void destroyKSPStatus() override
Definition system_solvers_split.cpp:649
virtual void resetSplitKSPStatuses()
Definition system_solvers_split.cpp:639
int getBlockSize() const override
Definition system_solvers_split.cpp:385
virtual void initializeSplitKSPOptions()
Definition system_solvers_split.cpp:536
virtual void fillSplitKSPStatuses()
Definition system_solvers_split.cpp:613
void fillKSPStatus() override
Definition system_solvers_split.cpp:604
void vectorsCreate() override
Definition system_solvers_split.cpp:1353
void setupKrylov() override
Definition system_solvers_split.cpp:1529
void matrixFill(const std::string &filePath) override
Definition system_solvers_split.cpp:1005
virtual void setupSplitPreconditioners()
Definition system_solvers_split.cpp:1508
std::string generateSplitPath(const std::string &path, int i) const
Definition system_solvers_split.cpp:1710
void generateSplitPermutation(long nItems, long itemGlobalOffset, IS *splitReordering) const
Definition system_solvers_split.cpp:1620
virtual void destroySplitKSPStatuses()
Definition system_solvers_split.cpp:658
void update(const SparseMatrix &elements)
Definition system_solvers_split.cpp:758
void matrixDump(std::ostream &systemStream, const std::string &directory, const std::string &prefix) const override
Definition system_solvers_split.cpp:1260
void matrixDestroy() override
Definition system_solvers_split.cpp:1336
void preKrylovSetupActions() override
Definition system_solvers_split.cpp:1578
void exportMatrix(const std::string &filePath, FileFormat exportFormat=FILE_BINARY) const override
Definition system_solvers_split.cpp:1458
void postKSPSolveActions() override
Definition system_solvers_split.cpp:480
void dumpInfo(std::ostream &systemStream) const override
Definition system_solvers_split.cpp:669
SplitSystemSparseMatrixAssembler(const SparseMatrix *matrix, SystemSplitStrategy splitStrategy, const std::vector< int > &splitSizes)
Definition system_solvers_split.cpp:128
The SystemMatrixOrdering class provides an interface for defining classes that allows to reorder the ...
Definition system_solvers_large.hpp:70
virtual void exportMatrix(const std::string &filePath, FileFormat exportFormat=FILE_BINARY) const
Definition system_solvers_large.cpp:1968
virtual void resetKSPOptions(KSPOptions *options) const
Definition system_solvers_large.cpp:3423
void assembly(const SparseMatrix &matrix)
Definition system_solvers_large.cpp:917
virtual void fillKSPStatus()
Definition system_solvers_large.cpp:3463
virtual void resetKSPStatus()
Definition system_solvers_large.cpp:3484
SystemSolver(bool debug=false)
Definition system_solvers_large.cpp:770
virtual void setupPreconditioner()
Definition system_solvers_large.cpp:3245
SystemSparseMatrixAssembler(const SparseMatrix *matrix)
Definition system_solvers_large.cpp:119
Definition system_solvers_large.hpp:58
