21 #ifndef OPM_SIMULATORFULLYIMPLICITCOMPRESSIBLEPOLYMER_HEADER_INCLUDED
22 #define OPM_SIMULATORFULLYIMPLICITCOMPRESSIBLEPOLYMER_HEADER_INCLUDED
24 #include <opm/core/utility/parameters/ParameterGroup.hpp>
25 #include <opm/common/ErrorMacros.hpp>
27 #include <opm/autodiff/GeoProps.hpp>
28 #include <opm/autodiff/BlackoilPropsAdInterface.hpp>
29 #include <opm/autodiff/WellStateFullyImplicitBlackoil.hpp>
30 #include <opm/autodiff/SimulatorBase.hpp>
34 #include <opm/core/grid.h>
35 #include <opm/core/wells.h>
36 #include <opm/core/pressure/flow_bc.h>
38 #include <opm/core/simulator/SimulatorReport.hpp>
39 #include <opm/core/simulator/SimulatorTimer.hpp>
40 #include <opm/core/utility/StopWatch.hpp>
41 #include <opm/core/io/eclipse/EclipseWriter.hpp>
42 #include <opm/core/io/vtk/writeVtkData.hpp>
43 #include <opm/core/utility/miscUtilities.hpp>
44 #include <opm/core/utility/miscUtilitiesBlackoil.hpp>
46 #include <opm/core/wells/WellsManager.hpp>
48 #include <opm/core/props/rock/RockCompressibility.hpp>
50 #include <opm/core/grid/ColumnExtract.hpp>
53 #include <opm/core/simulator/WellState.hpp>
54 #include <opm/core/transport/reorder/TransportSolverCompressibleTwophaseReorder.hpp>
56 #include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
57 #include <opm/parser/eclipse/EclipseState/Schedule/ScheduleEnums.hpp>
58 #include <opm/parser/eclipse/EclipseState/Schedule/Well.hpp>
59 #include <opm/parser/eclipse/EclipseState/Schedule/WellProductionProperties.hpp>
60 #include <opm/parser/eclipse/Deck/Deck.hpp>
61 #include <boost/filesystem.hpp>
62 #include <boost/scoped_ptr.hpp>
63 #include <boost/lexical_cast.hpp>
71 template <
class Gr
idT>
74 template <
class Gr
idT>
90 template <
class Gr
idT>
92 :
public SimulatorBase<SimulatorFullyImplicitCompressiblePolymer<GridT> >
95 typedef SimulatorBase<ThisType> BaseType;
96 typedef typename BaseType::Solver Solver;
102 const DerivedGeology& geo,
103 BlackoilPropsAdInterface& props,
105 const RockCompressibility* rock_comp_props,
106 std::shared_ptr<EclipseState> eclipse_state,
107 BlackoilOutputWriter& output_writer,
108 Opm::DeckConstPtr& deck,
109 NewtonIterationBlackoilInterface& linsolver,
110 const double* gravity);
112 std::unique_ptr<Solver>
createSolver(
const Wells* wells);
115 WellsManager& wells_manager,
116 typename BaseType::WellState& well_state,
119 Opm::DeckConstPtr deck_;
127 #endif // OPM_SIMULATORFULLYIMPLICITCOMPRESSIBLEPOLYMER_HEADER_INCLUDED
BlackoilOutputWriter OutputWriter
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:79
GridT Grid
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:80
Definition: CompressibleTpfaPolymer.hpp:32
PolymerBlackoilState ReservoirState
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:77
WellStateFullyImplicitBlackoilPolymer WellState
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:78
SimulatorFullyImplicitCompressiblePolymer(const parameter::ParameterGroup ¶m, const GridT &grid, const DerivedGeology &geo, BlackoilPropsAdInterface &props, const PolymerPropsAd &polymer_props, const RockCompressibility *rock_comp_props, std::shared_ptr< EclipseState > eclipse_state, BlackoilOutputWriter &output_writer, Opm::DeckConstPtr &deck, NewtonIterationBlackoilInterface &linsolver, const double *gravity)
Initialise from parameters and objects to observe.
Definition: SimulatorFullyImplicitCompressiblePolymer_impl.hpp:29
parameter::ParameterGroup ModelParameters
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:85
Class collecting all necessary components for a two-phase simulation.
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:72
std::unique_ptr< Solver > createSolver(const Wells *wells)
Definition: SimulatorFullyImplicitCompressiblePolymer_impl.hpp:60
Definition: WellStateFullyImplicitBlackoilPolymer.hpp:28
Definition: PolymerBlackoilState.hpp:33
Definition: PolymerPropsAd.hpp:32
Definition: FullyImplicitCompressiblePolymerSolver.hpp:53
void handleAdditionalWellInflow(SimulatorTimer &timer, WellsManager &wells_manager, typename BaseType::WellState &well_state, const Wells *wells)
Definition: SimulatorFullyImplicitCompressiblePolymer_impl.hpp:74
FullyImplicitCompressiblePolymerSolver Solver
Definition: SimulatorFullyImplicitCompressiblePolymer.hpp:81