Parameter single_cell_method is now enum. Some optimization.

Redundant computation of fractional flow and mc removed.
This commit is contained in:
Xavier Raynaud
2012-03-05 11:56:23 +01:00
parent 214f6ff38a
commit ceef4bbdcd
3 changed files with 52 additions and 20 deletions

View File

@@ -350,7 +350,15 @@ main(int argc, char** argv)
const double *grav = use_gravity ? &gravity[0] : 0;
Opm::IncompTpfa psolver(*grid->c_grid(), props->permeability(), grav, linsolver);
const int method = param.getDefault("method", 1);
Opm::TransportModelPolymer::SingleCellMethod method;
std::string method_string = param.getDefault("single_cell_method", std::string("Bracketing"));
if (method_string == "Bracketing") {
method = Opm::TransportModelPolymer::Bracketing;
} else if (method_string == "Newton") {
method = Opm::TransportModelPolymer::Newton;
} else {
THROW("Unknown method: " << method_string);
}
const double nltol = param.getDefault("nl_tolerance", 1e-9);
const int maxit = param.getDefault("nl_maxiter", 30);
Opm::TransportModelPolymer tmodel(*grid->c_grid(), props->porosity(), &porevol[0], *props, polydata,