mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-26 01:01:00 -06:00
introducing aquiferActive() to reduce of the overhead
for the models that does not include a aquifer model.
This commit is contained in:
parent
420fbe21d4
commit
477740ca38
@ -71,10 +71,12 @@ namespace Opm {
|
||||
// at the beginning of each time step (Not report step)
|
||||
void prepareTimeStep(const SimulatorTimerInterface& timer);
|
||||
|
||||
bool aquiferActive() const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
} // namespace Opm
|
||||
|
||||
#include "BlackoilAquiferModel_impl.hpp"
|
||||
#endif
|
||||
#endif
|
||||
|
@ -15,6 +15,10 @@ namespace Opm {
|
||||
void
|
||||
BlackoilAquiferModel<TypeTag>:: timeStepSucceeded(const SimulatorTimerInterface& timer)
|
||||
{
|
||||
if ( !aquiferActive() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto aquifer = aquifers_.begin(); aquifer != aquifers_.end(); ++aquifer)
|
||||
{
|
||||
aquifer->afterTimeStep(timer);
|
||||
@ -27,6 +31,10 @@ namespace Opm {
|
||||
assemble( const SimulatorTimerInterface& timer,
|
||||
const int iterationIdx )
|
||||
{
|
||||
if ( !aquiferActive() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// We need to update the reservoir pressures connected to the aquifer
|
||||
updateConnectionIntensiveQuantities();
|
||||
|
||||
@ -85,8 +93,13 @@ namespace Opm {
|
||||
void
|
||||
BlackoilAquiferModel<TypeTag>:: init()
|
||||
{
|
||||
updateConnectionIntensiveQuantities();
|
||||
const auto& deck = ebosSimulator_.vanguard().deck();
|
||||
|
||||
if ( !deck.hasKeyword("AQUCT") ) {
|
||||
return ;
|
||||
}
|
||||
|
||||
updateConnectionIntensiveQuantities();
|
||||
const auto& eclState = ebosSimulator_.vanguard().eclState();
|
||||
|
||||
// Get all the carter tracy aquifer properties data and put it in aquifers vector
|
||||
@ -107,4 +120,11 @@ namespace Opm {
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace Opm
|
||||
template<typename TypeTag>
|
||||
bool
|
||||
BlackoilAquiferModel<TypeTag>:: aquiferActive() const
|
||||
{
|
||||
return !aquifers_.empty();
|
||||
}
|
||||
|
||||
} // namespace Opm
|
||||
|
Loading…
Reference in New Issue
Block a user