mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
begining simulator code for numerical aquifer
most of the functionality is to collect data for summary output.
This commit is contained in:
@@ -18,6 +18,9 @@
|
||||
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <opm/grid/utility/cartesianToCompressed.hpp>
|
||||
#include "BlackoilAquiferModel.hpp"
|
||||
|
||||
namespace Opm
|
||||
{
|
||||
|
||||
@@ -179,6 +182,12 @@ BlackoilAquiferModel<TypeTag>::init()
|
||||
aquifers_Fetkovich.emplace_back(connections[aq.aquiferID],
|
||||
this->simulator_, aq);
|
||||
}
|
||||
|
||||
if (aquifer.hasNumericalAquifer()) {
|
||||
for (const auto& elem : aquifer.numericalAquifers().aquifers()) {
|
||||
this->aquifers_numerical.emplace_back(elem.second);
|
||||
}
|
||||
}
|
||||
}
|
||||
template <typename TypeTag>
|
||||
bool
|
||||
@@ -199,6 +208,13 @@ BlackoilAquiferModel<TypeTag>::aquiferFetkovichActive() const
|
||||
return !aquifers_Fetkovich.empty();
|
||||
}
|
||||
|
||||
template<typename TypeTag>
|
||||
bool
|
||||
BlackoilAquiferModel<TypeTag>::aquiferNumericalActive() const
|
||||
{
|
||||
return !(this->aquifers_numerical.empty());
|
||||
}
|
||||
|
||||
template<typename TypeTag>
|
||||
Opm::data::Aquifers BlackoilAquiferModel<TypeTag>::aquiferData() const {
|
||||
Opm::data::Aquifers data;
|
||||
@@ -215,6 +231,14 @@ Opm::data::Aquifers BlackoilAquiferModel<TypeTag>::aquiferData() const {
|
||||
data[aqu_data.aquiferID] = aqu_data;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->aquiferNumericalActive()) {
|
||||
for (const auto& aqu : this->aquifers_numerical) {
|
||||
Opm::data::AquiferData aqu_data = aqu.aquiferData();
|
||||
data[aqu_data.aquiferID] = aqu_data;
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
} // namespace Opm
|
||||
|
||||
Reference in New Issue
Block a user