24#ifndef DUMUX_PLOT_EFFECTIVE_DIFFUSIVITY_MODEL_HH
25#define DUMUX_PLOT_EFFECTIVE_DIFFUSIVITY_MODEL_HH
33template<
class Scalar>
class GnuplotInterface;
39template<
class Scalar,
class EffectiveDiffusivityModel>
61 Scalar lowerSat = 0.0,
62 Scalar upperSat = 1.0,
63 std::string curveName =
"deff",
64 std::string curveOptions =
"w l")
66 std::vector<Scalar> sw(numIntervals_+1);
67 std::vector<Scalar> deff(numIntervals_+1);
68 Scalar satInterval = upperSat - lowerSat;
70 for (
int i = 0; i <= numIntervals_; i++)
72 sw[i] = lowerSat + satInterval * Scalar(i) / Scalar(numIntervals_);
73 deff[i] = EffectiveDiffusivityModel::effectiveDiffusivity(
porosity, sw[i],
77 gnuplot.
setXlabel(
"phase saturation [-]");
78 gnuplot.
setYlabel(
"effective diffusion/molecular diffusion [-]");
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
std::string porosity() noexcept
I/O name of porosity.
Definition: name.hh:139
Interface for passing data sets to a file and plotting them, if gnuplot is installed.
Definition: gnuplotinterface.hh:57
void setXlabel(const std::string &label)
Sets the label for the x-axis.
Definition: gnuplotinterface.hh:279
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:242
void setYlabel(const std::string &label)
Sets the label for the y-axis.
Definition: gnuplotinterface.hh:289
Interface for plotting the multi-component-matrix-interaction laws.
Definition: ploteffectivediffusivitymodel.hh:41
PlotEffectiveDiffusivityModel()
Constructor.
Definition: ploteffectivediffusivitymodel.hh:45
void adddeffcurve(GnuplotInterface< Scalar > &gnuplot, Scalar porosity, 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:59