opm-simulators
Opm::NonlinearSystemCompositional< TypeTag > Class Template Reference
Inheritance diagram for Opm::NonlinearSystemCompositional< TypeTag >:
Opm::NonlinearSystem< TypeTag >

Public Types

using ParentType = NonlinearSystem< TypeTag >
 
using Simulator = typename ParentType::Simulator
 
using Grid = typename ParentType::Grid
 
using FluidSystem = typename ParentType::FluidSystem
 
using Indices = typename ParentType::Indices
 
using Scalar = typename ParentType::Scalar
 
using ComponentName = typename ParentType::ComponentName
 
using SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter >
 
using ModelParameters = BlackoilModelParameters< Scalar >
 
using VectorBlockType = Dune::FieldVector< Scalar, numEq >
 
using BVector = Dune::BlockVector< VectorBlockType >
 
- Public Types inherited from Opm::NonlinearSystem< TypeTag >
using Simulator = GetPropType< TypeTag, Properties::Simulator >
 
using Grid = GetPropType< TypeTag, Properties::Grid >
 
using FluidSystem = GetPropType< TypeTag, Properties::FluidSystem >
 
using Indices = GetPropType< TypeTag, Properties::Indices >
 
using Scalar = GetPropType< TypeTag, Properties::Scalar >
 
using GlobalEqVector = GetPropType< TypeTag, Properties::GlobalEqVector >
 
using ModelParameters = BlackoilModelParameters< Scalar >
 
using WellModel = GetPropType< TypeTag, Properties::WellModel >
 
using ComponentName = ::Opm::ComponentName< FluidSystem, Indices >
 

Public Member Functions

 NonlinearSystemCompositional (Simulator &simulator, const ModelParameters &param, CompWellModel< TypeTag > &wellModel, bool terminalOutput)
 
SimulatorReportSingle prepareStep (const SimulatorTimerInterface &timer)
 
void initialLinearization (SimulatorReportSingle &report, int minIter, int maxIter, const SimulatorTimerInterface &timer) override
 
template<class NonlinearSolverType >
SimulatorReportSingle nonlinearIteration (const SimulatorTimerInterface &timer, NonlinearSolverType &nonlinearSolver)
 
template<class NonlinearSolverType >
SimulatorReportSingle nonlinearIterationNewton (const SimulatorTimerInterface &timer, NonlinearSolverType &nonlinearSolver)
 
Scalar relativeChange () const
 
int linearIterationsLastSolve () const
 
void solveJacobianSystem (BVector &x)
 
bool hasNlddSolver () const
 
const SimulatorReportlocalAccumulatedReports () const
 
const std::vector< SimulatorReport > & domainAccumulatedReports () const
 
void writeNonlinearIterationsPerCell (const std::filesystem::path &) const
 
template<class T >
std::vector< std::vector< Scalar > > computeFluidInPlace (const T &, const std::vector< int > &fipnum) const
 
std::vector< std::vector< Scalar > > computeFluidInPlace (const std::vector< int > &) const
 
void writePartitions (const std::filesystem::path &) const
 
- Public Member Functions inherited from Opm::NonlinearSystem< TypeTag >
bool isParallel () const
 
const Simulator & simulator () const
 
Simulator & simulator ()
 
bool terminalOutputEnabled () const
 
int numPhases () const
 
const SimulatorReportSinglefailureReport () const
 
const std::vector< StepReport > & stepReports () const
 
const ComponentNamecompNames () const
 
const ModelParametersparam () const
 
WellModel & wellModel ()
 
const WellModel & wellModel () const
 
void beginReportStep ()
 
void endReportStep ()
 
SimulatorReportSingle assembleReservoir (const SimulatorTimerInterface &timer)
 
void updateTUNING (const Tuning &tuning)
 
void updateTUNINGDP (const TuningDp &tuning_dp)
 
void updateSolution (const GlobalEqVector &dx)
 
template<class LogFailure >
void addReservoirConvergenceMetrics (ConvergenceReport &report, const int componentIdx, const std::string_view componentName, const std::span< const Scalar > residuals, const std::span< const ConvergenceReport::ReservoirFailure::Type > types, const std::span< const Scalar > tolerances, const Scalar maxResidualAllowed, LogFailure &&logFailure) const
 

Static Public Attributes

static constexpr int numEq = Indices::numEq
 

Additional Inherited Members

- Protected Member Functions inherited from Opm::NonlinearSystem< TypeTag >
 NonlinearSystem (Simulator &simulator, const ModelParameters &param, WellModel &wellModel, const bool terminal_output)
 
virtual bool shouldStoreSolutionUpdate () const
 
virtual void prepareSolutionUpdate ()
 
virtual void storeSolutionUpdate (const GlobalEqVector &)
 
SimulatorReportSingle prepareStep (const SimulatorTimerInterface &timer)
 
template<class WellModelType >
SimulatorReportSingle assembleReservoir (WellModelType &wellModel)
 
template<class ModelParametersType >
void applyTUNING (ModelParametersType &param, const Tuning &tuning)
 
template<class ModelParametersType >
void applyTUNINGDP (ModelParametersType &param, const TuningDp &tuning_dp)
 
template<class ValueType >
std::tuple< ValueType, ValueType > convergenceReduction (Parallel::Communication comm, const ValueType primaryVolumeLocal, const ValueType secondaryVolumeLocal, std::vector< ValueType > &sumValues, std::vector< ValueType > &maxValues, std::vector< ValueType > &averagedValues)
 
void popLastStepReport ()
 
- Protected Attributes inherited from Opm::NonlinearSystem< TypeTag >
Simulator & simulator_
 
const Grid & grid_
 
bool terminal_output_
 
ModelParameters param_
 
WellModel & well_model_
 
SimulatorReportSingle failureReport_
 
std::vector< StepReportconvergence_reports_
 
ComponentName compNames_ {}
 
std::vector< std::vector< Scalar > > residual_norms_history_
 
Scalar current_relaxation_
 
GlobalEqVector dx_old_
 

The documentation for this class was generated from the following files: