20 #ifndef OPM_TOFREORDER_HEADER_INCLUDED
21 #define OPM_TOFREORDER_HEADER_INCLUDED
33 class IncompPropertiesInterface;
34 template <
typename T>
class SparseTable;
50 const bool use_multidim_upwind =
false);
59 void solveTof(
const double* darcyflux,
60 const double* porevolume,
62 std::vector<double>& tof);
76 const double* porevolume,
79 std::vector<double>& tof,
80 std::vector<double>& tracer);
84 virtual void solveSingleCell(
const int cell);
85 void solveSingleCellMultidimUpwind(
const int cell);
86 void assembleSingleCell(
const int cell,
87 std::vector<int>& local_column,
88 std::vector<double>& local_coefficient,
90 virtual void solveMultiCell(
const int num_cells,
const int* cells);
92 void multidimUpwindTerms(
const int face,
const int upwind_cell,
93 double& face_term,
double& cell_term_factor)
const;
94 void localMultidimUpwindTerms(
const int face,
const int upwind_cell,
const int node_pos,
95 double& face_term,
double& cell_term_factor)
const;
99 const double* darcyflux_;
100 const double* porevolume_;
101 const double* source_;
103 bool compute_tracer_;
104 enum { NoTracerHead = -1 };
105 std::vector<int> tracerhead_by_cell_;
107 double gauss_seidel_tol_;
109 int max_size_multicell_;
110 int max_iter_multicell_;
112 bool use_multidim_upwind_;
113 std::vector<double> face_tof_;
114 std::vector<double> face_part_tof_;
119 #endif // OPM_TRANSPORTMODELTRACERTOF_HEADER_INCLUDED
Definition: AnisotropicEikonal.hpp:43
TofReorder(const UnstructuredGrid &grid, const bool use_multidim_upwind=false)
Definition: ReorderSolverInterface.hpp:38
void solveTofTracer(const double *darcyflux, const double *porevolume, const double *source, const SparseTable< int > &tracerheads, std::vector< double > &tof, std::vector< double > &tracer)
void solveTof(const double *darcyflux, const double *porevolume, const double *source, std::vector< double > &tof)
Definition: TofReorder.hpp:43
const UnstructuredGrid & grid
Definition: ColumnExtract.hpp:31