diff --git a/Makefile.am b/Makefile.am index 5496cba0f..5aff607a3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,6 +14,7 @@ nobase_include_HEADERS = \ opm/polymer/GravityColumnSolverPolymer.hpp \ opm/polymer/GravityColumnSolverPolymer_impl.hpp \ opm/polymer/PolymerProperties.hpp \ +opm/polymer/PolymerState.hpp \ opm/polymer/SinglePointUpwindTwoPhasePolymer.hpp \ opm/polymer/TransportModelPolymer.hpp \ opm/polymer/polymerUtilities.hpp diff --git a/opm/polymer/PolymerState.hpp b/opm/polymer/PolymerState.hpp new file mode 100644 index 000000000..ebda6bb76 --- /dev/null +++ b/opm/polymer/PolymerState.hpp @@ -0,0 +1,58 @@ +/* + Copyright 2012 SINTEF ICT, Applied Mathematics. + + This file is part of the Open Porous Media project (OPM). + + OPM is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OPM is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with OPM. If not, see . +*/ + +#ifndef OPM_POLYMERSTATE_HEADER_INCLUDED +#define OPM_POLYMERSTATE_HEADER_INCLUDED + + +#include +#include +#include + +namespace Opm +{ + + /// Simulator state for a two-phase simulator with polymer. + class PolymerState : public TwophaseState + { + public: + void init(const UnstructuredGrid& g) + { + TwophaseState::init(g); + concentration_.resize(g.number_of_cells, 0.0); + cmax_.resize(g.number_of_cells, 0.0); + } + + std::vector& concentration() { return concentration_; } + std::vector& maxconcentration() { return cmax_; } + + const std::vector& concentration() const { return concentration_; } + const std::vector& maxconcentration() const { return cmax_; } + + private: + std::vector concentration_; + std::vector cmax_; + }; + +} // namespace Opm + + + + +#endif // OPM_POLYMERSTATE_HEADER_INCLUDED