00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00027 #ifndef OPM_FLUID_HEAT_CONDUCTION_HPP
00028 #define OPM_FLUID_HEAT_CONDUCTION_HPP
00029
00030 #include "FluidConductionParams.hpp"
00031
00032 #include <opm/material/common/Spline.hpp>
00033
00034 #include <algorithm>
00035
00036 namespace Opm {
00042 template <class FluidSystem,
00043 class ScalarT,
00044 int phaseIdx,
00045 class ParamsT = FluidHeatConductionParams<ScalarT> >
00046 class FluidHeatConduction
00047 {
00048 public:
00049 typedef ParamsT Params;
00050 typedef typename Params::Scalar Scalar;
00051
00056 template <class FluidState, class Evaluation = typename FluidState::Scalar>
00057 static Evaluation heatConductivity(const Params& params OPM_UNUSED,
00058 const FluidState& fluidState)
00059 {
00060 typename FluidSystem::template ParameterCache<Evaluation> paramCache;
00061 paramCache.updatePhase(fluidState, phaseIdx);
00062 return FluidSystem::template thermalConductivity<FluidState, Evaluation>(fluidState,
00063 paramCache,
00064 phaseIdx);
00065 }
00066 };
00067 }
00068
00069 #endif