|
GEOS
|
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 ¤tTime, real64 const ¤tDt, 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< real64 > | geos::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... | |
| WellConstraintBase * | geos::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) |
| WellNewtonSolver & | geos::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 ®ion, 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. | |
| WellConstraintBase * | geos::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 real64 & | geos::WellControls::getSurfacePressure () const |
| Getter for the surface pressure when m_useSurfaceConditions == 1. More... | |
| const real64 & | geos::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... | |
| WellConstraintBase * | geos::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 ¤tTime, 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 ¤tTime, 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... | |
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
|
overridevirtual |
assembles the accumulation term for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implements geos::WellControls.
|
overridevirtual |
assembles the accumulation term for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implements geos::WellControls.
|
pure virtual |
assembles the accumulation term for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
|
overridevirtual |
assembles the well constraint terms for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implements geos::WellControls.
|
overridevirtual |
assembles the well constraint terms for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implements geos::WellControls.
|
pure virtual |
assembles the well constraint terms for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
|
overridevirtual |
Implements geos::WellControls.
|
overridevirtual |
Implements geos::WellControls.
|
pure virtual |
assembles the flux terms for individual well for all connections between well elements
| time_n | previous time value |
| dt | time step |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
|
overridevirtual |
assembles the well momentum terms for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implements geos::WellControls.
|
overridevirtual |
assembles the well constraint terms for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implements geos::WellControls.
|
pure virtual |
assembles the well momentum terms for an individual well
| time_n | time at the beginning of the time step |
| dt | the time step size |
| subRegion | the well subregion containing all the primary and dependent fields |
| dofManager | degree-of-freedom manager associated with the linear system |
| matrix | the system matrix |
| rhs | the system right-hand side vector |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
|
overridevirtual |
Recompute the perforation rates for all the wells.
| time_n | the time at the beginning of the time step |
| dt | the time step size |
| elemManager | the element region manager |
| subRegion | the well subregion containing all the primary and dependent fields |
Implements geos::WellControls.
|
overridevirtual |
Recompute the perforation rates for all the wells.
| time_n | the time at the beginning of the time step |
| dt | the time step size |
| elemManager | the element region manager |
| subRegion | the well subregion containing all the primary and dependent fields |
Implements geos::WellControls.
|
pure virtual |
Recompute the perforation rates for all the wells.
| time_n | the time at the beginning of the time step |
| dt | the time step size |
| elemManager | the element region manager |
| subRegion | the well subregion containing all the primary and dependent fields |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
| void geos::WellControls::createConstraint | ( | string const & | constraintName | ) |
Create a constraint.
| ConstraintType | the type of constraint to create |
| [in] | constraintName | name to assign to the constraint |
|
inline |
Set thermal effects enable.
| [in] | true/false |
Definition at line 815 of file WellControls.hpp.
|
inline |
getter for esitmator switch
Definition at line 460 of file WellControls.hpp.
| 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.
| time_n | the time at the beginning of the time step |
| subRegion | the well subRegion |
| bool geos::WellControls::evaluateConstraints | ( | real64 const & | time_n, |
| WellElementSubRegion & | subRegion | ||
| ) |
Function to evaluate well constraints after applying the solution update.
| time_n | the time at the beginning of the time step |
| subRegion | the well subRegion |
| 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.
| 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.
|
static |
Get the Constitutive Name object.
| CONSTITUTIVE_BASE_TYPE | the base type of the constitutive model. |
| subRegion | the element subregion on which the constitutive model is registered |
Definition at line 1041 of file WellControls.hpp.
| integer geos::WellControls::getConstraintPhaseIndex | ( | ) | const |
Const accessor for the phase constraint index.
|
inline |
Get the control type for the well.
Definition at line 442 of file WellControls.hpp.
|
inline |
Get the current consrtaint.
Definition at line 587 of file WellControls.hpp.
|
inline |
return the name of the discretization object
Definition at line 431 of file WellControls.hpp.
|
inline |
Get the control type for the well.
Definition at line 419 of file WellControls.hpp.
|
inline |
Getter for the initial pressure coefficient.
Definition at line 600 of file WellControls.hpp.
| arrayView1d< real64 const > geos::WellControls::getInjectionStream | ( | ) | const |
Const accessor for the injection stream.
| real64 geos::WellControls::getInjectionTemperature | ( | ) | const |
Const accessor for the temperature of the injection stream.
|
inline |
Get the input control type for the well.
Definition at line 454 of file WellControls.hpp.
|
inline |
Getter for multi fluid separator.
Definition at line 628 of file WellControls.hpp.
| 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>.
| real64 geos::WellControls::getReferenceElevation | ( | ) | const |
Return the reference elvation where pressure constraint is measured.
|
inline |
Getter for the reservoir average pressure when m_useSurfaceConditions == 0.
Definition at line 641 of file WellControls.hpp.
|
inline |
Getter for the reservoir average temperature when m_useSurfaceConditions == 0.
Definition at line 654 of file WellControls.hpp.
|
inline |
Getter for single fluid separator.
Definition at line 634 of file WellControls.hpp.
|
inline |
Getter for the surface pressure when m_useSurfaceConditions == 1.
Definition at line 510 of file WellControls.hpp.
|
inline |
Getter for the surface temperature when m_useSurfaceConditions == 1.
Definition at line 516 of file WellControls.hpp.
| real64 geos::WellControls::getTargetBHP | ( | real64 const & | targetTime, |
| const ConstraintSourceId | source = ConstraintSourceId::USER |
||
| ) | const |
Returns the target bottom hole pressure value.
| [in] | targetTime | time at which to evaluate the constraint |
|
inline |
return the list of target regions
Definition at line 414 of file WellControls.hpp.
| bool geos::WellControls::getWellState | ( | ) | const |
Get the well state.
|
inline |
Is the well open (or shut) based on internal action.
Definition at line 673 of file WellControls.hpp.
|
overridevirtual |
Initialize well for the beginning of a simulation or restart.
*
| domain | the domain |
| mesh | the mesh level |
| subRegion | the well subRegion |
Implements geos::WellControls.
|
overridevirtual |
Initialize well for the beginning of a simulation or restart.
*
| domain | the domain |
| mesh | the mesh level |
| subRegion | the well subRegion |
| time_n | the current time |
Implements geos::WellControls.
|
pure virtual |
Initialize well for the beginning of a simulation or restart.
| domain | the domain |
| meshBodies | |
| mesh | the mesh level |
| subRegion | the well subRegion |
| time_n | the current time |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
|
inline |
Getter for the flag to enable crossflow.
Definition at line 594 of file WellControls.hpp.
|
inline |
|
inline |
Is isoThermalEstimator enabled.
Definition at line 827 of file WellControls.hpp.
|
inline |
|
inline |
getter for iso/thermal switch
Definition at line 534 of file WellControls.hpp.
| bool geos::WellControls::isWellOpen | ( | ) | const |
Is the well open (or shut) at currentTime, status initalized in WellSolverBase::implicitStepSetup.
|
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.
| constraint | Pointer to the base constraint object to evaluate and log. |
| region | Reference to the well element sub-region associated with it. |
| time | The current simulation time used to get the constraint value. |
| isLimiting | Boolean indicating if this is the active limiting constraint. |
|
inline |
getter for the number of degrees of freedom per mesh element
Definition at line 690 of file WellControls.hpp.
|
inline |
getter for the number of degrees of freedom per well element
Definition at line 684 of file WellControls.hpp.
|
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.
|
inline |
Getter for the reservoir region associated with reservoir volume constraint.
Definition at line 504 of file WellControls.hpp.
|
pure virtual |
Reset the well state to the beginning of the time step.
| subRegion | the well subregion containing all the primary and dependent fields |
Implemented in geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
| 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.
| CONSTITUTIVE | the base type of the constitutive model. |
| subRegion | the subregion on which the constitutive model is registered. |
| wrapperName | the wrapper name to register. |
| constitutiveType | the type description of the constitutive model. |
Definition at line 1028 of file WellControls.hpp.
|
inline |
Set the control type for the well.
| [in] | newControl | type |
Definition at line 448 of file WellControls.hpp.
|
inline |
Set the current consrtaint.
| [in] | currentConstraint | pointer to constraint |
Definition at line 578 of file WellControls.hpp.
|
inline |
set the name of the discretization object
| [in] | discretizationName | name |
Definition at line 437 of file WellControls.hpp.
|
inline |
Set the control type for the well.
| [in] | flowSolverName | the name of the flow solver |
Definition at line 425 of file WellControls.hpp.
|
inline |
setter for multi fluid separator
| [in] | fluidSeparatorPtr | single or multiphase separator |
Definition at line 623 of file WellControls.hpp.
|
inline |
Utility function to keep the well variables during a time step (used in poromechanics simulations)
| [in] | keepVariablesConstantDuringInitStep | flag 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.
| real64 geos::WellControls::setNextDt | ( | real64 const & | currentTime, |
| real64 const & | currentDt, | ||
| WellElementSubRegion & | subRegion | ||
| ) |
function to set the next time step size
| [in] | currentTime | the current time |
| [in] | currentDt | the current time step size |
| [in] | domain | the domain object |
|
static |
Set next time step based on a table function.
| [in] | table | the table function |
| [in] | currentTime | the current time |
| [in,out] | nextDt | the time step |
set next time step based on tables intervals
| [in] | currentTime | the current time |
| [in,out] | nextDt | the time step |
|
inline |
Set the reservoir average pressure when m_useSurfaceConditions == 0.
| [in] | regionAveragePressure | value for pressure |
Definition at line 648 of file WellControls.hpp.
|
inline |
Set the reservoir average temperature when m_useSurfaceConditions == 0.
| [in] | regionAverageTemperature | value for temperature |
Definition at line 660 of file WellControls.hpp.
|
inline |
setter for iso/thermal switch
| [in] | isThermal |
Definition at line 541 of file WellControls.hpp.
|
inline |
setter to activate mass formulation
| [in] | useMass |
Definition at line 548 of file WellControls.hpp.
| void geos::WellControls::setWellState | ( | bool | open | ) |
Set the well state.
| [in] | open | boolean |
| void geos::WellControls::setWellStatus | ( | real64 const & | currentTime, |
| WellControls::Status | status | ||
| ) |
Set well status from time and internal action, eg. all perfs closed.
| [in] | currentTime | the current time |
| [in] | status |
|
inline |
Are thermal effects enabled.
Definition at line 821 of file WellControls.hpp.
|
pure virtual |
Recompute all dependent quantities from primary variables (including constitutive models)
| subRegion | the well subregion containing all the primary and dependent fields |
Implemented in geos::WellSolverBase, geos::SinglePhaseWell, and geos::CompositionalMultiphaseWell.
|
inline |
|
inline |
Getter for the flag specifying whether we check rates at surface or reservoir conditions.
Definition at line 498 of file WellControls.hpp.
|
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.
true if the region is valid
|
protected |
Well DofManager.
This DofManager is used to store the DOF numbers for the estimator
Definition at line 1007 of file WellControls.hpp.