Merge branch 'master' into reorder_tof

This commit is contained in:
Atgeirr Flø Rasmussen 2012-08-27 17:02:50 +02:00
commit 214546ece9
5 changed files with 16 additions and 16 deletions

View File

@ -504,7 +504,7 @@ namespace Opm
cq.phasemobf = &face_phasemob_[0]; cq.phasemobf = &face_phasemob_[0];
cq.voldiscr = &cell_voldisc_[0]; cq.voldiscr = &cell_voldisc_[0];
int was_adjusted = 0; int was_adjusted = 0;
if (rock_comp_props_ == NULL || !rock_comp_props_->isActive()) { if (! (rock_comp_props_ && rock_comp_props_->isActive())) {
was_adjusted = was_adjusted =
cfs_tpfa_res_assemble(gg, dt, &forces, z, &cq, &trans_[0], cfs_tpfa_res_assemble(gg, dt, &forces, z, &cq, &trans_[0],
&face_gravcap_[0], cell_press, well_bhp, &face_gravcap_[0], cell_press, well_bhp,

View File

@ -61,7 +61,7 @@ namespace Opm
/// and completions does not change during the /// and completions does not change during the
/// run. However, controls (only) are allowed /// run. However, controls (only) are allowed
/// to change. /// to change.
CompressibleTpfa(const UnstructuredGrid& grid, CompressibleTpfa(const UnstructuredGrid& grid,
const BlackoilPropertiesInterface& props, const BlackoilPropertiesInterface& props,
const RockCompressibility* rock_comp_props, const RockCompressibility* rock_comp_props,
const LinearSolverInterface& linsolver, const LinearSolverInterface& linsolver,
@ -71,8 +71,8 @@ namespace Opm
const double* gravity, const double* gravity,
const Wells* wells); const Wells* wells);
/// Destructor. /// Destructor.
~CompressibleTpfa(); ~CompressibleTpfa();
/// Solve the pressure equation by Newton-Raphson scheme. /// Solve the pressure equation by Newton-Raphson scheme.
/// May throw an exception if the number of iterations /// May throw an exception if the number of iterations
@ -112,11 +112,11 @@ namespace Opm
void solveIncrement(); void solveIncrement();
double residualNorm() const; double residualNorm() const;
double incrementNorm() const; double incrementNorm() const;
void computeResults(BlackoilState& state, void computeResults(BlackoilState& state,
WellState& well_state) const; WellState& well_state) const;
// ------ Data that will remain unmodified after construction. ------ // ------ Data that will remain unmodified after construction. ------
const UnstructuredGrid& grid_; const UnstructuredGrid& grid_;
const BlackoilPropertiesInterface& props_; const BlackoilPropertiesInterface& props_;
const RockCompressibility* rock_comp_props_; const RockCompressibility* rock_comp_props_;
const LinearSolverInterface& linsolver_; const LinearSolverInterface& linsolver_;
@ -125,12 +125,12 @@ namespace Opm
const int maxiter_; const int maxiter_;
const double* gravity_; // May be NULL const double* gravity_; // May be NULL
const Wells* wells_; // May be NULL, outside may modify controls (only) between calls to solve(). const Wells* wells_; // May be NULL, outside may modify controls (only) between calls to solve().
std::vector<double> htrans_; std::vector<double> htrans_;
std::vector<double> trans_ ; std::vector<double> trans_ ;
std::vector<int> allcells_; std::vector<int> allcells_;
// ------ Internal data for the cfs_tpfa_res solver. ------ // ------ Internal data for the cfs_tpfa_res solver. ------
struct cfs_tpfa_res_data* h_; struct cfs_tpfa_res_data* h_;
// ------ Data that will be modified for every solve. ------ // ------ Data that will be modified for every solve. ------
std::vector<double> wellperf_gpot_; std::vector<double> wellperf_gpot_;

View File

@ -96,7 +96,7 @@ namespace Opm
props_.viscosity(props_.numCells(), pressure, NULL, &allcells_[0], &visc_[0], NULL); props_.viscosity(props_.numCells(), pressure, NULL, &allcells_[0], &visc_[0], NULL);
props_.matrix(props_.numCells(), pressure, NULL, &allcells_[0], &A_[0], NULL); props_.matrix(props_.numCells(), pressure, NULL, &allcells_[0], &A_[0], NULL);
// Check non-miscibility requirement (only done for first cell). // Check immiscibility requirement (only done for first cell).
if (A_[1] != 0.0 || A_[2] != 0.0) { if (A_[1] != 0.0 || A_[2] != 0.0) {
THROW("TransportModelCompressibleTwophase requires a property object without miscibility."); THROW("TransportModelCompressibleTwophase requires a property object without miscibility.");
} }

View File

@ -76,7 +76,7 @@ namespace Opm
std::vector<double>& saturation); std::vector<double>& saturation);
//// Return the number of iterations used by the reordering solver. //// Return the number of iterations used by the reordering solver.
//// \param[out] vector of iteration per cell //// \return vector of iteration per cell
const std::vector<int>& getReorderIterations() const; const std::vector<int>& getReorderIterations() const;
private: private:

View File

@ -243,9 +243,9 @@ namespace Opm
// matrix data. // matrix data.
std::fill(surfacevol, surfacevol + n*np, 0.0); std::fill(surfacevol, surfacevol + n*np, 0.0);
for (int i = 0; i < n; ++i) { for (int i = 0; i < n; ++i) {
for (int row = 0; row < np; ++row) { for (int col = 0; col < np; ++col) {
for (int col = 0; col < np; ++col) { for (int row = 0; row < np; ++row) {
surfacevol[i*np + row] += A[i*np*np + row*np + col] * saturation[i*np + col]; surfacevol[i*np + row] += A[i*np*np + row + col*np] * saturation[i*np + col];
} }
} }
} }