Merge pull request #7123 from SoilRos/feature/cleanup-bcrsmatrix

Clean up BCRSMatrix utilities
This commit is contained in:
Atgeirr Flø Rasmussen authored and GitHub committed 2026-06-04 16:30:14 +02:00
commit 79d112b46d
12 files changed
+74 -74

No files matched your search

@@ -25,9 +25,6 @@ template <typename Scalar, int numWellEq, int numEq>
CompWellEquations<Scalar, numWellEq, numEq>::
CompWellEquations()
{
duneB_.setBuildMode(OffDiagMatWell::row_wise);
duneC_.setBuildMode(OffDiagMatWell::row_wise),
duneD_.setBuildMode(DiagMatWell::row_wise);
invDuneD_.setBuildMode(DiagMatWell::row_wise);
}
@@ -37,18 +34,22 @@ void
CompWellEquations<Scalar, numWellEq, numEq>::
init(const int num_conn, const std::vector<std::size_t>& cells)
{
duneB_.setBuildMode(OffDiagMatWell::row_wise);
duneC_.setBuildMode(OffDiagMatWell::row_wise),
duneD_.setBuildMode(DiagMatWell::row_wise);
duneD_.setSize(1, 1, 1);
duneB_.setSize(1, num_conn, num_conn);
duneC_.setSize(1, num_conn, num_conn);
for (auto row = duneD_.createbegin(),
end = duneD_.createend(); row != end; ++row) {
auto endD = duneD_.createend();
for (auto row = duneD_.createbegin(); row != endD; ++row) {
// Add nonzeros for diagonal
row.insert(row.index());
}
for (auto row = duneB_.createbegin(),
end = duneB_.createend(); row != end; ++row) {
auto endB = duneB_.createend();
for (auto row = duneB_.createbegin(); row != endB; ++row) {
for (int con = 0 ; con < num_conn; ++con) {
row.insert(con);
}
@@ -56,8 +57,8 @@ init(const int num_conn, const std::vector<std::size_t>& cells)
// make the C^T matrix
// TODO: let us see whether we should change the naming of DuneC_
for (auto row = duneC_.createbegin(),
end = duneC_.createend(); row != end; ++row) {
auto endC = duneC_.createend();
for (auto row = duneC_.createbegin(); row != endC; ++row) {
for (int con = 0; con < num_conn; ++con) {
row.insert(con);
}