void Opm::checkConsistentArrayDimensions(const EclipseState& es, const Schedule& sched, const ParseContext& ctxt, ErrorGuard& guard) { consistentWellDims(es.runspec().wellDimensions(), sched, ctxt, guard); }
Setup( const char* path, const ParseContext& parseContext = ParseContext( )) : deck( Parser().parseFile( path, parseContext ) ), es( deck, parseContext ), grid( es.getInputGrid( ) ), schedule( deck, grid, es.get3DProperties(), es.runspec().phases(), parseContext), summary_config( deck, schedule, es.getTableManager( ), parseContext) { auto& io_config = es.getIOConfig(); io_config.setEclCompatibleRST(false); }
std::vector<bool> Opm::RestartIO::Helpers:: createLogiHead(const EclipseState& es) { const auto& rspec = es.runspec(); const auto& wsd = rspec.wellSegmentDimensions(); const auto& hystPar = rspec.hysterPar(); const auto lh = LogiHEAD{} .variousParam(false, false, wsd.maxSegmentedWells(), hystPar.active()) ; return lh.data(); }
std::vector<int> Opm::RestartIO::Helpers:: createInteHead(const EclipseState& es, const EclipseGrid& grid, const Schedule& sched, const double simTime, const int num_solver_steps, const int lookup_step) { const auto nwgmax = maxGroupSize(sched, lookup_step); const auto ngmax = numGroupsInField(sched, lookup_step); const auto& rspec = es.runspec(); const auto& tdim = es.getTableManager(); const auto& rdim = tdim.getRegdims(); const auto ih = InteHEAD{} .dimensions (grid.getNXYZ()) .numActive (static_cast<int>(grid.getNumActive())) .unitConventions (getUnitConvention(es.getDeckUnitSystem())) .wellTableDimensions(getWellTableDims(nwgmax, rspec, sched, lookup_step)) .calendarDate (getSimulationTimePoint(sched.posixStartTime(), simTime)) .activePhases (getActivePhases(rspec)) // The numbers below have been determined experimentally to work // across a range of reference cases, but are not guaranteed to be // universally valid. .params_NWELZ (155, 122, 130, 3) // n{isxz}welz: number of data elements per well in {ISXZ}WELL .params_NCON (25, 40, 58) // n{isx}conz: number of data elements per completion in ICON .params_GRPZ (getNGRPZ(nwgmax, ngmax, rspec)) // ncamax: max number of analytical aquifer connections // n{isx}aaqz: number of data elements per aquifer in {ISX}AAQ // n{isa}caqz: number of data elements per aquifer connection in {ISA}CAQ .params_NAAQZ (1, 18, 24, 10, 7, 2, 4) .stepParam (num_solver_steps, lookup_step) .tuningParam (getTuningPars(sched.getTuning(), lookup_step)) .wellSegDimensions (getWellSegDims(rspec, sched, lookup_step)) .regionDimensions (getRegDims(tdim, rdim)) .ngroups ({ ngmax }) .variousParam (201702, 100) // Output should be compatible with Eclipse 100, 2017.02 version. ; return ih.data(); }