change to avoid zero-size windows in Actionx changes to improve Restart output content change to correct IUDQ for DEFINE corrections to IACN and SACN initial changes to add item to ZWEL further changes to add Action to well further changes to allow for action name in ZWEL more changes further changes to output action name to ZWEL changes to test/debug Restart write turn on writing of ZWEL again First running version of udq-actionx-rst use Action::Result direkte first working! version some corrections changes to allow for output of SACN [4.6.8] added debug print changes to improve IACN and IACT further corrections to Actionx IACN pluss error messages changes to adapt to well2 converted to well class further changes to enable restart with group control changes to adapt to newly merged code in master changes to include Intehead [51] - group control test changes to iGrp[nwgmax +7] initial changes for GUIDERATE changes to add guiderate parameters to the restart file add comment correction to guiderate - test if exist correction to DoubHead - test if GR exist correction to ISEG[8] correction for eclipse version Restart-file Cosmetic change corrections to igrp correction to segment type in iseg
89 lines
2.4 KiB
C++
Executable File
89 lines
2.4 KiB
C++
Executable File
/*
|
|
Copyright 2018 Statoil ASA.
|
|
|
|
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 <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef OPM_DOUBHEAD_HEADER_INCLUDED
|
|
#define OPM_DOUBHEAD_HEADER_INCLUDED
|
|
|
|
#include <chrono>
|
|
#include <cstddef>
|
|
#include <vector>
|
|
|
|
namespace Opm {
|
|
class Tuning;
|
|
class Schedule;
|
|
class UDQParams;
|
|
}
|
|
|
|
namespace Opm { namespace RestartIO {
|
|
|
|
class DoubHEAD
|
|
{
|
|
public:
|
|
struct TimeStamp {
|
|
std::chrono::time_point<std::chrono::system_clock> start;
|
|
std::chrono::duration<double, std::chrono::seconds::period> elapsed;
|
|
};
|
|
|
|
struct guideRate {
|
|
double A;
|
|
double B;
|
|
double C;
|
|
double D;
|
|
double E;
|
|
double F;
|
|
double delay;
|
|
double damping_fact;
|
|
};
|
|
|
|
DoubHEAD();
|
|
|
|
~DoubHEAD() = default;
|
|
DoubHEAD(const DoubHEAD& rhs) = default;
|
|
DoubHEAD(DoubHEAD&& rhs) = default;
|
|
|
|
DoubHEAD& operator=(const DoubHEAD& rhs) = default;
|
|
DoubHEAD& operator=(DoubHEAD&& rhs) = default;
|
|
|
|
DoubHEAD& tuningParameters(const Tuning& tuning,
|
|
const std::size_t lookup_step,
|
|
const double cnvT);
|
|
|
|
DoubHEAD& timeStamp(const TimeStamp& ts);
|
|
DoubHEAD& nextStep(const double nextTimeStep);
|
|
|
|
DoubHEAD& drsdt(const Schedule& sched,
|
|
const std::size_t lookup_step,
|
|
const double cnvT);
|
|
|
|
DoubHEAD& udq_param(const UDQParams& udqPar);
|
|
DoubHEAD& guide_rate_param(const guideRate& guide_rp);
|
|
|
|
const std::vector<double>& data() const
|
|
{
|
|
return this->data_;
|
|
}
|
|
|
|
private:
|
|
std::vector<double> data_;
|
|
};
|
|
|
|
}} // Opm::RestartIO
|
|
|
|
#endif // OPM_DOUBHEAD_HEADER_INCLUDED
|