mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-11-25 18:50:19 -06:00
877eccb4cc
- start with an initial "do nothing" episode of 100 days to get hydrostatic conditions. - after that, produce oil and inject water for 900 days. (thereafter the reservoir will be empty.) - make the problem work with element centered FV discretizations. this requires to make the width of the injection/production areas at least one cell wide. This is achieved by using the new "WellWidth" property which specifies the with of wells as a factor of the total domain width. - make the problem work with fully compositional models. This implied to calculate the full composition for the fluid states which specify the initial condition and the thermodynamic state at the wells. - add tests and reference solutions for any combination of the {ECFV, VCFV} discretizations and the {black-oil, NCP} models.
50 lines
1.8 KiB
C++
50 lines
1.8 KiB
C++
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
// vi: set et ts=4 sw=4 sts=4:
|
|
/*
|
|
Copyright (C) 2012-2013 by Andreas Lauser
|
|
|
|
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 2 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 <http://www.gnu.org/licenses/>.
|
|
*/
|
|
/*!
|
|
* \file
|
|
*
|
|
* \brief Test for the reservoir problem using the black-oil model, the ECFV discretization
|
|
* and automatic differentiation.
|
|
*/
|
|
#include "config.h"
|
|
|
|
#include <ewoms/common/start.hh>
|
|
#include <ewoms/models/blackoil/blackoilmodel.hh>
|
|
#include <ewoms/disc/ecfv/ecfvdiscretization.hh>
|
|
#include "problems/reservoirproblem.hh"
|
|
|
|
namespace Ewoms {
|
|
namespace Properties {
|
|
NEW_TYPE_TAG(ReservoirBlackOilEcfvProblem, INHERITS_FROM(BlackOilModel, ReservoirBaseProblem));
|
|
|
|
// Select the element centered finite volume method as spatial discretization
|
|
SET_TAG_PROP(ReservoirBlackOilEcfvProblem, SpatialDiscretizationSplice, EcfvDiscretization);
|
|
|
|
// Use automatic differentiation to linearize the system of PDEs
|
|
SET_TAG_PROP(ReservoirBlackOilEcfvProblem, LocalLinearizerSplice, AutoDiffLocalLinearizer);
|
|
}}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
typedef TTAG(ReservoirBlackOilEcfvProblem) ProblemTypeTag;
|
|
return Ewoms::start<ProblemTypeTag>(argc, argv);
|
|
}
|