36 #ifndef OPM_STEADYSTATEUPSCALER_HEADER
37 #define OPM_STEADYSTATEUPSCALER_HEADER
39 #include <opm/upscaling/UpscalerBase.hpp>
40 #include <opm/porsol/euler/EulerUpstream.hpp>
41 #include <opm/porsol/euler/ImplicitCapillarity.hpp>
50 template <
class Traits>
78 const std::vector<double>& initial_saturation,
79 const double boundary_saturation,
80 const double pressure_drop,
81 const permtensor_t& upscaled_perm);
95 typedef typename Traits::template TransportSolver<GridInterface, typename Super::BCs>::Type TransportSolver;
98 template <
class FlowSol>
99 void computeInOutFlows(std::pair<double, double>& water_inout,
100 std::pair<double, double>& oil_inout,
101 const FlowSol& flow_solution,
102 const std::vector<double>& saturations)
const;
104 virtual void initImpl(
const Opm::parameter::ParameterGroup& param);
108 std::vector<double> last_saturation_state_;
111 bool print_inoutflows_;
112 int simulation_steps_;
114 double relperm_threshold_;
115 double maximum_mobility_contrast_;
116 double sat_change_threshold_;
117 TransportSolver transport_solver_;
122 #include "SteadyStateUpscaler_impl.hpp"
125 #endif // OPM_STEADYSTATEUPSCALER_HEADER
A base class for upscaling.
Definition: UpscalerBase.hpp:55
SteadyStateUpscaler()
Default constructor.
Definition: SteadyStateUpscaler_impl.hpp:54
const std::vector< double > & lastSaturationState() const
Accessor for the steady state saturation field.
Definition: SteadyStateUpscaler_impl.hpp:293
ResProp::MutablePermTensor permtensor_t
A type for the upscaled permeability.
Definition: UpscalerBase.hpp:66
A class for doing steady state upscaling.
Definition: SteadyStateUpscaler.hpp:51
virtual void initImpl(const Opm::parameter::ParameterGroup ¶m)
Override from superclass.
Definition: SteadyStateUpscaler_impl.hpp:71
double lastSaturationUpscaled() const
Computes the upscaled saturation corresponding to the saturation field returned by lastSaturationStat...
Definition: SteadyStateUpscaler_impl.hpp:302
std::pair< permtensor_t, permtensor_t > upscaleSteadyState(const int flow_direction, const std::vector< double > &initial_saturation, const double boundary_saturation, const double pressure_drop, const permtensor_t &upscaled_perm)
Does a steady-state upscaling.
Definition: SteadyStateUpscaler_impl.hpp:133