state.hpp
Go to the documentation of this file.
1 #ifndef OPM_VERTEQ_STATE_HPP_INCLUDED
2 #define OPM_VERTEQ_STATE_HPP_INCLUDED
3 
4 // Copyright (C) 2013 Uni Research AS
5 // This file is licensed under the GNU General Public License v3.0
6 
7 #ifndef OPM_VERTEQ_VISIBILITY_HPP_INCLUDED
9 #endif /* OPM_VERTEQ_VISIBILITY_HPP_INCLUDED */
10 
11 #ifndef OPM_TWOPHASESTATE_HEADER_INCLUDED
12 #include <opm/core/simulator/TwophaseState.hpp>
13 #endif /* OPM_TWOPHASESTATE_HEADER_INCLUDED */
14 
15 #ifndef OPM_VERTEQ_VERTEQ_HPP_INCLUDED
16 #include <opm/verteq/verteq.hpp>
17 #endif /* OPM_VERTEQ_VERTEQ_HPP_INCLUDED */
18 
19 namespace Opm {
20 
31 struct VertEqState : public TwophaseState {
33 
35  const TwophaseState& fineScale)
36  // keep a pointer back to the model, so we know who to call
37  : ve (model) {
38 
39  // let the VE model do the initialization, it has all the
40  // necessary information to do the upscaling
41  ve.upscale (fineScale, *this);
42  }
43 
53  void notify () {
54  ve.notify (*this);
55  }
56 };
57 
58 } /* namespace Opm */
59 
60 #endif /* OPM_VERTEQ_STATE_HPP_INCLUDED */
Vertical Equilibrium Upscaling.
Definition: verteq.hpp:45
Definition: opmfwd.hpp:15
VertEqState(VertEq &model, const TwophaseState &fineScale)
Definition: state.hpp:34
VertEq & ve
Definition: state.hpp:32
virtual void upscale(const TwophaseState &fineScale, TwophaseState &coarseScale)=0
virtual void notify(const TwophaseState &coarseScale)=0
Definition: state.hpp:31
void notify()
Definition: state.hpp:53