21 #ifndef OPM_SIMULATORFULLYIMPLICITBLACKOILMULTISEGMENT_HEADER_INCLUDED 22 #define OPM_SIMULATORFULLYIMPLICITBLACKOILMULTISEGMENT_HEADER_INCLUDED 24 #include <opm/autodiff/SimulatorBase.hpp> 27 #include <opm/autodiff/NonlinearSolver.hpp> 28 #include <opm/autodiff/BlackoilMultiSegmentModel.hpp> 29 #include <opm/autodiff/WellStateMultiSegment.hpp> 33 template <
class Gr
idT>
38 template <
class Gr
idT>
42 typedef BlackoilState ReservoirState;
51 template <
class Gr
idT>
53 :
public SimulatorBase<SimulatorFullyImplicitBlackoilMultiSegment<GridT> >
59 typedef typename Traits::ReservoirState ReservoirState;
60 typedef typename Traits::WellState WellState;
61 typedef typename Traits::Solver Solver;
62 typedef typename Traits::WellModel WellModel;
69 const RockCompressibility* rock_comp_props,
71 const double* gravity,
74 std::shared_ptr<EclipseState> eclipse_state,
76 const std::vector<double>& threshold_pressures_by_face,
77 const std::unordered_set<std::string>& defunct_well_names)
78 : Base(param, grid, geo, props, rock_comp_props, linsolver, gravity, disgas, vapoil,
79 eclipse_state, output_writer, threshold_pressures_by_face, defunct_well_names)
83 SimulatorReport run(SimulatorTimer& timer,
84 ReservoirState& state);
88 std::unique_ptr<Solver> createSolver(
const WellModel& well_model);
90 using Base::output_writer_;
93 using Base::terminal_output_;
94 using Base::eclipse_state_;
97 using Base::is_parallel_run_;
98 using Base::allcells_;
99 using Base::model_param_;
101 using Base::rock_comp_props_;
102 using Base::has_disgas_;
103 using Base::has_vapoil_;
108 #include "SimulatorFullyImplicitBlackoilMultiSegment_impl.hpp" 110 #endif // OPM_SIMULATORFULLYIMPLICITBLACKOILMULTISEGMENT_HEADER_INCLUDED A nonlinear solver class suitable for general fully-implicit models, as well as pressure, transport and sequential models.
Definition: NonlinearSolver.hpp:37
Class collecting all necessary components for a two-phase simulation.
Definition: SimulatorBase.hpp:85
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: AdditionalObjectDeleter.hpp:22
A model implementation for three-phase black oil with support for multi-segment wells.
Definition: BlackoilMultiSegmentModel.hpp:55
a simulator for the blackoil model
Definition: SimulatorFullyImplicitBlackoilMultiSegment.hpp:34
Class containing static geological properties that are derived from grid and petrophysical properties...
Definition: GeoProps.hpp:59
Wrapper class for VTK, Matlab, and ECL output.
Definition: SimulatorFullyImplicitBlackoilOutput.hpp:206
Interface class for (linear) solvers for the fully implicit black-oil system.
Definition: NewtonIterationBlackoilInterface.hpp:31
This class implements the AD-adapted fluid interface for three-phase black-oil.
Definition: BlackoilPropsAdFromDeck.hpp:61
The state of a set of multi-sgemnet wells.
Definition: WellStateMultiSegment.hpp:45
Definition: SimulatorBase.hpp:81
Class for handling the multi-segment well model.
Definition: MultisegmentWells.hpp:55