mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
MSWellhelpers: disable for float Scalar
there is no UMFPack for floats
This commit is contained in:
parent
d28b751742
commit
42b8545e51
@ -110,7 +110,9 @@ applyUMFPack(Dune::UMFPack<MatrixType>& linsolver,
|
|||||||
|
|
||||||
// Object storing some statistics about the solving process
|
// Object storing some statistics about the solving process
|
||||||
Dune::InverseOperatorResult res;
|
Dune::InverseOperatorResult res;
|
||||||
|
if constexpr (std::is_same_v<typename VectorType::field_type,float>) {
|
||||||
|
OPM_THROW(std::runtime_error, "Cannot use applyUMFPack() with floats.");
|
||||||
|
} else {
|
||||||
// Solve
|
// Solve
|
||||||
linsolver.apply(y, x, res);
|
linsolver.apply(y, x, res);
|
||||||
|
|
||||||
@ -125,6 +127,7 @@ applyUMFPack(Dune::UMFPack<MatrixType>& linsolver,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return y;
|
return y;
|
||||||
#else
|
#else
|
||||||
// this is not thread safe
|
// this is not thread safe
|
||||||
@ -146,6 +149,9 @@ invertWithUMFPack(const int size,
|
|||||||
// Make a full block matrix.
|
// Make a full block matrix.
|
||||||
Dune::Matrix<typename MatrixType::block_type> inv(size, size);
|
Dune::Matrix<typename MatrixType::block_type> inv(size, size);
|
||||||
|
|
||||||
|
if constexpr (std::is_same_v<typename VectorType::field_type,float>) {
|
||||||
|
OPM_THROW(std::runtime_error, "Cannot use invertWithUMFPack() with floats.");
|
||||||
|
} else {
|
||||||
// Create inverse by passing basis vectors to the solver.
|
// Create inverse by passing basis vectors to the solver.
|
||||||
for (int ii = 0; ii < size; ++ii) {
|
for (int ii = 0; ii < size; ++ii) {
|
||||||
for (int jj = 0; jj < bsize; ++jj) {
|
for (int jj = 0; jj < bsize; ++jj) {
|
||||||
@ -159,6 +165,7 @@ invertWithUMFPack(const int size,
|
|||||||
e[ii][jj] = 0.0;
|
e[ii][jj] = 0.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return inv;
|
return inv;
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user