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
19namespace Opm {
20
31struct 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:46
virtual void notify(const TwophaseState &coarseScale)=0
virtual void upscale(const TwophaseState &fineScale, TwophaseState &coarseScale)=0
Definition: opmfwd.hpp:15
Definition: state.hpp:31
VertEqState(VertEq &model, const TwophaseState &fineScale)
Definition: state.hpp:34
VertEq & ve
Definition: state.hpp:32
void notify()
Definition: state.hpp:53