Cleaned up and removed unused code.

This commit is contained in:
Atgeirr Flø Rasmussen 2012-02-09 23:35:43 +01:00
parent c076a8a6b9
commit 05ac35ed14
2 changed files with 9 additions and 89 deletions

View File

@ -1,77 +1,12 @@
/* Copyright 2011 (c) Jostein R. Natvig <Jostein.R.Natvig at sintef.no> */
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <opm/core/grid.h>
#include <opm/core/transport/reorder/reordersequence.h>
#include <opm/core/transport/reorder/tarjan.h>
#include <opm/core/transport/reorder/nlsolvers.h>
#include <opm/core/transport/reorder/twophase.hpp>
#include <opm/core/transport/reorder/twophasetransport.hpp>
#include <opm/core/transport/reorder/reordersequence.h>
#include <opm/core/transport/reorder/TransportModelTwophase.hpp>
#include <opm/core/grid.h>
#include <cassert>
void twophasetransport(
const double *porevolume,
const double *source,
double dt,
struct UnstructuredGrid *grid,
const Opm::IncompPropertiesInterface* props,
const double *darcyflux,
double *saturation)
{
int i;
int ncomponents;
int *sequence;
int *components;
struct SolverData *data = init_solverdata(grid, props, darcyflux,
porevolume, source, dt, saturation);
struct NonlinearSolverCtrl ctrl;
/* Compute sequence of single-cell problems */
sequence = (int*) malloc( grid->number_of_cells * sizeof *sequence);
components = (int*) malloc(( grid->number_of_cells+1) * sizeof *components);
compute_sequence(grid, darcyflux, sequence, components, &ncomponents);
assert(ncomponents == grid->number_of_cells);
ctrl.maxiterations = 20;
ctrl.nltolerance = 1e-9;
ctrl.method = NonlinearSolverCtrl::REGULAFALSI;
ctrl.initialguess = 0.5;
ctrl.min_bracket = 0.0;
ctrl.max_bracket = 1.0;
/* Assume all strong components are single-cell domains. */
for(i=0; i<grid->number_of_cells; ++i)
{
#ifdef MATLAB_MEX_FILE
if (interrupt_signal)
{
mexPrintf("Reorder loop interrupted by user: %d of %d "
"cells finished.\n", i, grid->number_of_cells);
break;
}
#endif
solvecell(data, &ctrl, sequence[i]);
/*print("iterations:%d residual:%20.16f\n",
* ctrl.iterations, ctrl.residual);*/
}
destroy_solverdata(data);
free(sequence);
free(components);
}
void Opm::reorderTransportTwophase(const double *porevolume,
@ -82,6 +17,7 @@ void Opm::reorderTransportTwophase(const double *porevolume,
const double *darcyflux,
double *saturation)
{
// Set up transport model.
TransportModelTwophase tmodel(grid, props, darcyflux,
porevolume, source, dt, saturation);
@ -90,23 +26,18 @@ void Opm::reorderTransportTwophase(const double *porevolume,
std::vector<int> components(grid->number_of_cells + 1);
int ncomponents;
compute_sequence(grid, darcyflux, &sequence[0], &components[0], &ncomponents);
assert(ncomponents == grid->number_of_cells);
// Assume all strong components are single-cell domains.
for (int i = 0; i < grid->number_of_cells; ++i)
{
assert(ncomponents == grid->number_of_cells);
for (int i = 0; i < grid->number_of_cells; ++i) {
#ifdef MATLAB_MEX_FILE
if (interrupt_signal)
{
if (interrupt_signal) {
mexPrintf("Reorder loop interrupted by user: %d of %d "
"cells finished.\n", i, grid->number_of_cells);
break;
}
#endif
tmodel.solveSingleCell(sequence[i]);
// print("iterations:%d residual:%20.16f\n",
// ctrl.iterations, ctrl.residual);
}
}

View File

@ -3,25 +3,14 @@
#ifndef TWOPHASETRANSPORT_HPP_INCLUDED
#define TWOPHASETRANSPORT_HPP_INCLUDED
namespace Opm
{
class IncompPropertiesInterface;
}
struct UnstructuredGrid;
void twophasetransport(
const double *porevolume,
const double *source,
double dt,
struct UnstructuredGrid *grid,
const Opm::IncompPropertiesInterface* props,
const double *darcyflux,
double *saturation);
namespace Opm
{
class IncompPropertiesInterface;
void reorderTransportTwophase(const double *porevolume,
const double *source,
const double dt,