GEOS
Classes | Functions | Variables
Interface Functions

Classes

struct  geos::WellControls::viewKeyStruct
 Struct to serve as a container for variable strings and keys. More...
 
struct  geos::WellControls::groupKeyStruct
 Structure to hold scoped key names. More...
 

Functions

virtual void geos::CompositionalMultiphaseWell::initializeWell (DomainPartition &domain, Group &meshBodies, string const &meshBodyName, MeshLevel &mesh, WellElementSubRegion &subRegion, real64 const &time_n) override
 Initialize well for the beginning of a simulation or restart. More...
 
virtual void geos::CompositionalMultiphaseWell::initializeWellPostInitialConditionsPreSubGroups (WellElementSubRegion &subRegion) override
 
virtual bool geos::CompositionalMultiphaseWell::isCompositional () const override
 
virtual void geos::CompositionalMultiphaseWell::assembleWellAccumulationTerms (real64 const &time, real64 const &dt, WellElementSubRegion &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the accumulation term for an individual well More...
 
virtual void geos::CompositionalMultiphaseWell::assembleWellPressureRelations (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the well momentum terms for an individual well More...
 
virtual void geos::CompositionalMultiphaseWell::assembleWellConstraintTerms (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the well constraint terms for an individual well More...
 
virtual void geos::CompositionalMultiphaseWell::computeWellPerforationRates (real64 const &time_n, real64 const &GEOS_UNUSED_PARAM(dt), ElementRegionManager &elemManager, WellElementSubRegion &subRegion) override
 Recompute the perforation rates for all the wells. More...
 
virtual void geos::CompositionalMultiphaseWell::assembleWellFluxTerms (real64 const &time, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 
virtual void geos::SinglePhaseWell::initializeWell (DomainPartition &domain, Group &meshBodies, string const &meshBodyName, MeshLevel &mesh, WellElementSubRegion &subRegion, real64 const &time_n) override
 Initialize well for the beginning of a simulation or restart. More...
 
virtual void geos::SinglePhaseWell::initializeWellPostInitialConditionsPreSubGroups (WellElementSubRegion &subRegion) override
 
virtual bool geos::SinglePhaseWell::isCompositional () const override
 
virtual void geos::SinglePhaseWell::assembleWellAccumulationTerms (real64 const &time, real64 const &dt, WellElementSubRegion &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the accumulation term for an individual well More...
 
virtual void geos::SinglePhaseWell::assembleWellPressureRelations (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the well constraint terms for an individual well More...
 
virtual void geos::SinglePhaseWell::assembleWellConstraintTerms (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the well constraint terms for an individual well More...
 
virtual void geos::SinglePhaseWell::computeWellPerforationRates (real64 const &time_n, real64 const &GEOS_UNUSED_PARAM(dt), ElementRegionManager &elemManager, WellElementSubRegion &subRegion) override
 Recompute the perforation rates for all the wells. More...
 
virtual void geos::SinglePhaseWell::assembleWellFluxTerms (real64 const &time, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 
virtual void geos::WellControls::validateWellConstraints (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion)=0
 
virtual bool geos::WellControls::isCompositional () const =0
 
virtual void geos::WellControls::initializeWell (DomainPartition &domain, Group &meshBodies, string const &meshBodyName, MeshLevel &mesh, WellElementSubRegion &subRegion, real64 const &time_n)=0
 Initialize well for the beginning of a simulation or restart. More...
 
real64 geos::WellControls::setNextDt (real64 const &currentTime, real64 const &currentDt, WellElementSubRegion &subRegion)
 function to set the next time step size More...
 
virtual void geos::WellControls::implicitStepSetup (real64 const &time_n, real64 const &GEOS_UNUSED_PARAM(dt), DomainPartition &domain, string const &meshBodyName, ElementRegionManager &elemManager, WellElementSubRegion &subRegion)=0
 
virtual void geos::WellControls::implicitStepComplete (real64 const &time, real64 const &dt, WellElementSubRegion const &subRegion)=0
 
virtual real64 geos::WellControls::updateSubRegionState (real64 const time_n, MeshBody const &meshBody, ElementRegionManager const &elemManager, WellElementSubRegion &subRegion)=0
 
bool geos::WellControls::evaluateConstraints (real64 const &time_n, WellElementSubRegion &subRegion)
 Function to evaluate well constraints after applying the solution update. More...
 
bool geos::WellControls::evaluateConstraints (real64 const &time_n, real64 const &dt, integer const cycleNumber, integer const coupledIterationNumber, DomainPartition &domain, MeshLevel &mesh, ElementRegionManager &elemManager, WellElementSubRegion &subRegion, DofManager const &dofManager)
 Function to evaluate well constraints after applying the solution update. More...
 
void geos::WellControls::solveConstraint (WellConstraintBase *constraint, real64 const &time_n, real64 const &dt, integer const cycleNumber, integer const coupledIterationNumber, DomainPartition &domain, MeshLevel &mesh, ElementRegionManager &elemManager, WellElementSubRegion &subRegion, DofManager const &dofManager)
 
void geos::WellControls::assembleSystem (real64 const &time_n, real64 const &dt, integer const cycleNumber, ElementRegionManager &elemManager, WellElementSubRegion &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 
virtual void geos::WellControls::assembleWellAccumulationTerms (real64 const &time, real64 const &dt, WellElementSubRegion &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)=0
 assembles the accumulation term for an individual well More...
 
virtual void geos::WellControls::assembleWellPressureRelations (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)=0
 assembles the well momentum terms for an individual well More...
 
virtual void geos::WellControls::assembleWellConstraintTerms (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)=0
 assembles the well constraint terms for an individual well More...
 
virtual void geos::WellControls::computeWellPerforationRates (real64 const &time_n, real64 const &GEOS_UNUSED_PARAM(dt), ElementRegionManager &elemManager, WellElementSubRegion &subRegion)=0
 Recompute the perforation rates for all the wells. More...
 
virtual void geos::WellControls::assembleWellFluxTerms (real64 const &time, real64 const &dt, WellElementSubRegion const &subRegion, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)=0
 assembles the flux terms for individual well for all connections between well elements More...
 
virtual real64 geos::WellControls::calculateWellResidualNorm (real64 const &time_n, real64 const &dt, NonlinearSolverParameters const &nonlinearSolverParameters, WellElementSubRegion const &subRegion, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs)=0
 
virtual array1d< real64geos::WellControls::calculateLocalWellResidualNorm (real64 const &time_n, real64 const &dt, NonlinearSolverParameters const &nonlinearSolverParameters, WellElementSubRegion const &subRegion, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs)=0
 
virtual real64 geos::WellControls::scalingForWellSystemSolution (WellElementSubRegion &subRegion, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution)=0
 
virtual bool geos::WellControls::checkWellSystemSolution (WellElementSubRegion &subRegion, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 &minPressure, real64 &minDensity, real64 &minTotalDensity, ElementsReporterBuffer &negPressureIds, ElementsReporterBuffer &negDensityIds, ElementsReporterBuffer &negTotalDensityIds)=0
 
virtual void geos::WellControls::applyWellSystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain, MeshLevel &mesh, WellElementSubRegion &subRegion)=0
 
virtual void geos::WellControls::applyWellBoundaryConditions (real64 const time_n, real64 const dt, ElementRegionManager &elemManager, WellElementSubRegion &subRegion, DofManager const &dofManager, arrayView1d< real64 > const &localRhs, CRSMatrixView< real64, globalIndex const > const &localMatrix)=0
 
virtual real64 geos::WellControls::updateWellState (MeshBody const &meshBody, ElementRegionManager const &elemManager, WellElementSubRegion &subRegion)=0
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual void geos::WellControls::resetStateToBeginningOfStep (DomainPartition &domain, string const &meshBodyName, ElementRegionManager const &elemManager, WellElementSubRegion &subRegion)=0
 Reset the well state to the beginning of the time step. More...
 
virtual void geos::WellControls::postInputInitialization () override
 
virtual void geos::WellControls::initializePreSubGroups () override
 Called by Initialize() prior to initializing sub-Groups.
 
virtual void geos::WellControls::initializeWellPostInitialConditionsPreSubGroups (WellElementSubRegion &subRegion)=0
 
virtual void geos::WellControls::printRates (real64 const &time_n, real64 const &dt, WellElementSubRegion const &subRegion)=0
 
virtual string geos::WellControls::wellElementDofName () const =0
 
virtual string geos::WellControls::resElementDofName () const =0
 
localIndex geos::WellControls::numDofPerWellElement () const
 getter for the number of degrees of freedom per well element More...
 
localIndex geos::WellControls::numDofPerResElement () const
 getter for the number of degrees of freedom per mesh element More...
 
virtual localIndex geos::WellControls::numFluidComponents () const =0
 
virtual localIndex geos::WellControls::numFluidPhases () const =0
 
static constexpr char const * geos::WellControls::viewKeyStruct::fluidNamesString ()
 String key for the fluid model names.
 
static constexpr char const * geos::WellControls::viewKeyStruct::writeCSVFlagString ()
 String key for the write CSV flag.
 
static constexpr char const * geos::WellControls::viewKeyStruct::timeStepFromTablesFlagString ()
 
static constexpr char const * geos::WellControls::viewKeyStruct::targetRegionsString ()
 String for the targetRegions wrapper.
 
static constexpr char const * geos::WellControls::viewKeyStruct::refElevString ()
 String key for the well reference elevation (for BHP control)
 
static constexpr char const * geos::WellControls::viewKeyStruct::typeString ()
 String key for the well type.
 
static constexpr char const * geos::WellControls::viewKeyStruct::currentControlString ()
 String key for the well current control.
 
static constexpr char const * geos::WellControls::viewKeyStruct::inputControlString ()
 String key for the well input control.
 
static constexpr char const * geos::WellControls::viewKeyStruct::useSurfaceConditionsString ()
 String key for checking the rates at surface conditions.
 
static constexpr char const * geos::WellControls::viewKeyStruct::referenceReservoirRegionString ()
 String key for reference reservoir region.
 
static constexpr char const * geos::WellControls::viewKeyStruct::surfacePressureString ()
 String key for the surface pressure.
 
static constexpr char const * geos::WellControls::viewKeyStruct::surfaceTemperatureString ()
 String key for the surface temperature.
 
static constexpr char const * geos::WellControls::viewKeyStruct::statusTableNameString ()
 string key for status table name
 
static constexpr char const * geos::WellControls::viewKeyStruct::perfStatusTableNameString ()
 string key for perforation status table name
 
static constexpr char const * geos::WellControls::viewKeyStruct::enableCrossflowString ()
 string key for the crossflow flag
 
static constexpr char const * geos::WellControls::viewKeyStruct::initialPressureCoefficientString ()
 string key for the initial pressure coefficient
 
static constexpr char const * geos::WellControls::viewKeyStruct::estimateWellSolutionString ()
 string key for the estimate well solution flag
 
static constexpr char const * geos::WellControls::viewKeyStruct::enableIsoThermalEstimatorString ()
 string key for the enable iso thermal estimator flag
 
static constexpr char const * geos::WellControls::viewKeyStruct::massDensityString ()
 
static constexpr char const * geos::WellControls::viewKeyStruct::currentBHPString ()
 
static constexpr char const * geos::WellControls::viewKeyStruct::currentPhaseVolRateString ()
 
static constexpr char const * geos::WellControls::viewKeyStruct::currentVolRateString ()
 
static constexpr char const * geos::WellControls::viewKeyStruct::currentTotalVolRateString ()
 
static constexpr char const * geos::WellControls::viewKeyStruct::currentMassRateString ()
 
static constexpr char const * geos::WellControls::groupKeyStruct::wellNewtonSolverString ()
 string key for the well Newton solver
 
void geos::WellControls::setPerforationStatus (real64 const &time_n, WellElementSubRegion &subRegion)
 
void geos::WellControls::setGravCoef (WellElementSubRegion &subRegion, R1Tensor const &gravVector)
 
static void geos::WellControls::setNextDtFromTable (TableFunction const *table, real64 const currentTime, real64 &nextDt)
 Set next time step based on a table function. More...
 
template<typename ConstraintType >
void geos::WellControls::createConstraint (string const &constraintName)
 Create a constraint. More...
 
WellConstraintBase const * geos::WellControls::getBHPConstraint (const ConstraintSourceId source=ConstraintSourceId::USER) const
 Gets the defined BHP constraint. More...
 
WellConstraintBasegeos::WellControls::getBHPConstraint (const ConstraintSourceId source=ConstraintSourceId::USER)
 
stdVector< WellConstraintBase const * > geos::WellControls::getRateConstraints () const
 Gets a list of rate constraints. More...
 
stdVector< WellConstraintBase * > geos::WellControls::getRateConstraints ()
 
stdVector< WellConstraintBase const * > geos::WellControls::getAllConstraints () const
 Gets a list of all constraints constraints. More...
 
stdVector< WellConstraintBase * > geos::WellControls::getAllConstraints ()
 
void geos::WellControls::enableThermalEffects (bool enable)
 Set thermal effects enable. More...
 
bool geos::WellControls::thermalEffectsEnabled () const
 Are thermal effects enabled. More...
 
bool geos::WellControls::isoThermalEstimatorEnabled () const
 Is isoThermalEstimator enabled. More...
 
void geos::WellControls::setupWellDofs (DomainPartition &domain, WellElementRegion &wellElementRegion, string const &meshBodyName, MeshLevel const &meshLevel)
 
WellNewtonSolvergeos::WellControls::getWellNewtonSolver ()
 
void geos::WellControls::selectWellConstraint (real64 const &time_n, real64 const &dt, integer const cycleNumber, integer const coupledIterationNumber, DomainPartition &domain, string const &meshBodyName, MeshLevel &mesh, ElementRegionManager &elemManager, WellElementSubRegion &subRegion, DofManager const &dofManager)
 
virtual void geos::WellControls::postRestartInitialization () override
 Performs initialization required after reading from a restart file.
 
void geos::WellControls::logConstraint (WellConstraintBase const *constraint, WellElementSubRegion const &region, real64 time, bool isLimiting=false) const
 Logs the state and values of a specific well constraint. More...
 
bool geos::WellControls::validateReferenceRegion () const
 Validates the reference region. More...
 

Variables

Type geos::WellControls::m_type
 Well type (as Type enum)
 
std::string geos::WellControls::m_flowSolverName
 Name of the flow solver managing this well.
 
std::string geos::WellControls::m_discretizationName
 Name of the discretization for the region.
 
integer geos::WellControls::m_useMass
 flag indicating whether mass or molar formulation should be used
 
integer geos::WellControls::m_numPhases
 the max number of fluid phases
 
integer geos::WellControls::m_numComponents
 the number of fluid components
 
integer geos::WellControls::m_numDofPerWellElement
 the number of Degrees of Freedom per well element
 
integer geos::WellControls::m_numDofPerResElement
 the number of Degrees of Freedom per reservoir element
 
integer geos::WellControls::m_isThermal
 flag indicating whether thermal formulation is used
 
bool geos::WellControls::m_keepVariablesConstantDuringInitStep
 flag to freeze the initial state during initialization in coupled problems
 
integer geos::WellControls::m_writeCSV
 rates output
 
string const geos::WellControls::m_ratesOutputDir
 
integer geos::WellControls::m_timeStepFromTables
 
real64 geos::WellControls::m_refElevation
 Reference elevation.
 
real64 geos::WellControls::m_refGravCoef
 Gravity coefficient of the reference elevation.
 
ConstraintTypeId geos::WellControls::m_inputControl
 Input well controls as a Control enum.
 
ConstraintTypeId geos::WellControls::m_currentControl
 Well controls as a Control enum.
 
integer geos::WellControls::m_useSurfaceConditions
 Flag to decide whether rates are controlled at rates or surface conditions.
 
std::unique_ptr< constitutive::ConstitutiveBase > geos::WellControls::m_fluidSeparatorPtr
 
string geos::WellControls::m_referenceFluidModelName
 name of the fluid constitutive model used as a reference for component/phase description on subregion
 
string geos::WellControls::m_referenceReservoirRegion
 Reservoir region associated with reservoir volume constraint.
 
real64 geos::WellControls::m_surfacePres
 Surface pressure.
 
real64 geos::WellControls::m_surfaceTemp
 Surface temperature.
 
string geos::WellControls::m_perfStatusTableName
 Perforation status table name.
 
integer geos::WellControls::m_isCrossflowEnabled
 Flag to enable crossflow.
 
real64 geos::WellControls::m_initialPressureCoefficient
 Tuning coefficient for the initial well pressure.
 
WellConstraintBasegeos::WellControls::m_currentConstraint {}
 
WellControls::Status geos::WellControls::m_wellStatus
 Well status.
 
bool geos::WellControls::m_wellOpen
 Well open flag.
 
string geos::WellControls::m_statusTableName
 Well status table name.
 
TableFunction const * geos::WellControls::m_statusTable
 Status table.
 
real64 geos::WellControls::m_regionAveragePressure
 Region average pressure used in volume rate constraint calculations.
 
real64 geos::WellControls::m_regionAverageTemperature
 Region average temperature used in volume rate constraint calculations.
 
integer geos::WellControls::m_estimateSolution
 
integer geos::WellControls::m_enableIsoThermalEstimator
 
bool geos::WellControls::m_thermalEffectsEnabled
 
WellNewtonSolver geos::WellControls::m_wellNewtonSolver
 
DofManager geos::WellControls::m_estimatorDoFManager
 Well DofManager. More...
 
bool geos::WellControls::m_dofManagerInitialized
 

Getters / Setters

template<typename CONSTITUTIVE_BASE_TYPE >
static string geos::WellControls::getConstitutiveName (ElementSubRegionBase const &subRegion)
 Get the Constitutive Name object. More...
 
template<typename CONSTITUTIVE >
void geos::WellControls::setConstitutiveName (ElementSubRegionBase &subRegion, string const &wrapperName, string const &constitutiveType) const
 Register wrapper with given name and store constitutive model name on the subregion. More...
 
string_array const & geos::WellControls::getTargetRegionNames () const
 return the list of target regions More...
 
std::string geos::WellControls::getFlowSolverName () const
 Get the control type for the well. More...
 
void geos::WellControls::setFlowSolverName (const std::string &flowSolverName)
 Set the control type for the well. More...
 
std::string geos::WellControls::getDiscretizationName () const
 return the name of the discretization object More...
 
void geos::WellControls::setDiscretizationName (const std::string &discretizationName)
 set the name of the discretization object More...
 
ConstraintTypeId geos::WellControls::getControl () const
 Get the control type for the well. More...
 
void geos::WellControls::setControl (ConstraintTypeId const &newControl)
 Set the control type for the well. More...
 
ConstraintTypeId geos::WellControls::getInputControl () const
 Get the input control type for the well. More...
 
integer geos::WellControls::estimateSolution () const
 getter for esitmator switch More...
 
real64 geos::WellControls::getTargetBHP (real64 const &targetTime, const ConstraintSourceId source=ConstraintSourceId::USER) const
 Returns the target bottom hole pressure value. More...
 
real64 geos::WellControls::getInjectionTemperature () const
 Const accessor for the temperature of the injection stream. More...
 
arrayView1d< real64 const > geos::WellControls::getInjectionStream () const
 Const accessor for the injection stream. More...
 
integer geos::WellControls::getConstraintPhaseIndex () const
 Const accessor for the phase constraint index. More...
 
real64 geos::WellControls::getReferenceElevation () const
 Return the reference elvation where pressure constraint is measured. More...
 
integer geos::WellControls::useSurfaceConditions () const
 Getter for the flag specifying whether we check rates at surface or reservoir conditions. More...
 
string const & geos::WellControls::referenceReservoirRegion () const
 Getter for the reservoir region associated with reservoir volume constraint. More...
 
const real64geos::WellControls::getSurfacePressure () const
 Getter for the surface pressure when m_useSurfaceConditions == 1. More...
 
const real64geos::WellControls::getSurfaceTemperature () const
 Getter for the surface temperature when m_useSurfaceConditions == 1. More...
 
bool geos::WellControls::isInjector () const
 Is the well an injector? More...
 
bool geos::WellControls::isProducer () const
 Is the well a producer? More...
 
integer geos::WellControls::isThermal () const
 getter for iso/thermal switch More...
 
void geos::WellControls::setThermal (bool isThermal)
 setter for iso/thermal switch More...
 
void geos::WellControls::setUseMass (integer useMass)
 setter to activate mass formulation More...
 
integer geos::WellControls::useMass ()
 is useMass option active More...
 
bool geos::WellControls::isWellOpen () const
 Is the well open (or shut) at currentTime, status initalized in WellSolverBase::implicitStepSetup. More...
 
void geos::WellControls::setWellState (bool open)
 Set the well state. More...
 
bool geos::WellControls::getWellState () const
 Get the well state. More...
 
void geos::WellControls::setCurrentConstraint (WellConstraintBase *currentConstraint)
 Set the current consrtaint. More...
 
WellConstraintBasegeos::WellControls::getCurrentConstraint ()
 Get the current consrtaint. More...
 
WellConstraintBase const * geos::WellControls::getCurrentConstraint () const
 
bool geos::WellControls::isCrossflowEnabled () const
 Getter for the flag to enable crossflow. More...
 
real64 geos::WellControls::getInitialPressureCoefficient () const
 Getter for the initial pressure coefficient. More...
 
void geos::WellControls::setNextDtFromTables (real64 const &currentTime, real64 &nextDt)
 set next time step based on tables intervals More...
 
void geos::WellControls::setKeepVariablesConstantDuringInitStep (bool const keepVariablesConstantDuringInitStep)
 Utility function to keep the well variables during a time step (used in poromechanics simulations) More...
 
void geos::WellControls::setFluidSeparator (std::unique_ptr< constitutive::ConstitutiveBase > fluidSeparatorPtr)
 setter for multi fluid separator More...
 
constitutive::MultiFluidBase & geos::WellControls::getMultiFluidSeparator ()
 Getter for multi fluid separator. More...
 
constitutive::SingleFluidBase & geos::WellControls::getSingleFluidSeparator ()
 Getter for single fluid separator. More...
 
real64 geos::WellControls::getRegionAveragePressure () const
 Getter for the reservoir average pressure when m_useSurfaceConditions == 0. More...
 
void geos::WellControls::setRegionAveragePressure (real64 regionAveragePressure)
 Set the reservoir average pressure when m_useSurfaceConditions == 0. More...
 
real64 geos::WellControls::getRegionAverageTemperature () const
 Getter for the reservoir average temperature when m_useSurfaceConditions == 0. More...
 
void geos::WellControls::setRegionAverageTemperature (real64 regionAverageTemperature)
 Set the reservoir average temperature when m_useSurfaceConditions == 0. More...
 
void geos::WellControls::setWellStatus (real64 const &currentTime, WellControls::Status status)
 Set well status from time and internal action, eg. all perfs closed. More...
 
WellControls::Status geos::WellControls::getWellStatus () const
 Is the well open (or shut) based on internal action. More...
 

Detailed Description

These functions provide the primary interface that is required for derived classes The "Well" versions apply to individual well subRegions, whereas the others apply to all wells

Function Documentation

◆ assembleWellAccumulationTerms() [1/3]

virtual void geos::CompositionalMultiphaseWell::assembleWellAccumulationTerms ( real64 const &  time,
real64 const &  dt,
WellElementSubRegion subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the accumulation term for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::WellControls.

◆ assembleWellAccumulationTerms() [2/3]

virtual void geos::SinglePhaseWell::assembleWellAccumulationTerms ( real64 const &  time,
real64 const &  dt,
WellElementSubRegion subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the accumulation term for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::WellControls.

◆ assembleWellAccumulationTerms() [3/3]

virtual void geos::WellControls::assembleWellAccumulationTerms ( real64 const &  time,
real64 const &  dt,
WellElementSubRegion subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
pure virtual

assembles the accumulation term for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ assembleWellConstraintTerms() [1/3]

virtual void geos::CompositionalMultiphaseWell::assembleWellConstraintTerms ( real64 const &  time_n,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the well constraint terms for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::WellControls.

◆ assembleWellConstraintTerms() [2/3]

virtual void geos::SinglePhaseWell::assembleWellConstraintTerms ( real64 const &  time_n,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the well constraint terms for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::WellControls.

◆ assembleWellConstraintTerms() [3/3]

virtual void geos::WellControls::assembleWellConstraintTerms ( real64 const &  time_n,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
pure virtual

assembles the well constraint terms for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ assembleWellFluxTerms() [1/3]

virtual void geos::CompositionalMultiphaseWell::assembleWellFluxTerms ( real64 const &  time,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

Implements geos::WellControls.

◆ assembleWellFluxTerms() [2/3]

virtual void geos::SinglePhaseWell::assembleWellFluxTerms ( real64 const &  time,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

Implements geos::WellControls.

◆ assembleWellFluxTerms() [3/3]

virtual void geos::WellControls::assembleWellFluxTerms ( real64 const &  time,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
pure virtual

assembles the flux terms for individual well for all connections between well elements

Parameters
time_nprevious time value
dttime step
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ assembleWellPressureRelations() [1/3]

virtual void geos::CompositionalMultiphaseWell::assembleWellPressureRelations ( real64 const &  time_n,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the well momentum terms for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::WellControls.

◆ assembleWellPressureRelations() [2/3]

virtual void geos::SinglePhaseWell::assembleWellPressureRelations ( real64 const &  time_n,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the well constraint terms for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::WellControls.

◆ assembleWellPressureRelations() [3/3]

virtual void geos::WellControls::assembleWellPressureRelations ( real64 const &  time_n,
real64 const &  dt,
WellElementSubRegion const &  subRegion,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
pure virtual

assembles the well momentum terms for an individual well

Parameters
time_ntime at the beginning of the time step
dtthe time step size
subRegionthe well subregion containing all the primary and dependent fields
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ computeWellPerforationRates() [1/3]

virtual void geos::CompositionalMultiphaseWell::computeWellPerforationRates ( real64 const &  time_n,
real64 const &  GEOS_UNUSED_PARAMdt,
ElementRegionManager elemManager,
WellElementSubRegion subRegion 
)
overridevirtual

Recompute the perforation rates for all the wells.

Parameters
time_nthe time at the beginning of the time step
dtthe time step size
elemManagerthe element region manager
subRegionthe well subregion containing all the primary and dependent fields

Implements geos::WellControls.

◆ computeWellPerforationRates() [2/3]

virtual void geos::SinglePhaseWell::computeWellPerforationRates ( real64 const &  time_n,
real64 const &  GEOS_UNUSED_PARAMdt,
ElementRegionManager elemManager,
WellElementSubRegion subRegion 
)
overridevirtual

Recompute the perforation rates for all the wells.

Parameters
time_nthe time at the beginning of the time step
dtthe time step size
elemManagerthe element region manager
subRegionthe well subregion containing all the primary and dependent fields

Implements geos::WellControls.

◆ computeWellPerforationRates() [3/3]

virtual void geos::WellControls::computeWellPerforationRates ( real64 const &  time_n,
real64 const &  GEOS_UNUSED_PARAMdt,
ElementRegionManager elemManager,
WellElementSubRegion subRegion 
)
pure virtual

Recompute the perforation rates for all the wells.

Parameters
time_nthe time at the beginning of the time step
dtthe time step size
elemManagerthe element region manager
subRegionthe well subregion containing all the primary and dependent fields

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ createConstraint()

template<typename ConstraintType >
void geos::WellControls::createConstraint ( string const &  constraintName)

Create a constraint.

Template Parameters
ConstraintTypethe type of constraint to create
Parameters
[in]constraintNamename to assign to the constraint

◆ enableThermalEffects()

void geos::WellControls::enableThermalEffects ( bool  enable)
inline

Set thermal effects enable.

Parameters
[in]true/false

Definition at line 815 of file WellControls.hpp.

◆ estimateSolution()

integer geos::WellControls::estimateSolution ( ) const
inline

getter for esitmator switch

Returns
True if estimate well solution

Definition at line 460 of file WellControls.hpp.

◆ evaluateConstraints() [1/2]

bool geos::WellControls::evaluateConstraints ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
integer const  coupledIterationNumber,
DomainPartition domain,
MeshLevel mesh,
ElementRegionManager elemManager,
WellElementSubRegion subRegion,
DofManager const &  dofManager 
)

Function to evaluate well constraints after applying the solution update.

Parameters
time_nthe time at the beginning of the time step
subRegionthe well subRegion
Returns
true if all constraints are satisfied, false otherwise

◆ evaluateConstraints() [2/2]

bool geos::WellControls::evaluateConstraints ( real64 const &  time_n,
WellElementSubRegion subRegion 
)

Function to evaluate well constraints after applying the solution update.

Parameters
time_nthe time at the beginning of the time step
subRegionthe well subRegion
Returns
true if all constraints are satisfied, false otherwise

◆ getAllConstraints()

stdVector< WellConstraintBase const * > geos::WellControls::getAllConstraints ( ) const

Gets a list of all constraints constraints.

Returns a list of all constraints for the WellControl including rate and BHP constraints.

◆ getBHPConstraint()

WellConstraintBase const* geos::WellControls::getBHPConstraint ( const ConstraintSourceId  source = ConstraintSourceId::USER) const

Gets the defined BHP constraint.

Returns the BHP constraint if one is defined for the WellControl. For a producer well this will be a minimum BHP constraint and for an injector well this will be a maximum BHP constraint. This will possibly return null if no BHP constraint is set. Validation is in place to enforce the setting of at least one BHp constraint.

Returns
A BHP constraint object of one is defined

◆ getConstitutiveName()

template<typename CONSTITUTIVE_BASE_TYPE >
string geos::WellControls::getConstitutiveName ( ElementSubRegionBase const &  subRegion)
static

Get the Constitutive Name object.

Template Parameters
CONSTITUTIVE_BASE_TYPEthe base type of the constitutive model.
Parameters
subRegionthe element subregion on which the constitutive model is registered
Returns
the name name of the constitutive model of type CONSTITUTIVE_BASE_TYPE registered on the subregion.

Definition at line 1041 of file WellControls.hpp.

◆ getConstraintPhaseIndex()

integer geos::WellControls::getConstraintPhaseIndex ( ) const

Const accessor for the phase constraint index.

Returns
phase index associated with phase constraint

◆ getControl()

ConstraintTypeId geos::WellControls::getControl ( ) const
inline

Get the control type for the well.

Returns
the Control enum enforced at the well

Definition at line 442 of file WellControls.hpp.

◆ getCurrentConstraint()

WellConstraintBase* geos::WellControls::getCurrentConstraint ( )
inline

Get the current consrtaint.

Returns
pointer to constraint

Definition at line 587 of file WellControls.hpp.

◆ getDiscretizationName()

std::string geos::WellControls::getDiscretizationName ( ) const
inline

return the name of the discretization object

Returns
the name of the discretization object

Definition at line 431 of file WellControls.hpp.

◆ getFlowSolverName()

std::string geos::WellControls::getFlowSolverName ( ) const
inline

Get the control type for the well.

Returns
the Control enum enforced at the well

Definition at line 419 of file WellControls.hpp.

◆ getInitialPressureCoefficient()

real64 geos::WellControls::getInitialPressureCoefficient ( ) const
inline

Getter for the initial pressure coefficient.

Returns
the initial pressure coefficient

Definition at line 600 of file WellControls.hpp.

◆ getInjectionStream()

arrayView1d< real64 const > geos::WellControls::getInjectionStream ( ) const

Const accessor for the injection stream.

Returns
the injection stream

◆ getInjectionTemperature()

real64 geos::WellControls::getInjectionTemperature ( ) const

Const accessor for the temperature of the injection stream.

Returns
the temperature of the injection stream

◆ getInputControl()

ConstraintTypeId geos::WellControls::getInputControl ( ) const
inline

Get the input control type for the well.

Returns
the Control enum enforced at the well

Definition at line 454 of file WellControls.hpp.

◆ getMultiFluidSeparator()

constitutive::MultiFluidBase& geos::WellControls::getMultiFluidSeparator ( )
inline

Getter for multi fluid separator.

Returns
reference to separator

Definition at line 628 of file WellControls.hpp.

◆ getRateConstraints()

stdVector< WellConstraintBase const * > geos::WellControls::getRateConstraints ( ) const

Gets a list of rate constraints.

Returns a list of rate constraints for the WellControl. For a producer well these will be a production rate constraints ProductionConstraint<T> and for an injector well these will be injection rate constraints InjectionConstraint<T>.

◆ getReferenceElevation()

real64 geos::WellControls::getReferenceElevation ( ) const

Return the reference elvation where pressure constraint is measured.

Returns
vertical location of constraint

◆ getRegionAveragePressure()

real64 geos::WellControls::getRegionAveragePressure ( ) const
inline

Getter for the reservoir average pressure when m_useSurfaceConditions == 0.

Note
When not available, value is less or equal to 0.0.
Returns
the pressure

Definition at line 641 of file WellControls.hpp.

◆ getRegionAverageTemperature()

real64 geos::WellControls::getRegionAverageTemperature ( ) const
inline

Getter for the reservoir average temperature when m_useSurfaceConditions == 0.

Returns
the temperature

Definition at line 654 of file WellControls.hpp.

◆ getSingleFluidSeparator()

constitutive::SingleFluidBase& geos::WellControls::getSingleFluidSeparator ( )
inline

Getter for single fluid separator.

Returns
reference to separator

Definition at line 634 of file WellControls.hpp.

◆ getSurfacePressure()

const real64& geos::WellControls::getSurfacePressure ( ) const
inline

Getter for the surface pressure when m_useSurfaceConditions == 1.

Returns
the surface pressure

Definition at line 510 of file WellControls.hpp.

◆ getSurfaceTemperature()

const real64& geos::WellControls::getSurfaceTemperature ( ) const
inline

Getter for the surface temperature when m_useSurfaceConditions == 1.

Returns
the surface temperature

Definition at line 516 of file WellControls.hpp.

◆ getTargetBHP()

real64 geos::WellControls::getTargetBHP ( real64 const &  targetTime,
const ConstraintSourceId  source = ConstraintSourceId::USER 
) const

Returns the target bottom hole pressure value.

Parameters
[in]targetTimetime at which to evaluate the constraint
Returns
the injector maximum bottom hole pressure or producer minimum bottom hole pressure

◆ getTargetRegionNames()

string_array const& geos::WellControls::getTargetRegionNames ( ) const
inline

return the list of target regions

Returns
the array of region names

Definition at line 414 of file WellControls.hpp.

◆ getWellState()

bool geos::WellControls::getWellState ( ) const

Get the well state.

Returns
a boolean

◆ getWellStatus()

WellControls::Status geos::WellControls::getWellStatus ( ) const
inline

Is the well open (or shut) based on internal action.

Returns
a Status

Definition at line 673 of file WellControls.hpp.

◆ initializeWell() [1/3]

virtual void geos::CompositionalMultiphaseWell::initializeWell ( DomainPartition domain,
Group meshBodies,
string const &  meshBodyName,
MeshLevel mesh,
WellElementSubRegion subRegion,
real64 const &  time_n 
)
overridevirtual

Initialize well for the beginning of a simulation or restart.

*

Parameters
domainthe domain
meshthe mesh level
subRegionthe well subRegion

Implements geos::WellControls.

◆ initializeWell() [2/3]

virtual void geos::SinglePhaseWell::initializeWell ( DomainPartition domain,
Group meshBodies,
string const &  meshBodyName,
MeshLevel mesh,
WellElementSubRegion subRegion,
real64 const &  time_n 
)
overridevirtual

Initialize well for the beginning of a simulation or restart.

*

Parameters
domainthe domain
meshthe mesh level
subRegionthe well subRegion
time_nthe current time

Implements geos::WellControls.

◆ initializeWell() [3/3]

virtual void geos::WellControls::initializeWell ( DomainPartition domain,
Group meshBodies,
string const &  meshBodyName,
MeshLevel mesh,
WellElementSubRegion subRegion,
real64 const &  time_n 
)
pure virtual

Initialize well for the beginning of a simulation or restart.

Parameters
domainthe domain
meshBodies
meshthe mesh level
subRegionthe well subRegion
time_nthe current time

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ isCrossflowEnabled()

bool geos::WellControls::isCrossflowEnabled ( ) const
inline

Getter for the flag to enable crossflow.

Returns
the flag deciding whether crossflow is allowed or not

Definition at line 594 of file WellControls.hpp.

◆ isInjector()

bool geos::WellControls::isInjector ( ) const
inline

Is the well an injector?

Returns
a boolean

Definition at line 522 of file WellControls.hpp.

◆ isoThermalEstimatorEnabled()

bool geos::WellControls::isoThermalEstimatorEnabled ( ) const
inline

Is isoThermalEstimator enabled.

Returns
true if isoThermalEstimator is enabled, false otherwise

Definition at line 827 of file WellControls.hpp.

◆ isProducer()

bool geos::WellControls::isProducer ( ) const
inline

Is the well a producer?

Returns
a boolean

Definition at line 528 of file WellControls.hpp.

◆ isThermal()

integer geos::WellControls::isThermal ( ) const
inline

getter for iso/thermal switch

Returns
True if thermal

Definition at line 534 of file WellControls.hpp.

◆ isWellOpen()

bool geos::WellControls::isWellOpen ( ) const

Is the well open (or shut) at currentTime, status initalized in WellSolverBase::implicitStepSetup.

Returns
a boolean

◆ logConstraint()

void geos::WellControls::logConstraint ( WellConstraintBase const *  constraint,
WellElementSubRegion const &  region,
real64  time,
bool  isLimiting = false 
) const
protected

Logs the state and values of a specific well constraint.

This method evaluates whether the provided constraint requires logging based on its validity, the current log level being strictly greater than 4, and the region being locally owned. When the constraint is flagged as the limiting constraint, it logs extensive operational data such as the bottom hole pressure, individual phase volume rates, the total volume rate, and the mass rate. Otherwise, it logs general information, specifically whether the constraint is active and its target value at the current time.

Parameters
constraintPointer to the base constraint object to evaluate and log.
regionReference to the well element sub-region associated with it.
timeThe current simulation time used to get the constraint value.
isLimitingBoolean indicating if this is the active limiting constraint.

◆ numDofPerResElement()

localIndex geos::WellControls::numDofPerResElement ( ) const
inline

getter for the number of degrees of freedom per mesh element

Returns
the number of dofs

Definition at line 690 of file WellControls.hpp.

◆ numDofPerWellElement()

localIndex geos::WellControls::numDofPerWellElement ( ) const
inline

getter for the number of degrees of freedom per well element

Returns
the number of dofs

Definition at line 684 of file WellControls.hpp.

◆ postInputInitialization()

virtual void geos::WellControls::postInputInitialization ( )
overridevirtual

This function provides capability to post process input values prior to any other initialization operations.

Reimplemented from geos::dataRepository::Group.

Reimplemented in geos::WellSolverBase, and geos::CompositionalMultiphaseWell.

◆ referenceReservoirRegion()

string const& geos::WellControls::referenceReservoirRegion ( ) const
inline

Getter for the reservoir region associated with reservoir volume constraint.

Returns
name of reservoir region

Definition at line 504 of file WellControls.hpp.

◆ resetStateToBeginningOfStep()

virtual void geos::WellControls::resetStateToBeginningOfStep ( DomainPartition domain,
string const &  meshBodyName,
ElementRegionManager const &  elemManager,
WellElementSubRegion subRegion 
)
pure virtual

Reset the well state to the beginning of the time step.

Parameters
subRegionthe well subregion containing all the primary and dependent fields

Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ setConstitutiveName()

template<typename CONSTITUTIVE >
void geos::WellControls::setConstitutiveName ( ElementSubRegionBase subRegion,
string const &  wrapperName,
string const &  constitutiveType 
) const

Register wrapper with given name and store constitutive model name on the subregion.

Template Parameters
CONSTITUTIVEthe base type of the constitutive model.
Parameters
subRegionthe subregion on which the constitutive model is registered.
wrapperNamethe wrapper name to register.
constitutiveTypethe type description of the constitutive model.

Definition at line 1028 of file WellControls.hpp.

◆ setControl()

void geos::WellControls::setControl ( ConstraintTypeId const &  newControl)
inline

Set the control type for the well.

Parameters
[in]newControltype

Definition at line 448 of file WellControls.hpp.

◆ setCurrentConstraint()

void geos::WellControls::setCurrentConstraint ( WellConstraintBase currentConstraint)
inline

Set the current consrtaint.

Parameters
[in]currentConstraintpointer to constraint

Definition at line 578 of file WellControls.hpp.

◆ setDiscretizationName()

void geos::WellControls::setDiscretizationName ( const std::string &  discretizationName)
inline

set the name of the discretization object

Parameters
[in]discretizationNamename

Definition at line 437 of file WellControls.hpp.

◆ setFlowSolverName()

void geos::WellControls::setFlowSolverName ( const std::string &  flowSolverName)
inline

Set the control type for the well.

Parameters
[in]flowSolverNamethe name of the flow solver

Definition at line 425 of file WellControls.hpp.

◆ setFluidSeparator()

void geos::WellControls::setFluidSeparator ( std::unique_ptr< constitutive::ConstitutiveBase >  fluidSeparatorPtr)
inline

setter for multi fluid separator

Parameters
[in]fluidSeparatorPtrsingle or multiphase separator

Definition at line 623 of file WellControls.hpp.

◆ setKeepVariablesConstantDuringInitStep()

void geos::WellControls::setKeepVariablesConstantDuringInitStep ( bool const  keepVariablesConstantDuringInitStep)
inline

Utility function to keep the well variables during a time step (used in poromechanics simulations)

Parameters
[in]keepVariablesConstantDuringInitStepflag to tell the solver to freeze its primary variables during a time step @detail This function is meant to be called by a specific task before/after the initialization step

Definition at line 616 of file WellControls.hpp.

◆ setNextDt()

real64 geos::WellControls::setNextDt ( real64 const &  currentTime,
real64 const &  currentDt,
WellElementSubRegion subRegion 
)

function to set the next time step size

Parameters
[in]currentTimethe current time
[in]currentDtthe current time step size
[in]domainthe domain object
Returns
the prescribed time step size

◆ setNextDtFromTable()

static void geos::WellControls::setNextDtFromTable ( TableFunction const *  table,
real64 const  currentTime,
real64 nextDt 
)
static

Set next time step based on a table function.

Parameters
[in]tablethe table function
[in]currentTimethe current time
[in,out]nextDtthe time step

◆ setNextDtFromTables()

void geos::WellControls::setNextDtFromTables ( real64 const &  currentTime,
real64 nextDt 
)

set next time step based on tables intervals

Parameters
[in]currentTimethe current time
[in,out]nextDtthe time step

◆ setRegionAveragePressure()

void geos::WellControls::setRegionAveragePressure ( real64  regionAveragePressure)
inline

Set the reservoir average pressure when m_useSurfaceConditions == 0.

Note
When not available, value is less or equal to 0.0.
Parameters
[in]regionAveragePressurevalue for pressure

Definition at line 648 of file WellControls.hpp.

◆ setRegionAverageTemperature()

void geos::WellControls::setRegionAverageTemperature ( real64  regionAverageTemperature)
inline

Set the reservoir average temperature when m_useSurfaceConditions == 0.

Parameters
[in]regionAverageTemperaturevalue for temperature

Definition at line 660 of file WellControls.hpp.

◆ setThermal()

void geos::WellControls::setThermal ( bool  isThermal)
inline

setter for iso/thermal switch

Parameters
[in]isThermal

Definition at line 541 of file WellControls.hpp.

◆ setUseMass()

void geos::WellControls::setUseMass ( integer  useMass)
inline

setter to activate mass formulation

Parameters
[in]useMass

Definition at line 548 of file WellControls.hpp.

◆ setWellState()

void geos::WellControls::setWellState ( bool  open)

Set the well state.

Parameters
[in]openboolean

◆ setWellStatus()

void geos::WellControls::setWellStatus ( real64 const &  currentTime,
WellControls::Status  status 
)

Set well status from time and internal action, eg. all perfs closed.

Parameters
[in]currentTimethe current time
[in]status

◆ thermalEffectsEnabled()

bool geos::WellControls::thermalEffectsEnabled ( ) const
inline

Are thermal effects enabled.

Returns
true if thermal effects are enabled, false otherwise

Definition at line 821 of file WellControls.hpp.

◆ updateWellState()

virtual real64 geos::WellControls::updateWellState ( MeshBody const &  meshBody,
ElementRegionManager const &  elemManager,
WellElementSubRegion subRegion 
)
pure virtual

Recompute all dependent quantities from primary variables (including constitutive models)

Parameters
subRegionthe well subregion containing all the primary and dependent fields

Implemented in geos::WellSolverBase, geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.

◆ useMass()

integer geos::WellControls::useMass ( )
inline

is useMass option active

Returns
a boolean

Definition at line 555 of file WellControls.hpp.

◆ useSurfaceConditions()

integer geos::WellControls::useSurfaceConditions ( ) const
inline

Getter for the flag specifying whether we check rates at surface or reservoir conditions.

Returns
1 if we use surface conditions, and 0 otherwise

Definition at line 498 of file WellControls.hpp.

◆ validateReferenceRegion()

bool geos::WellControls::validateReferenceRegion ( ) const
protected

Validates the reference region.

Validates the reference region by ensuring that it is defined for cases that do not use surface conditions. If the reference region is provided, it is checked against the flow solves regions.

Returns
true if the region is valid

Variable Documentation

◆ m_estimatorDoFManager

DofManager geos::WellControls::m_estimatorDoFManager
protected

Well DofManager.

This DofManager is used to store the DOF numbers for the estimator

Note
This DofManager is used in the assembly of the estimators linear system

Definition at line 1007 of file WellControls.hpp.