mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-26 15:40:09 -05:00
Set matrix build mode before setting its size
This is so that the new dune matrix work as expected: it requires to set the build mode each time a matrix is built and the sizes must be specified after setting the build mode. This is compatible with the current BCRSMatrix.
This commit is contained in:
1 parent
524e37a534
commit
3bdde0d041
3 files changed
+9
-6
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,6 +34,10 @@ 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);
|
||||
|
||||
@@ -328,8 +328,8 @@ private:
|
||||
size_t numDomestic = overlap_->numDomestic();
|
||||
|
||||
// allocate the rows
|
||||
this->setSize(numDomestic, numDomestic);
|
||||
this->setBuildMode(ParentType::random);
|
||||
this->setSize(numDomestic, numDomestic);
|
||||
|
||||
// communicate the entries
|
||||
buildIndices_(nativeMatrix);
|
||||
|
||||
@@ -47,8 +47,6 @@ StandardWellEquations<Scalar, IndexTraits, numEq>::
|
||||
StandardWellEquations(const ParallelWellInfo<Scalar>& parallel_well_info)
|
||||
: parallelB_(duneB_, parallel_well_info)
|
||||
{
|
||||
duneB_.setBuildMode(OffDiagMatWell::row_wise);
|
||||
duneC_.setBuildMode(OffDiagMatWell::row_wise),
|
||||
invDuneD_.setBuildMode(DiagMatWell::row_wise);
|
||||
}
|
||||
|
||||
@@ -62,6 +60,10 @@ init(const int numWellEq,
|
||||
//[A C^T [x = [ res
|
||||
// B D] x_well] res_well]
|
||||
// set the size of the matrices
|
||||
duneB_.setBuildMode(OffDiagMatWell::row_wise);
|
||||
duneC_.setBuildMode(OffDiagMatWell::row_wise),
|
||||
duneD_.setBuildMode(DiagMatWell::row_wise),
|
||||
|
||||
duneD_.setSize(1, 1, 1);
|
||||
duneB_.setSize(1, numPerfs, numPerfs);
|
||||
duneC_.setSize(1, numPerfs, numPerfs);
|
||||
|
||||
Reference in new issue
Block a user