Merge pull request #312 from atgeirr/fix-warnings

Fix warnings
This commit is contained in:
Atgeirr Flø Rasmussen 2015-02-19 09:14:05 +01:00
commit 46cfaa1432

View File

@ -81,7 +81,7 @@ typedef Eigen::Array<double,
Eigen::RowMajor> DataBlock; Eigen::RowMajor> DataBlock;
namespace { namespace detail {
std::vector<int> std::vector<int>
@ -96,35 +96,6 @@ namespace {
template<class Grid>
V computePerfPress(const Grid& grid, const Wells& wells, const V& rho, const double grav)
{
using namespace Opm::AutoDiffGrid;
const int nw = wells.number_of_wells;
const int nperf = wells.well_connpos[nw];
const int dim = dimensions(grid);
V wdp = V::Zero(nperf,1);
assert(wdp.size() == rho.size());
// Main loop, iterate over all perforations,
// using the following formula:
// wdp(perf) = g*(perf_z - well_ref_z)*rho(perf)
// where the total density rho(perf) is taken to be
// sum_p (rho_p*saturation_p) in the perforation cell.
// [although this is computed on the outside of this function].
for (int w = 0; w < nw; ++w) {
const double ref_depth = wells.depth_ref[w];
for (int j = wells.well_connpos[w]; j < wells.well_connpos[w + 1]; ++j) {
const int cell = wells.well_cells[j];
const double cell_depth = cellCentroid(grid, cell)[dim - 1];
wdp[j] = rho[j]*grav*(cell_depth - ref_depth);
}
}
return wdp;
}
template <class PU> template <class PU>
std::vector<bool> std::vector<bool>
activePhases(const PU& pu) activePhases(const PU& pu)
@ -158,7 +129,7 @@ namespace {
} }
} // Anonymous namespace } // namespace detail
template<class T> template<class T>
void FullyImplicitBlackoilSolver<T>::SolverParameter:: void FullyImplicitBlackoilSolver<T>::SolverParameter::
@ -227,9 +198,9 @@ namespace {
, rock_comp_props_(rock_comp_props) , rock_comp_props_(rock_comp_props)
, wells_ (wells) , wells_ (wells)
, linsolver_ (linsolver) , linsolver_ (linsolver)
, active_(activePhases(fluid.phaseUsage())) , active_(detail::activePhases(fluid.phaseUsage()))
, canph_ (active2Canonical(fluid.phaseUsage())) , canph_ (detail::active2Canonical(fluid.phaseUsage()))
, cells_ (buildAllCells(Opm::AutoDiffGrid::numCells(grid))) , cells_ (detail::buildAllCells(Opm::AutoDiffGrid::numCells(grid)))
, ops_ (grid) , ops_ (grid)
, wops_ (wells_) , wops_ (wells_)
, has_disgas_(has_disgas) , has_disgas_(has_disgas)
@ -1025,7 +996,7 @@ namespace {
namespace namespace detail
{ {
double rateToCompare(const ADB& well_phase_flow_rate, double rateToCompare(const ADB& well_phase_flow_rate,
const int well, const int well,
@ -1098,7 +1069,7 @@ namespace {
return broken; return broken;
} }
} // anonymous namespace } // namespace detail
@ -1135,7 +1106,7 @@ namespace {
// inequality constraint, and therefore skipped. // inequality constraint, and therefore skipped.
continue; continue;
} }
if (constraintBroken(bhp, well_phase_flow_rate, w, np, wells().type[w], wc, ctrl_index)) { if (detail::constraintBroken(bhp, well_phase_flow_rate, w, np, wells().type[w], wc, ctrl_index)) {
// ctrl_index will be the index of the broken constraint after the loop. // ctrl_index will be the index of the broken constraint after the loop.
break; break;
} }
@ -1279,10 +1250,8 @@ namespace {
namespace { namespace detail
struct Chop01 { {
double operator()(double x) const { return std::max(std::min(x, 1.0), 0.0); }
};
double infinityNorm( const ADB& a ) double infinityNorm( const ADB& a )
{ {
@ -1294,7 +1263,7 @@ namespace {
} }
} }
} } // namespace detail
@ -1796,7 +1765,7 @@ namespace {
const std::vector<ADB>::const_iterator endMassBalanceIt = residual_.material_balance_eq.end(); const std::vector<ADB>::const_iterator endMassBalanceIt = residual_.material_balance_eq.end();
for (; massBalanceIt != endMassBalanceIt; ++massBalanceIt) { for (; massBalanceIt != endMassBalanceIt; ++massBalanceIt) {
const double massBalanceResid = infinityNorm( (*massBalanceIt) ); const double massBalanceResid = detail::infinityNorm( (*massBalanceIt) );
if (!std::isfinite(massBalanceResid)) { if (!std::isfinite(massBalanceResid)) {
OPM_THROW(Opm::NumericalProblem, OPM_THROW(Opm::NumericalProblem,
"Encountered a non-finite residual"); "Encountered a non-finite residual");
@ -1805,14 +1774,14 @@ namespace {
} }
// the following residuals are not used in the oscillation detection now // the following residuals are not used in the oscillation detection now
const double wellFluxResid = infinityNorm( residual_.well_flux_eq ); const double wellFluxResid = detail::infinityNorm( residual_.well_flux_eq );
if (!std::isfinite(wellFluxResid)) { if (!std::isfinite(wellFluxResid)) {
OPM_THROW(Opm::NumericalProblem, OPM_THROW(Opm::NumericalProblem,
"Encountered a non-finite residual"); "Encountered a non-finite residual");
} }
residualNorms.push_back(wellFluxResid); residualNorms.push_back(wellFluxResid);
const double wellResid = infinityNorm( residual_.well_eq ); const double wellResid = detail::infinityNorm( residual_.well_eq );
if (!std::isfinite(wellResid)) { if (!std::isfinite(wellResid)) {
OPM_THROW(Opm::NumericalProblem, OPM_THROW(Opm::NumericalProblem,
"Encountered a non-finite residual"); "Encountered a non-finite residual");
@ -2006,8 +1975,8 @@ namespace {
converged_CNV = converged_CNV && (CNV[idx] < tol_cnv); converged_CNV = converged_CNV && (CNV[idx] < tol_cnv);
} }
const double residualWellFlux = infinityNorm(residual_.well_flux_eq); const double residualWellFlux = detail::infinityNorm(residual_.well_flux_eq);
const double residualWell = infinityNorm(residual_.well_eq); const double residualWell = detail::infinityNorm(residual_.well_eq);
const bool converged_Well = (residualWellFlux < 1./Opm::unit::day) && (residualWell < Opm::unit::barsa); const bool converged_Well = (residualWellFlux < 1./Opm::unit::day) && (residualWell < Opm::unit::barsa);
const bool converged = converged_MB && converged_CNV && converged_Well; const bool converged = converged_MB && converged_CNV && converged_Well;