write ECL summary files for wells

so far, the units of the values written to disk are always what
Eclipse calls METRIC and the number of supported quantities is
somewhat limited...
This commit is contained in:
Andreas Lauser 2014-11-21 16:39:47 +01:00
parent 138512cac2
commit 49061f879f
2 changed files with 13 additions and 15 deletions

View File

@ -25,6 +25,7 @@
#define EWOMS_ECL_WELL_MANAGER_HH
#include <ewoms/wells/eclpeacemanwell.hh>
#include <ewoms/disc/common/fvbaseproperties.hh>
#include <opm/parser/eclipse/Deck/Deck.hpp>
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
@ -90,21 +91,6 @@ public:
// specified by the updateWellCompletions_() method
well->beginSpec();
well->setName(wellName);
// overwrite the automatically computed effective
// permeability by the one specified in the deck. Note: this
// is not implemented by opm-parser yet...
//Scalar Kh = completion->getEffectivePermeability();
Scalar Kh = 0.0;
if (Kh > 0.0)
well->setEffectivePermeability(elemCtx, dofIdx, Kh);
// overwrite the automatically computed connection
// transmissibilty factor by the one specified in the deck.
Scalar ctf = completion->getConnectionTransmissibilityFactor();
if (ctf > 0.0)
well->setConnectionTransmissibilityFactor(elemCtx, dofIdx, ctf);
well->endSpec();
}
}

View File

@ -27,6 +27,7 @@
#include <ewoms/models/blackoil/blackoilmodel.hh>
#include <ewoms/disc/ecfv/ecfvdiscretization.hh>
#include <ewoms/io/eclgridmanager.hh>
#include <ewoms/io/eclipsesummarywriter.hh>
#include <ewoms/wells/eclwellmanager.hh>
#include <opm/material/fluidmatrixinteractions/PiecewiseLinearTwoPhaseMaterial.hpp>
@ -139,6 +140,9 @@ SET_BOOL_PROP(EclBaseProblem, EnableVtkOutput, false);
// ... but enable the Eclipse output by default
SET_BOOL_PROP(EclBaseProblem, EnableEclipseOutput, true);
// also enable the summary output.
SET_BOOL_PROP(EclBaseProblem, EnableEclipseSummaryOutput, true);
// The default DGF file to load
SET_STRING_PROP(EclBaseProblem, GridFile, "data/ecl.DATA");
}} // namespace Properties, Opm
@ -181,6 +185,8 @@ class EclProblem : public GET_PROP_TYPE(TypeTag, BaseProblem)
typedef typename GET_PROP_TYPE(TypeTag, Simulator) Simulator;
typedef typename GET_PROP_TYPE(TypeTag, MaterialLawParams) MaterialLawParams;
typedef Ewoms::EclipseSummaryWriter<TypeTag> EclipseSummaryWriter;
typedef Dune::FieldMatrix<Scalar, dimWorld, dimWorld> DimMatrix;
public:
@ -204,6 +210,7 @@ public:
EclProblem(Simulator &simulator)
: ParentType(simulator)
, wellManager_(simulator)
, summaryWriter_(simulator)
{ }
/*!
@ -290,6 +297,10 @@ public:
*/
void endEpisode()
{
// first, write the summary information ...
summaryWriter_.write(wellManager_);
// ... then proceed to the next report step
Simulator &simulator = this->simulator();
Opm::EclipseStateConstPtr eclipseState = this->simulator().gridManager().eclipseState();
Opm::TimeMapConstPtr timeMap = eclipseState->getSchedule()->getTimeMap();
@ -960,6 +971,7 @@ private:
Scalar temperature_;
EclWellManager<TypeTag> wellManager_;
EclipseSummaryWriter summaryWriter_;
};
} // namespace Ewoms