Add call to DG tracer computations if user requests.

Used to throw with an 'unimplemented' message.
This commit is contained in:
Atgeirr Flø Rasmussen
2013-04-24 10:40:56 +02:00
parent 1a84b4fe7d
commit da5ea0ccae
2 changed files with 14 additions and 10 deletions

View File

@@ -197,9 +197,6 @@ main(int argc, char** argv)
use_multidim_upwind = param.getDefault("use_multidim_upwind", false);
}
bool compute_tracer = param.getDefault("compute_tracer", false);
if (use_dg && compute_tracer) {
THROW("DG for tracer not yet implemented.");
}
// Write parameters used for later reference.
bool output = param.getDefault("output", true);
@@ -254,13 +251,19 @@ main(int argc, char** argv)
transport_timer.start();
std::vector<double> tof;
std::vector<double> tracer;
Opm::SparseTable<int> tracerheads;
if (compute_tracer) {
buildTracerheadsFromWells(wells->c_wells(), well_state, tracerheads);
}
if (use_dg) {
dg_solver->solveTof(&state.faceflux()[0], &porevol[0], &transport_src[0], tof);
if (compute_tracer) {
dg_solver->solveTofTracer(&state.faceflux()[0], &porevol[0], &transport_src[0], tracerheads, tof, tracer);
} else {
dg_solver->solveTof(&state.faceflux()[0], &porevol[0], &transport_src[0], tof);
}
} else {
Opm::TofReorder tofsolver(*grid->c_grid(), use_multidim_upwind);
if (compute_tracer) {
Opm::SparseTable<int> tracerheads;
buildTracerheadsFromWells(wells->c_wells(), well_state, tracerheads);
tofsolver.solveTofTracer(&state.faceflux()[0], &porevol[0], &transport_src[0], tracerheads, tof, tracer);
} else {
tofsolver.solveTof(&state.faceflux()[0], &porevol[0], &transport_src[0], tof);

View File

@@ -148,9 +148,6 @@ main(int argc, char** argv)
} else {
use_multidim_upwind = param.getDefault("use_multidim_upwind", false);
}
if (use_dg && compute_tracer) {
THROW("DG for tracer not yet implemented.");
}
// Write parameters used for later reference.
bool output = param.getDefault("output", true);
@@ -178,7 +175,11 @@ main(int argc, char** argv)
std::vector<double> tof;
std::vector<double> tracer;
if (use_dg) {
dg_solver->solveTof(&flux[0], &porevol[0], &src[0], tof);
if (compute_tracer) {
dg_solver->solveTofTracer(&flux[0], &porevol[0], &src[0], tracerheads, tof, tracer);
} else {
dg_solver->solveTof(&flux[0], &porevol[0], &src[0], tof);
}
} else {
Opm::TofReorder tofsolver(grid, use_multidim_upwind);
if (compute_tracer) {