50 PyBaseSimulator(
const std::string& deckFilename,
51 const std::vector<std::string>& args);
53 PyBaseSimulator(std::shared_ptr<Deck> deck,
54 std::shared_ptr<EclipseState> state,
55 std::shared_ptr<Schedule> schedule,
56 std::shared_ptr<SummaryConfig> summary_config,
57 const std::vector<std::string>& args);
59 void advance(
int report_step);
61 bool checkSimulationFinished();
66 getFluidStateVariable(
const std::string& name)
const;
68 py::array_t<double> getCellVolumes();
72 py::array_t<double> getPorosity();
74 py::array_t<double> getPrimaryVariable(
const std::string& variable)
const;
75 py::array_t<int> getPrimaryVarMeaning(
const std::string& variable)
const;
77 std::map<std::string, int>
78 getPrimaryVarMeaningMap(
const std::string& variable)
const;
82 using PyCArray = py::array_t<double, py::array::c_style | py::array::forcecast>;
84 void setPorosity(PyCArray array);
86 void setPrimaryVariable(
const std::string& idx_name,
89 void setupMpi(
bool init_mpi,
bool finalize_mpi);
95 FlowMain<TypeTag>& getFlowMain()
const;
99 const std::string deck_filename_{};
100 bool has_run_init_{
false};
101 bool has_run_cleanup_{
false};
102 bool mpi_init_{
true};
103 bool mpi_finalize_{
true};
109 std::unique_ptr<PyMain<TypeTag>> main_{};
110 std::unique_ptr<FlowMain<TypeTag>> flow_main_{};
111 Simulator* simulator_{
nullptr};
112 std::unique_ptr<PyFluidState<TypeTag>> fluid_state_{};
113 std::unique_ptr<PyMaterialState<TypeTag>> material_state_{};
114 std::shared_ptr<Deck> deck_{};
115 std::shared_ptr<EclipseState> eclipse_state_{};
116 std::shared_ptr<Schedule> schedule_{};
117 std::shared_ptr<SummaryConfig> summary_config_{};
118 std::vector<std::string> args_{};
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:233