24#ifndef DUMUX_PLOT_THERMAL_CONDUCTIVITY_LAW_HH
25#define DUMUX_PLOT_THERMAL_CONDUCTIVITY_LAW_HH
34template<
class Scalar>
class GnuplotInterface;
40template<
class Scalar,
class ThermalConductivityModel,
class Flu
idSystem>
48 phase0Idx = FluidSystem::phase0Idx,
49 phase1Idx = FluidSystem::phase1Idx
69 lambdaW_ = FluidSystem::thermalConductivity(fluidstate, phase0Idx);
70 lambdaN_ = FluidSystem::thermalConductivity(fluidstate, phase1Idx);
89 Scalar lowerSat = 0.0,
90 Scalar upperSat = 1.0,
91 std::string curveName =
"lambdaeff",
92 std::string curveOptions =
"w l")
94 std::vector<Scalar> sw(numIntervals_+1);
95 std::vector<Scalar> lambda(numIntervals_+1);
96 Scalar satInterval = upperSat - lowerSat;
98 for (
int i = 0; i <= numIntervals_; i++)
100 sw[i] = lowerSat + satInterval * Scalar(i) / Scalar(numIntervals_);
101 lambda[i] = ThermalConductivityModel::effectiveThermalConductivity(sw[i], lambdaW_,
102 lambdaN_, lambdaSolid,
106 gnuplot.
setXlabel(
"wetting phase saturation [-]");
107 gnuplot.
setYlabel(
"effective thermal conductivity [W/(m K)]");
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
make the local view function available whenever we use the grid geometry
Definition: adapt.hh:29
std::string temperature() noexcept
I/O name of temperature for equilibrium models.
Definition: name.hh:51
std::string pressure(int phaseIdx) noexcept
I/O name of pressure for multiphase systems.
Definition: name.hh:34
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 non-isothermal two-phase fluid-matrix-interaction laws.
Definition: plotthermalconductivitymodel.hh:42
PlotThermalConductivityModel(Scalar temperature=283.15, Scalar pressure=1e5)
Constructor.
Definition: plotthermalconductivitymodel.hh:61
void addlambdaeffcurve(GnuplotInterface< Scalar > &gnuplot, Scalar porosity, Scalar rhoSolid, Scalar lambdaSolid, Scalar lowerSat=0.0, Scalar upperSat=1.0, std::string curveName="lambdaeff", std::string curveOptions="w l")
Add a effective thermal conductivity-saturation curve to the plot.
Definition: plotthermalconductivitymodel.hh:85
Represents all relevant thermodynamic quantities of a multi-phase, multi-component fluid system assum...
Definition: compositional.hh:47
void setTemperature(Scalar value)
Set the temperature of all phases.
Definition: compositional.hh:318
void setPressure(int phaseIdx, Scalar value)
Set the fluid pressure of a phase .
Definition: compositional.hh:334