12#ifndef DUMUX_PLOT_EFFECTIVE_DIFFUSIVITY_MODEL_HH
13#define DUMUX_PLOT_EFFECTIVE_DIFFUSIVITY_MODEL_HH
21template<
class Scalar>
class GnuplotInterface;
27template<
class Scalar,
class EffectiveDiffusivityModel>
50 Scalar lowerSat = 0.0,
51 Scalar upperSat = 1.0,
52 std::string curveName =
"deff",
53 std::string curveOptions =
"w l")
55 std::vector<Scalar> sw(numIntervals_+1);
56 std::vector<Scalar> deff(numIntervals_+1);
57 Scalar satInterval = upperSat - lowerSat;
59 for (
int i = 0; i <= numIntervals_; i++)
61 sw[i] = lowerSat + satInterval * Scalar(i) / Scalar(numIntervals_);
62 VolumeVariables volVars(sw[i],
porosity, diffCoeff);
63 deff[i] = EffectiveDiffusivityModel::effectiveDiffusionCoefficient(volVars, 0, 0, 1);
72 Scalar diffCoeff)
const
75 return EffectiveDiffusivityModel::effectiveDiffusionCoefficient(volVars, 0, 0, 1);
86 , diffCoeff_(diffCoeff)
90 {
return saturation_; }
95 Scalar diffusionCoefficient(
const int phaseIdx,
const int compIdxI,
const int compIdxJ)
const
Interface for passing data sets to a file and plotting them, if gnuplot is installed.
Definition: gnuplotinterface.hh:45
void addDataSetToPlot(const std::vector< Scalar > &x, const std::vector< Scalar > &y, const std::string &fileName, const std::string &options="with lines")
Adds a data set and writes a data file.
Definition: gnuplotinterface.hh:230
Interface for plotting the multi-component-matrix-interaction laws.
Definition: ploteffectivediffusivitymodel.hh:29
PlotEffectiveDiffusivityModel()
Constructor.
Definition: ploteffectivediffusivitymodel.hh:32
Scalar getEffectiveDiffusionCoefficient(Scalar saturation, Scalar porosity, Scalar diffCoeff) const
for point check
Definition: ploteffectivediffusivitymodel.hh:70
void adddeffcurve(GnuplotInterface< Scalar > &gnuplot, Scalar porosity, Scalar diffCoeff, Scalar lowerSat=0.0, Scalar upperSat=1.0, std::string curveName="deff", std::string curveOptions="w l")
Add a effective diffusion factor-saturation data set to the plot.
Definition: ploteffectivediffusivitymodel.hh:47
std::string saturation(int phaseIdx) noexcept
I/O name of saturation for multiphase systems.
Definition: name.hh:31
std::string porosity() noexcept
I/O name of porosity.
Definition: name.hh:127