Public Types |
Public Member Functions |
Static Public Attributes |
Protected Attributes |
Static Protected Attributes |
List of all members
Opm::BlackoilModel< TypeTag > Class Template Reference
Detailed Descriptiontemplate<class TypeTag> class Opm::BlackoilModel< TypeTag > A model implementation for three-phase black oil. The simulator is capable of handling three-phase problems where gas can be dissolved in oil and vice versa. It uses an industry-standard TPFA discretization with per-phase upwind weighting of mobilities. Member Typedef Documentation◆ BVector
template<class TypeTag >
◆ ComponentName
template<class TypeTag >
◆ ElementContext
template<class TypeTag >
◆ FluidSystem
template<class TypeTag >
◆ Grid
template<class TypeTag >
◆ Indices
template<class TypeTag >
◆ IntensiveQuantities
template<class TypeTag >
◆ Mat
template<class TypeTag >
◆ MaterialLaw
template<class TypeTag >
◆ MaterialLawParams
template<class TypeTag >
◆ MatrixBlockType
template<class TypeTag >
◆ ModelParameters
template<class TypeTag >
◆ PrimaryVariables
template<class TypeTag >
◆ Scalar
template<class TypeTag >
◆ Simulator
template<class TypeTag >
◆ SolutionVector
template<class TypeTag >
◆ SparseMatrixAdapter
template<class TypeTag >
◆ VectorBlockType
template<class TypeTag >
Constructor & Destructor Documentation◆ BlackoilModel()
template<class TypeTag >
Construct the model. It will retain references to the arguments of this functions, and they are expected to remain in scope for the lifetime of the solver.
References Opm::BlackoilModel< TypeTag >::convergence_reports_, Opm::detail::countGlobalCells(), Opm::BlackoilModel< TypeTag >::global_nc_, Opm::BlackoilModel< TypeTag >::grid_, Opm::BlackoilModel< TypeTag >::nlddSolver_, Opm::BlackoilModelParameters< Scalar >::nonlinear_solver_, and Opm::BlackoilModel< TypeTag >::param_. Member Function Documentation◆ afterStep()
template<class TypeTag >
Called once after each time step. In this class, this function does nothing.
References Opm::SimulatorReportSingle::pre_post_time. ◆ assembleReservoir()
template<class TypeTag >
Assemble the residual and Jacobian of the nonlinear system. ◆ beginReportStep()
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::simulator_. ◆ characteriseCnvPvSplit()
template<class TypeTag >
Compute pore-volume/cell count split among "converged", "relaxed converged", "unconverged" cells based on CNV point measures. References OPM_BEGIN_PARALLEL_TRY_CATCH, and OPM_END_PARALLEL_TRY_CATCH. ◆ compNames()
template<class TypeTag >
Returns const reference to component names. References Opm::BlackoilModel< TypeTag >::compNames_. ◆ computeFluidInPlace() [1/2]
template<class TypeTag >
Should not be called. ◆ computeFluidInPlace() [2/2]
template<class TypeTag >
template<class T >
Wrapper required due to not following generic API. References Opm::BlackoilModel< TypeTag >::computeFluidInPlace(). Referenced by Opm::BlackoilModel< TypeTag >::computeFluidInPlace(). ◆ convergenceReduction()
template<class TypeTag >
◆ domainAccumulatedReports()
template<class TypeTag >
return the statistics of local solves accumulated for each domain on this rank ◆ eclState()
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::simulator_. ◆ endReportStep()
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::simulator_. ◆ failureReport()
template<class TypeTag >
return the statistics if the nonlinearIteration() method failed References Opm::BlackoilModel< TypeTag >::failureReport_. ◆ getConvergence()
template<class TypeTag >
Compute convergence based on total mass balance (tol_mb) and maximum residual mass balance (tol_cnv).
References Opm::SimulatorTimerInterface::currentStepLength(), and Opm::SimulatorTimerInterface::simulationTimeElapsed(). ◆ getMaxCoeff()
template<class TypeTag >
template<class FluidState , class Residual >
◆ getReservoirConvergence()
template<class TypeTag >
References Opm::ConvergenceReport::setReservoirFailed(). ◆ hasNlddSolver()
template<class TypeTag >
Returns true if an NLDD solver exists. References Opm::BlackoilModel< TypeTag >::nlddSolver_. ◆ initialLinearization()
template<class TypeTag >
References Opm::SimulatorReportSingle::assemble_time, Opm::SimulatorReportSingle::converged, Opm::ConvergenceReport::ConvergenceMonitorFailure, Opm::ConvergenceReport::NotANumber, Opm::ConvergenceReport::TooLarge, Opm::SimulatorReportSingle::total_linearizations, and Opm::SimulatorReportSingle::update_time. ◆ isParallel()
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::grid_. ◆ linearIterationsLastSolve()
template<class TypeTag >
Number of linear iterations used in last call to solveJacobianSystem(). References Opm::BlackoilModel< TypeTag >::simulator_. ◆ linearSolveSetupTime()
template<class TypeTag >
◆ localAccumulatedReports()
template<class TypeTag >
return the statistics of local solves accumulated for this rank ◆ localConvergenceData()
template<class TypeTag >
Get reservoir quantities on this process needed for convergence calculations.
References OPM_BEGIN_PARALLEL_TRY_CATCH, and OPM_END_PARALLEL_TRY_CATCH. ◆ nonlinearIteration()
template<class TypeTag >
template<class NonlinearSolverType >
Called once per nonlinear iteration. This model will perform a Newton-Raphson update, changing reservoir_state and well_state. It will also use the nonlinear_solver to do relaxation of updates if necessary.
References Opm::SimulatorTimerInterface::currentStepNum(), and Opm::SimulatorTimerInterface::reportStepNum(). ◆ nonlinearIterationNewton()
template<class TypeTag >
template<class NonlinearSolverType >
References Opm::SimulatorReportSingle::converged, Opm::SimulatorReportSingle::linear_solve_setup_time, Opm::SimulatorReportSingle::linear_solve_time, Opm::to_string(), Opm::SimulatorReportSingle::total_linear_iterations, Opm::SimulatorReportSingle::total_newton_iterations, and Opm::SimulatorReportSingle::update_time. ◆ numPhases()
template<class TypeTag >
The number of active fluid phases in the model. References Opm::PhaseUsage::num_phases, and Opm::BlackoilModel< TypeTag >::phaseUsage_. ◆ param()
template<class TypeTag >
Returns const reference to model parameters. References Opm::BlackoilModel< TypeTag >::param_. ◆ prepareStep()
template<class TypeTag >
Called once before each time step.
References Opm::SimulatorTimerInterface::currentStepLength(), Opm::SimulatorTimerInterface::lastStepFailed(), Opm::SimulatorReportSingle::pre_post_time, Opm::SimulatorTimerInterface::reportStepNum(), and Opm::SimulatorTimerInterface::simulationTimeElapsed(). ◆ relativeChange()
template<class TypeTag >
◆ simulator() [1/2]
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::simulator_. ◆ simulator() [2/2]
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::simulator_. ◆ solveJacobianSystem()
template<class TypeTag >
Solve the Jacobian system Jx = r where J is the Jacobian and r is the residual. ◆ stepReports()
template<class TypeTag >
◆ terminalOutputEnabled()
template<class TypeTag >
Return true if output to cout is wanted. References Opm::BlackoilModel< TypeTag >::terminal_output_. ◆ updateSolution()
template<class TypeTag >
Apply an update to the primary variables. ◆ updateTUNING()
template<class TypeTag >
◆ wellModel() [1/2]
template<class TypeTag >
return the StandardWells object References Opm::BlackoilModel< TypeTag >::well_model_. Referenced by Opm::BlackoilModelNldd< TypeTag >::BlackoilModelNldd(). ◆ wellModel() [2/2]
template<class TypeTag >
References Opm::BlackoilModel< TypeTag >::well_model_. ◆ writeNonlinearIterationsPerCell()
template<class TypeTag >
Write the number of nonlinear iterations per cell to a file in ResInsight compatible format. ◆ writePartitions()
template<class TypeTag >
Member Data Documentation◆ biofilmConcentrationIdx
template<class TypeTag >
◆ calciteConcentrationIdx
template<class TypeTag >
◆ compNames_
template<class TypeTag >
Referenced by Opm::BlackoilModel< TypeTag >::compNames(). ◆ contiBiofilmEqIdx
template<class TypeTag >
◆ contiBrineEqIdx
template<class TypeTag >
◆ contiCalciteEqIdx
template<class TypeTag >
◆ contiEnergyEqIdx
template<class TypeTag >
◆ contiFoamEqIdx
template<class TypeTag >
◆ contiMicrobialEqIdx
template<class TypeTag >
◆ contiOxygenEqIdx
template<class TypeTag >
◆ contiPolymerEqIdx
template<class TypeTag >
◆ contiPolymerMWEqIdx
template<class TypeTag >
◆ contiSolventEqIdx
template<class TypeTag >
◆ contiUreaEqIdx
template<class TypeTag >
◆ contiZfracEqIdx
template<class TypeTag >
◆ conv_monitor_
template<class TypeTag >
◆ convergence_reports_
template<class TypeTag >
◆ current_relaxation_
template<class TypeTag >
◆ dx_old_
template<class TypeTag >
◆ failureReport_
template<class TypeTag >
Referenced by Opm::BlackoilModel< TypeTag >::failureReport(). ◆ foamConcentrationIdx
template<class TypeTag >
◆ global_nc_
template<class TypeTag >
The number of cells of the global grid. Referenced by Opm::BlackoilModel< TypeTag >::BlackoilModel(). ◆ grid_
template<class TypeTag >
◆ has_brine_
template<class TypeTag >
◆ has_energy_
template<class TypeTag >
◆ has_extbo_
template<class TypeTag >
◆ has_foam_
template<class TypeTag >
◆ has_micp_
template<class TypeTag >
◆ has_polymer_
template<class TypeTag >
◆ has_polymermw_
template<class TypeTag >
◆ has_solvent_
template<class TypeTag >
◆ microbialConcentrationIdx
template<class TypeTag >
◆ nlddSolver_
template<class TypeTag >
Non-linear DD solver. Referenced by Opm::BlackoilModel< TypeTag >::BlackoilModel(), and Opm::BlackoilModel< TypeTag >::hasNlddSolver(). ◆ numEq
template<class TypeTag >
◆ oxygenConcentrationIdx
template<class TypeTag >
◆ param_
template<class TypeTag >
Referenced by Opm::BlackoilModel< TypeTag >::BlackoilModel(), and Opm::BlackoilModel< TypeTag >::param(). ◆ phaseUsage_
template<class TypeTag >
Referenced by Opm::BlackoilModel< TypeTag >::numPhases(). ◆ polymerConcentrationIdx
template<class TypeTag >
◆ polymerMoleWeightIdx
template<class TypeTag >
◆ residual_norms_history_
template<class TypeTag >
◆ saltConcentrationIdx
template<class TypeTag >
◆ simulator_
template<class TypeTag >
◆ solventSaturationIdx
template<class TypeTag >
◆ temperatureIdx
template<class TypeTag >
◆ terminal_output_
template<class TypeTag >
Whether we print something to std::cout. Referenced by Opm::BlackoilModel< TypeTag >::terminalOutputEnabled(). ◆ ureaConcentrationIdx
template<class TypeTag >
◆ well_model_
template<class TypeTag >
Referenced by Opm::BlackoilModel< TypeTag >::wellModel(). ◆ zFractionIdx
template<class TypeTag >
The documentation for this class was generated from the following files: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||