Add transflux module and a test that uses it

Compute flux based on transmissibilites. The permeability is assumed to be diagonal and alligned with the local cell
This commit is contained in:
Tor Harald Sandve
2021-11-11 12:19:53 +01:00
parent c464bceb3b
commit f513662aa9
3 changed files with 582 additions and 1 deletions

View File

@@ -32,7 +32,7 @@
#include <opm/models/immiscible/immiscibleproperties.hh>
#include <opm/models/discretization/common/fvbaseadlocallinearizer.hh>
#include <opm/models/discretization/ecfv/ecfvdiscretization.hh>
#include <opm/models/common/transfluxmodule.hh>
#include <opm/material/fluidmatrixinteractions/RegularizedVanGenuchten.hpp>
#include <opm/material/fluidmatrixinteractions/LinearMaterial.hpp>
#include <opm/material/fluidmatrixinteractions/EffToAbsLaw.hpp>
@@ -482,10 +482,16 @@ public:
bool useAutoDiff = std::is_same<LLS, Properties::TTag::AutoDiffLocalLinearizer>::value;
using FM = GetPropType<TypeTag, Properties::FluxModule>;
bool useTrans = std::is_same<FM, Opm::TransFluxModule<TypeTag>>::value;
std::ostringstream oss;
oss << "lens_" << Model::name()
<< "_" << Model::discretizationName()
<< "_" << (useAutoDiff?"ad":"fd");
if (useTrans)
oss << "_trans";
return oss.str();
}