mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-11-22 09:16:27 -06:00
addressing the first part of comments form PR#1680
there should be no functional change.
This commit is contained in:
parent
1ddcfcb679
commit
c4254240e2
@ -775,7 +775,7 @@ namespace Opm {
|
||||
assert(has_polymer_);
|
||||
|
||||
B_avg[contiPolymerMWEqIdx] += 1.0 / fs.invB(FluidSystem::waterPhaseIdx).value();
|
||||
// the residual of the polymer molecular equatinon is scaled down by a 100, since molecular weight
|
||||
// the residual of the polymer molecular equation is scaled down by a 100, since molecular weight
|
||||
// can be much bigger than 1, and this equation shares the same tolerance with other mass balance equations
|
||||
// TODO: there should be a more general way to determine the scaling-down coefficient
|
||||
const auto R2 = ebosResid[cell_idx][contiPolymerMWEqIdx] / 100.;
|
||||
|
@ -32,7 +32,7 @@ namespace Dune
|
||||
namespace FMatrixHelp {
|
||||
//! invert 4x4 Matrix without changing the original matrix
|
||||
template <typename K>
|
||||
static inline K invertMatrix (const FieldMatrix<K,4,4> &matrix, FieldMatrix<K,4,4> &inverse)
|
||||
static inline K invertMatrix(const FieldMatrix<K,4,4>& matrix, FieldMatrix<K,4,4>& inverse)
|
||||
{
|
||||
inverse[0][0] = matrix[1][1] * matrix[2][2] * matrix[3][3] -
|
||||
matrix[1][1] * matrix[2][3] * matrix[3][2] -
|
||||
@ -146,7 +146,8 @@ static inline K invertMatrix (const FieldMatrix<K,4,4> &matrix, FieldMatrix<K,4,
|
||||
matrix[2][0] * matrix[0][1] * matrix[1][2] -
|
||||
matrix[2][0] * matrix[0][2] * matrix[1][1];
|
||||
|
||||
K det = matrix[0][0] * inverse[0][0] + matrix[0][1] * inverse[1][0] + matrix[0][2] * inverse[2][0] + matrix[0][3] * inverse[3][0];
|
||||
K det = matrix[0][0] * inverse[0][0] + matrix[0][1] * inverse[1][0] +
|
||||
matrix[0][2] * inverse[2][0] + matrix[0][3] * inverse[3][0];
|
||||
|
||||
// return identity for singular or nearly singular matrices.
|
||||
if (std::abs(det) < 1e-40) {
|
||||
@ -166,7 +167,7 @@ namespace ISTLUtility {
|
||||
|
||||
//! invert matrix by calling FMatrixHelp::invert
|
||||
template <typename K>
|
||||
static inline void invertMatrix (FieldMatrix<K,1,1> &matrix)
|
||||
static inline void invertMatrix(FieldMatrix<K,1,1>& matrix)
|
||||
{
|
||||
FieldMatrix<K,1,1> A ( matrix );
|
||||
FMatrixHelp::invertMatrix(A, matrix );
|
||||
@ -174,7 +175,7 @@ static inline void invertMatrix (FieldMatrix<K,1,1> &matrix)
|
||||
|
||||
//! invert matrix by calling FMatrixHelp::invert
|
||||
template <typename K>
|
||||
static inline void invertMatrix (FieldMatrix<K,2,2> &matrix)
|
||||
static inline void invertMatrix(FieldMatrix<K,2,2>& matrix)
|
||||
{
|
||||
FieldMatrix<K,2,2> A ( matrix );
|
||||
FMatrixHelp::invertMatrix(A, matrix );
|
||||
@ -182,7 +183,7 @@ static inline void invertMatrix (FieldMatrix<K,2,2> &matrix)
|
||||
|
||||
//! invert matrix by calling FMatrixHelp::invert
|
||||
template <typename K>
|
||||
static inline void invertMatrix (FieldMatrix<K,3,3> &matrix)
|
||||
static inline void invertMatrix(FieldMatrix<K,3,3>& matrix)
|
||||
{
|
||||
FieldMatrix<K,3,3> A ( matrix );
|
||||
FMatrixHelp::invertMatrix(A, matrix );
|
||||
@ -190,7 +191,7 @@ static inline void invertMatrix (FieldMatrix<K,3,3> &matrix)
|
||||
|
||||
//! invert matrix by calling FMatrixHelp::invert
|
||||
template <typename K>
|
||||
static inline void invertMatrix (FieldMatrix<K,4,4> &matrix)
|
||||
static inline void invertMatrix(FieldMatrix<K,4,4>& matrix)
|
||||
{
|
||||
FieldMatrix<K,4,4> A ( matrix );
|
||||
FMatrixHelp::invertMatrix(A, matrix );
|
||||
@ -198,7 +199,7 @@ static inline void invertMatrix (FieldMatrix<K,4,4> &matrix)
|
||||
|
||||
//! invert matrix by calling matrix.invert
|
||||
template <typename K, int n>
|
||||
static inline void invertMatrix (FieldMatrix<K,n,n> &matrix)
|
||||
static inline void invertMatrix(FieldMatrix<K,n,n>& matrix)
|
||||
{
|
||||
#if ! DUNE_VERSION_NEWER( DUNE_COMMON, 2, 7 )
|
||||
Dune::FMatrixPrecision<K>::set_singular_limit(1.e-20);
|
||||
@ -208,7 +209,7 @@ static inline void invertMatrix (FieldMatrix<K,n,n> &matrix)
|
||||
|
||||
//! invert matrix by calling matrix.invert
|
||||
template <typename K>
|
||||
static inline void invertMatrix (Dune::DynamicMatrix<K> &matrix)
|
||||
static inline void invertMatrix(Dune::DynamicMatrix<K>& matrix)
|
||||
{
|
||||
#if ! DUNE_VERSION_NEWER( DUNE_COMMON, 2, 7 )
|
||||
Dune::FMatrixPrecision<K>::set_singular_limit(1.e-30);
|
||||
@ -238,17 +239,17 @@ public:
|
||||
|
||||
template<class K, int n, int m>
|
||||
void
|
||||
print_row (std::ostream& s, const MatrixBlock<K,n,m>& A,
|
||||
typename FieldMatrix<K,n,m>::size_type I,
|
||||
typename FieldMatrix<K,n,m>::size_type J,
|
||||
typename FieldMatrix<K,n,m>::size_type therow, int width,
|
||||
int precision)
|
||||
print_row(std::ostream& s, const MatrixBlock<K,n,m>& A,
|
||||
typename FieldMatrix<K,n,m>::size_type I,
|
||||
typename FieldMatrix<K,n,m>::size_type J,
|
||||
typename FieldMatrix<K,n,m>::size_type therow, int width,
|
||||
int precision)
|
||||
{
|
||||
print_row(s, A.asBase(), I, J, therow, width, precision);
|
||||
}
|
||||
|
||||
template<class K, int n, int m>
|
||||
K& firstmatrixelement (MatrixBlock<K,n,m>& A)
|
||||
K& firstmatrixelement(MatrixBlock<K,n,m>& A)
|
||||
{
|
||||
return firstmatrixelement( A.asBase() );
|
||||
}
|
||||
@ -313,9 +314,9 @@ namespace Detail
|
||||
{
|
||||
//! calculates ret = A^T * B
|
||||
template< class K, int m, int n, int p >
|
||||
static inline void multMatrixTransposed ( const Dune::FieldMatrix< K, n, m > &A,
|
||||
const Dune::FieldMatrix< K, n, p > &B,
|
||||
Dune::FieldMatrix< K, m, p > &ret )
|
||||
static inline void multMatrixTransposed(const Dune::FieldMatrix< K, n, m >& A,
|
||||
const Dune::FieldMatrix< K, n, p >& B,
|
||||
Dune::FieldMatrix< K, m, p >& ret)
|
||||
{
|
||||
typedef typename Dune::FieldMatrix< K, m, p > :: size_type size_type;
|
||||
|
||||
@ -332,9 +333,9 @@ namespace Detail
|
||||
|
||||
//! calculates ret = A * B
|
||||
template< class K>
|
||||
static inline void multMatrix( const Dune::DynamicMatrix<K> &A,
|
||||
const Dune::DynamicMatrix<K> &B,
|
||||
Dune::DynamicMatrix<K> &ret )
|
||||
static inline void multMatrix(const Dune::DynamicMatrix<K>& A,
|
||||
const Dune::DynamicMatrix<K>& B,
|
||||
Dune::DynamicMatrix<K>& ret )
|
||||
{
|
||||
typedef typename Dune::DynamicMatrix<K> :: size_type size_type;
|
||||
|
||||
@ -361,9 +362,9 @@ namespace Detail
|
||||
|
||||
//! calculates ret = A^T * B
|
||||
template< class K, int m, int p >
|
||||
static inline void multMatrixTransposed ( const Dune::DynamicMatrix<K> &A,
|
||||
const Dune::DynamicMatrix<K> &B,
|
||||
Dune::FieldMatrix< K, m, p> &ret )
|
||||
static inline void multMatrixTransposed(const Dune::DynamicMatrix<K>& A,
|
||||
const Dune::DynamicMatrix<K>& B,
|
||||
Dune::FieldMatrix< K, m, p>& ret )
|
||||
{
|
||||
typedef typename Dune::DynamicMatrix<K> :: size_type size_type;
|
||||
|
||||
|
@ -1911,7 +1911,7 @@ namespace Opm
|
||||
template<typename TypeTag>
|
||||
void
|
||||
MultisegmentWell<TypeTag>::
|
||||
updateWaterThroughput(const double dt, WellState &well_state) const
|
||||
updateWaterThroughput(const double dt OPM_UNUSED, WellState& well_state OPM_UNUSED) const
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -89,8 +89,8 @@ namespace Opm
|
||||
// TODO: we should have indices for the well equations and well primary variables separately
|
||||
static const int Bhp = numStaticWellEq - numWellControlEq;
|
||||
|
||||
// total number of the welll equations and primary variables
|
||||
// for StandardWell, there is no extra well equations will be used
|
||||
// total number of the well equations and primary variables
|
||||
// for StandardWell, no extra well equations will be used.
|
||||
static const int numWellEq = numStaticWellEq;
|
||||
|
||||
using typename Base::Scalar;
|
||||
@ -312,8 +312,10 @@ namespace Opm
|
||||
const std::vector<EvalWell>& mob,
|
||||
const EvalWell& bhp,
|
||||
const int perf,
|
||||
const bool allow_cf, std::vector<EvalWell>& cq_s,
|
||||
double& perf_dis_gas_rate, double& perf_vap_oil_rate) const;
|
||||
const bool allow_cf,
|
||||
std::vector<EvalWell>& cq_s,
|
||||
double& perf_dis_gas_rate,
|
||||
double& perf_vap_oil_rate) const;
|
||||
|
||||
// TODO: maybe we should provide a light version of computePerfRate, which does not include the
|
||||
// calculation of the derivatives
|
||||
|
@ -94,7 +94,7 @@ namespace Opm
|
||||
// TODO: we should have indices for the well equations and well primary variables separately
|
||||
static const int Bhp = numStaticWellEq - numWellControlEq;
|
||||
|
||||
// total number of the welll equations and primary variables
|
||||
// total number of the well equations and primary variables
|
||||
// there might be extra equations be used, numWellEq will be updated during the initialization
|
||||
int numWellEq = numStaticWellEq;
|
||||
|
||||
@ -317,8 +317,10 @@ namespace Opm
|
||||
const std::vector<EvalWell>& mob,
|
||||
const EvalWell& bhp,
|
||||
const int perf,
|
||||
const bool allow_cf, std::vector<EvalWell>& cq_s,
|
||||
double& perf_dis_gas_rate, double& perf_vap_oil_rate) const;
|
||||
const bool allow_cf,
|
||||
std::vector<EvalWell>& cq_s,
|
||||
double& perf_dis_gas_rate,
|
||||
double& perf_vap_oil_rate) const;
|
||||
|
||||
// TODO: maybe we should provide a light version of computePerfRate, which does not include the
|
||||
// calculation of the derivatives
|
||||
|
@ -357,7 +357,7 @@ namespace Opm
|
||||
const EvalWell cqt_i = - Tw * (total_mob_dense * drawdown);
|
||||
|
||||
// surface volume fraction of fluids within wellbore
|
||||
std::vector<EvalWell> cmix_s(num_components_, EvalWell{numWellEq + numEq});
|
||||
std::vector<EvalWell> cmix_s(num_components_, 0.);
|
||||
for (int componentIdx = 0; componentIdx < num_components_; ++componentIdx) {
|
||||
cmix_s[componentIdx] = wellSurfaceVolumeFraction(componentIdx);
|
||||
}
|
||||
@ -2807,7 +2807,7 @@ namespace Opm
|
||||
template<typename TypeTag>
|
||||
void
|
||||
StandardWell<TypeTag>::
|
||||
updateWaterThroughput(const double dt, WellState &well_state) const
|
||||
updateWaterThroughput(const double dt OPM_UNUSED, WellState& well_state OPM_UNUSED) const
|
||||
{
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user