GEOS
Classes | Functions | Variables
Interface Functions

Classes

struct  geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct
 
struct  geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct
 
struct  geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct
 

Functions

virtual void geos::CompositionalMultiphaseBase::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::CompositionalMultiphaseBase::assembleSystem (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::CompositionalMultiphaseBase::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual void geos::CompositionalMultiphaseBase::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::CompositionalMultiphaseBase::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
void geos::CompositionalMultiphaseBase::updateGlobalComponentFraction (ObjectManagerBase &dataGroup) const
 Recompute global component fractions from primary variables (component densities) More...
 
real64 geos::CompositionalMultiphaseBase::updatePhaseVolumeFraction (ObjectManagerBase &dataGroup) const
 Recompute phase volume fractions (saturations) from constitutive and primary variables. More...
 
void geos::CompositionalMultiphaseBase::updateFluidModel (ObjectManagerBase &dataGroup) const
 Update all relevant fluid models using current values of pressure and composition. More...
 
void geos::CompositionalMultiphaseBase::updateRelPermModel (ObjectManagerBase &dataGroup) const
 Update all relevant relperm models using current values of phase volume fraction. More...
 
void geos::CompositionalMultiphaseBase::updateCapPressureModel (ObjectManagerBase &dataGroup) const
 Update all relevant capillary pressure models using current values of phase volume fraction. More...
 
void geos::CompositionalMultiphaseBase::updateCompAmount (ElementSubRegionBase &subRegion) const
 Update components mass/moles. More...
 
void geos::CompositionalMultiphaseBase::updateEnergy (ElementSubRegionBase &subRegion) const
 Update energy. More...
 
void geos::CompositionalMultiphaseBase::updateSolidInternalEnergyModel (ObjectManagerBase &dataGroup) const
 Update all relevant solid internal energy models using current values of temperature. More...
 
virtual void geos::CompositionalMultiphaseBase::updatePhaseMobility (ObjectManagerBase &dataGroup) const =0
 Recompute phase mobility from constitutive and primary variables. More...
 
real64 geos::CompositionalMultiphaseBase::updateFluidState (ElementSubRegionBase &subRegion) const
 
virtual void geos::CompositionalMultiphaseBase::saveConvergedState (ElementSubRegionBase &subRegion) const override final
 Utility function to save the converged state. More...
 
virtual void geos::CompositionalMultiphaseBase::saveSequentialIterationState (DomainPartition &domain) override final
 Utility function to save the iteration state (useful for sequential simulations) More...
 
virtual void geos::CompositionalMultiphaseBase::updateState (DomainPartition &domain) override final
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
integer geos::CompositionalMultiphaseBase::numFluidComponents () const
 Getter for the number of fluid components (species) More...
 
integer geos::CompositionalMultiphaseBase::numFluidPhases () const
 Getter for the number of fluid phases. More...
 
string geos::CompositionalMultiphaseBase::referenceFluidModelName () const
 Getter for the name of the reference fluid model name. More...
 
virtual units::Unit geos::CompositionalMultiphaseBase::getMassUnit () const override
 
void geos::CompositionalMultiphaseBase::assembleAccumulationAndVolumeBalanceTerms (DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const
 assembles the accumulation and volume balance terms for all cells More...
 
virtual void geos::CompositionalMultiphaseBase::assembleFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const =0
 assembles the flux terms for all cells More...
 
virtual void geos::CompositionalMultiphaseBase::assembleStabilizedFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const =0
 assembles the flux terms for all cells with pressure jump stabilization More...
 
virtual void geos::CompositionalMultiphaseFVM::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::CompositionalMultiphaseFVM::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::CompositionalMultiphaseFVM::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual real64 geos::CompositionalMultiphaseFVM::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution) override
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual bool geos::CompositionalMultiphaseFVM::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual void geos::CompositionalMultiphaseFVM::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::CompositionalMultiphaseHybridFVM::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual real64 geos::CompositionalMultiphaseHybridFVM::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution) override
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual bool geos::CompositionalMultiphaseHybridFVM::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::assembleFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const override
 assembles the flux terms for all cells More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::assembleStabilizedFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const override
 assembles the flux terms for all cells with pressure jump stabilization More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::updatePhaseMobility (ObjectManagerBase &dataGroup) const override
 Recompute phase mobility from constitutive and primary variables. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::applyAquiferBC (real64 const time, real64 const dt, DofManager const &dofManager, DomainPartition &domain, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const override
 Apply aquifer boundary conditions to the system. More...
 
virtual void geos::CompositionalMultiphaseHybridFVM::saveAquiferConvergedState (real64 const &time, real64 const &dt, DomainPartition &domain) override
 Increment the cumulative flux from each aquifer. More...
 
virtual void geos::ProppantTransport::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::ProppantTransport::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::ProppantTransport::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::ProppantTransport::applyBoundaryConditions (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::ProppantTransport::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual void geos::ProppantTransport::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::ProppantTransport::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::ProppantTransport::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
void geos::ProppantTransport::assembleAccumulationTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 assembles the accumulation terms for all cells More...
 
void geos::ProppantTransport::assembleFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 assembles the flux terms for all cells More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::assembleSystem (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual real64 geos::ReactiveCompositionalMultiphaseOBL::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual real64 geos::ReactiveCompositionalMultiphaseOBL::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution) override
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual bool geos::ReactiveCompositionalMultiphaseOBL::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::updateState (DomainPartition &domain) override final
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
void geos::ReactiveCompositionalMultiphaseOBL::updateOBLOperators (ObjectManagerBase &dataGroup) const
 Recompute operator values and derivatives from primary variables. More...
 
localIndex geos::ReactiveCompositionalMultiphaseOBL::numFluidComponents () const
 Get the number of fluid components (species) More...
 
localIndex geos::ReactiveCompositionalMultiphaseOBL::numFluidPhases () const
 Get the number of fluid phases. More...
 
localIndex geos::ReactiveCompositionalMultiphaseOBL::numOBLOperators () const
 Get the number of OBL operators. More...
 
void geos::ReactiveCompositionalMultiphaseOBL::assembleAccumulationTerms (real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const
 assembles the accumulation term for all cells More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::assembleFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const
 assembles the flux term for all cells More...
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::elemDofFieldString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::numPhasesString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::numComponentsString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::enableEnergyBalanceString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::componentNamesString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::phaseNamesString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::OBLOperatorsTableFileString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::transMultExpString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::maxCompFracChangeString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::allowLocalOBLChoppingString ()
 
static constexpr char const * geos::ReactiveCompositionalMultiphaseOBL::viewKeyStruct::useDARTSL2NormString ()
 
bool geos::ReactiveCompositionalMultiphaseOBL::validateDirichletBC (DomainPartition &domain, real64 const time) const
 Function to perform checks before applying Dirichlet type BC's. More...
 
void geos::ReactiveCompositionalMultiphaseOBL::applyDirichletBC (real64 const time, real64 const dt, DofManager const &dofManager, DomainPartition &domain, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const
 Function to perform the Application of Dirichlet type BC's. More...
 
void geos::ReactiveCompositionalMultiphaseOBL::applySourceFluxBC (real64 const time, real64 const dt, DofManager const &dofManager, DomainPartition &domain, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const
 Apply source flux boundary conditions to the system. More...
 
void geos::ReactiveCompositionalMultiphaseOBL::chopPrimaryVariables (DomainPartition &domain)
 Sets all the primary variables, which are outside of defined OBL parametrization limits, to be inside them Helps to evaluate correct operator values/derivatives when a disturbed solution is obtained from a previous Newton iteration Does not help in case if the model is defined inconsistently: for instance, if minimum pressure value in OBL table is higher, than BHP used by a producer/sink In that case, the solution will be chopped all the time and Newton will never converge. More...
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::initializePostInitialConditionsPreSubGroups () override
 Called by InitializePostInitialConditions() prior to initializing sub-Groups.
 
virtual void geos::ReactiveCompositionalMultiphaseOBL::initializePreSubGroups () override
 Called by Initialize() prior to initializing sub-Groups.
 
virtual void geos::SinglePhaseBase::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::SinglePhaseBase::assembleSystem (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::SinglePhaseBase::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::SinglePhaseBase::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution) override
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual bool geos::SinglePhaseBase::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual void geos::SinglePhaseBase::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::SinglePhaseBase::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual void geos::SinglePhaseFVM< BASE >::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::SinglePhaseFVM< BASE >::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=true) override
 Set up the linear system (DOF indices and sparsity patterns) More...
 
virtual void geos::SinglePhaseFVM< BASE >::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::SinglePhaseFVM< BASE >::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual void geos::SinglePhaseFVM< BASE >::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::SinglePhaseFVM< BASE >::assembleFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the flux terms for all cells More...
 
virtual void geos::SinglePhaseFVM< BASE >::assembleStabilizedFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the flux terms for all cells including jump stabilization More...
 
virtual void geos::SinglePhaseFVM< BASE >::assembleEDFMFluxTerms (real64 const time_n, real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, string const &jumpDofKey) override final
 assembles the flux terms for all cells for the poroelastic case More...
 
virtual void geos::SinglePhaseFVM< BASE >::assembleHydrofracFluxTerms (real64 const time_n, real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, CRSMatrixView< real64, localIndex const > const &dR_dAper) override final
 assembles the flux terms for all cells for the hydrofracture case More...
 
virtual void geos::SinglePhaseHybridFVM::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::SinglePhaseHybridFVM::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::SinglePhaseHybridFVM::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual void geos::SinglePhaseHybridFVM::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::SinglePhaseHybridFVM::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::SinglePhaseHybridFVM::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::SinglePhaseHybridFVM::assembleFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the flux terms for all cells More...
 
virtual void geos::SinglePhaseHybridFVM::assembleStabilizedFluxTerms (real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 assembles the flux terms for all cells including jump stabilization More...
 
virtual void geos::SinglePhaseHybridFVM::assembleEDFMFluxTerms (real64 const time_n, real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, string const &jumpDofKey) override final
 assembles the flux terms for all cells for the poroelastic case More...
 
virtual void geos::SinglePhaseHybridFVM::assembleHydrofracFluxTerms (real64 const time_n, real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, CRSMatrixView< real64, localIndex const > const &dR_dAper) override final
 assembles the flux terms for all cells for the hydrofracture case More...
 
virtual void geos::SinglePhaseHybridFVM::applyAquiferBC (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) const override final
 Apply aquifer boundary conditions to the system. More...
 
virtual void geos::SinglePhaseHybridFVM::saveAquiferConvergedState (real64 const &time, real64 const &dt, DomainPartition &domain) override
 Increment the cumulative flux from each aquifer. More...
 
virtual void geos::SinglePhaseHybridFVM::updatePressureGradient (DomainPartition &domain) override final
 Update the cell-wise pressure gradient.
 
void geos::SinglePhaseHybridFVM::applyFaceDirichletBC (real64 const time_n, real64 const dt, DofManager const &faceSet, DomainPartition &domain, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 Function to perform the application of Dirichlet BCs on faces. More...
 
virtual real64 geos::CompositionalMultiphaseWell::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual real64 geos::CompositionalMultiphaseWell::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution) override
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual bool geos::CompositionalMultiphaseWell::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual void geos::CompositionalMultiphaseWell::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::CompositionalMultiphaseWell::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::CompositionalMultiphaseWell::implicitStepSetup (real64 const &time, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::CompositionalMultiphaseWell::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual real64 geos::SinglePhaseWell::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual bool geos::SinglePhaseWell::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual void geos::SinglePhaseWell::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::SinglePhaseWell::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::SinglePhaseWell::implicitStepSetup (real64 const &time, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::SinglePhaseWell::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual void geos::WellSolverBase::registerDataOnMesh (Group &meshBodies) override
 Register wrappers that contain data on the mesh objects. More...
 
virtual void geos::WellSolverBase::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::WellSolverBase::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::WellSolverBase::implicitStepComplete (real64 const &GEOS_UNUSED_PARAM(time_n), real64 const &GEOS_UNUSED_PARAM(dt), DomainPartition &GEOS_UNUSED_PARAM(domain)) override
 
virtual void geos::WellSolverBase::applyBoundaryConditions (real64 const GEOS_UNUSED_PARAM(time_n), real64 const GEOS_UNUSED_PARAM(dt), DomainPartition &GEOS_UNUSED_PARAM(domain), DofManager const &GEOS_UNUSED_PARAM(dofManager), CRSMatrixView< real64, globalIndex const > const &GEOS_UNUSED_PARAM(localMatrix), arrayView1d< real64 > const &GEOS_UNUSED_PARAM(localRhs)) override
 
virtual void geos::CoupledReservoirAndWellsBase< RESERVOIR_SOLVER, WELL_SOLVER >::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=true) override
 Set up the linear system (DOF indices and sparsity patterns) More...
 
void geos::CoupledSolver< SOLVERS >::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::CoupledSolver< SOLVERS >::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::CoupledSolver< SOLVERS >::implicitStepComplete (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual void geos::CoupledSolver< SOLVERS >::assembleSystem (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::CoupledSolver< SOLVERS >::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::CoupledSolver< SOLVERS >::updateState (DomainPartition &domain) override
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual void geos::CoupledSolver< SOLVERS >::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
real64 geos::CoupledSolver< SOLVERS >::solverStep (real64 const &time_n, real64 const &dt, int const cycleNumber, DomainPartition &domain) override final
 
virtual real64 geos::CoupledSolver< SOLVERS >::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual void geos::CoupledSolver< SOLVERS >::applyBoundaryConditions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual bool geos::CoupledSolver< SOLVERS >::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor) override
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual real64 geos::CoupledSolver< SOLVERS >::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution) override
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual real64 geos::CoupledSolver< SOLVERS >::setNextDtBasedOnStateChange (real64 const &currentDt, DomainPartition &domain) override
 function to set the next dt based on state change More...
 
virtual real64 geos::CoupledSolver< SOLVERS >::setNextDtBasedOnNewtonIter (real64 const &currentDt) override
 function to set the next time step size based on Newton convergence More...
 
virtual void geos::CoupledSolver< SOLVERS >::cleanup (real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
 Called as the code exits the main run loop. More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::registerDataOnMesh (Group &MeshBodies) override final
 Register wrappers that contain data on the mesh objects. More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::setupCoupling (DomainPartition const &domain, DofManager &dofManager) const override final
 Utility function to set the coupling between degrees of freedom. More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=true) override
 Set up the linear system (DOF indices and sparsity patterns) More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override final
 function to perform setup for implicit timestep More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual real64 geos::HydrofractureSolver< POROMECHANICS_SOLVER >::setNextDt (real64 const &currentDt, DomainPartition &domain) override
 function to set the next time step size More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::updateState (DomainPartition &domain) override final
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::implicitStepComplete (real64 const &time_n, real64 const &dt, DomainPartition &domain) override final
 perform cleanup for implicit timestep More...
 
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::resetStateToBeginningOfStep (DomainPartition &domain) override final
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::postInputInitialization () override
 
virtual void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::setupCoupling (DomainPartition const &domain, DofManager &dofManager) const override
 Utility function to set the coupling between degrees of freedom. More...
 
virtual void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::assembleElementBasedTerms (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::postInputInitialization () override
 
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::setupCoupling (DomainPartition const &domain, DofManager &dofManager) const override
 Utility function to set the coupling between degrees of freedom. More...
 
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=true) override
 Set up the linear system (DOF indices and sparsity patterns) More...
 
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::assembleElementBasedTerms (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::setupCoupling (DomainPartition const &domain, DofManager &dofManager) const override
 Utility function to set the coupling between degrees of freedom. More...
 
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=true) override
 Set up the linear system (DOF indices and sparsity patterns) More...
 
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override final
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::updateState (DomainPartition &domain) override final
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual real64 geos::PhysicsSolverBase::solverStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain)
 entry function to perform a solver step More...
 
virtual real64 geos::PhysicsSolverBase::setNextDt (real64 const &currentDt, DomainPartition &domain)
 function to set the next time step size More...
 
virtual real64 geos::PhysicsSolverBase::setNextDtBasedOnNewtonIter (real64 const &currentDt)
 function to set the next time step size based on Newton convergence More...
 
virtual real64 geos::PhysicsSolverBase::setNextDtBasedOnStateChange (real64 const &currentDt, DomainPartition &domain)
 function to set the next dt based on state change More...
 
virtual real64 geos::PhysicsSolverBase::setNextDtBasedOnCFL (real64 const &currentDt, DomainPartition &domain)
 function to set the next dt based on state change More...
 
virtual real64 geos::PhysicsSolverBase::explicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain)
 Entry function for an explicit time integration step. More...
 
virtual real64 geos::PhysicsSolverBase::nonlinearImplicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain)
 Function for a nonlinear implicit integration step. More...
 
virtual bool geos::PhysicsSolverBase::lineSearch (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, ParallelVector &rhs, ParallelVector &solution, real64 const scaleFactor, real64 &lastResidual)
 Function to perform line search. More...
 
virtual bool geos::PhysicsSolverBase::lineSearchWithParabolicInterpolation (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, ParallelVector &rhs, ParallelVector &solution, real64 const scaleFactor, real64 &lastResidual, real64 &residualNormT)
 Function to perform line search using a parabolic interpolation to find the scaling factor. More...
 
virtual real64 geos::PhysicsSolverBase::linearImplicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain)
 Function for a linear implicit integration step. More...
 
virtual void geos::PhysicsSolverBase::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain)
 function to perform setup for implicit timestep More...
 
virtual void geos::PhysicsSolverBase::setupDofs (DomainPartition const &domain, DofManager &dofManager) const
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::PhysicsSolverBase::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=true)
 Set up the linear system (DOF indices and sparsity patterns) More...
 
virtual void geos::PhysicsSolverBase::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::PhysicsSolverBase::applyBoundaryConditions (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 apply boundary condition to system More...
 
void geos::PhysicsSolverBase::debugOutputSystem (real64 const &time, integer const cycleNumber, integer const nonlinearIteration, ParallelMatrix const &matrix, ParallelVector const &rhs) const
 Output the assembled linear system for debug purposes. More...
 
void geos::PhysicsSolverBase::debugOutputSolution (real64 const &time, integer const cycleNumber, integer const nonlinearIteration, ParallelVector const &solution) const
 Output the linear system solution for debug purposes. More...
 
virtual real64 geos::PhysicsSolverBase::calculateResidualNorm (real64 const &time, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs)
 calculate the norm of the global system residual More...
 
virtual void geos::PhysicsSolverBase::solveLinearSystem (DofManager const &dofManager, ParallelMatrix &matrix, ParallelVector &rhs, ParallelVector &solution)
 function to apply a linear system solver to the assembled system. More...
 
virtual bool geos::PhysicsSolverBase::checkSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor)
 Function to check system solution for physical consistency and constraint violation. More...
 
virtual real64 geos::PhysicsSolverBase::scalingForSystemSolution (DomainPartition &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localSolution)
 Function to determine if the solution vector should be scaled back in order to maintain a known constraint. More...
 
virtual void geos::PhysicsSolverBase::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain)
 Function to apply the solution vector to the state. More...
 
virtual bool geos::PhysicsSolverBase::updateConfiguration (DomainPartition &domain)
 updates the configuration (if needed) based on the state after a converged Newton loop. More...
 
virtual void geos::PhysicsSolverBase::outputConfigurationStatistics (DomainPartition const &domain) const
 
virtual void geos::PhysicsSolverBase::resetConfigurationToBeginningOfStep (DomainPartition &domain)
 resets the configuration to the beginning of the time-step. More...
 
virtual bool geos::PhysicsSolverBase::resetConfigurationToDefault (DomainPartition &domain) const
 resets the configuration to the default value. More...
 
virtual void geos::PhysicsSolverBase::updateState (DomainPartition &domain)
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual void geos::PhysicsSolverBase::resetStateToBeginningOfStep (DomainPartition &domain)
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::PhysicsSolverBase::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain)
 perform cleanup for implicit timestep More...
 
virtual real64 geos::PhysicsSolverBase::getTimestepRequest (real64 const) override
 getter for the next timestep size More...
 
virtual real64 geos::PhaseFieldDamageFEM::solverStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 entry function to perform a solver step More...
 
virtual real64 geos::PhaseFieldDamageFEM::explicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 Entry function for an explicit time integration step. More...
 
virtual void geos::PhaseFieldDamageFEM::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::PhaseFieldDamageFEM::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::PhaseFieldDamageFEM::applyBoundaryConditions (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::PhaseFieldDamageFEM::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual void geos::PhaseFieldDamageFEM::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::PhaseFieldDamageFEM::updateState (DomainPartition &domain) override final
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual void geos::PhaseFieldDamageFEM::implicitStepSetup (real64 const &, real64 const &, DomainPartition &) override
 function to perform setup for implicit timestep More...
 
virtual void geos::PhaseFieldDamageFEM::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual void geos::PhaseFieldDamageFEM::resetStateToBeginningOfStep (DomainPartition &) override
 reset state of physics back to the beginning of the step. More...
 
virtual real64 geos::SolidMechanicsLagrangianFEM::solverStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 entry function to perform a solver step More...
 
virtual real64 geos::SolidMechanicsLagrangianFEM::explicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 Entry function for an explicit time integration step. More...
 
virtual void geos::SolidMechanicsLagrangianFEM::implicitStepSetup (real64 const &time_n, real64 const &dt, DomainPartition &domain) override
 function to perform setup for implicit timestep More...
 
virtual void geos::SolidMechanicsLagrangianFEM::setupDofs (DomainPartition const &domain, DofManager &dofManager) const override
 Populate degree-of-freedom manager with fields relevant to this solver. More...
 
virtual void geos::SolidMechanicsLagrangianFEM::setupSystem (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, ParallelVector &rhs, ParallelVector &solution, bool const setSparsity=false) override
 Set up the linear system (DOF indices and sparsity patterns) More...
 
virtual void geos::SolidMechanicsLagrangianFEM::assembleSystem (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 function to assemble the linear system matrix and rhs More...
 
virtual void geos::SolidMechanicsLagrangianFEM::applySystemSolution (DofManager const &dofManager, arrayView1d< real64 const > const &localSolution, real64 const scalingFactor, real64 const dt, DomainPartition &domain) override
 Function to apply the solution vector to the state. More...
 
virtual void geos::SolidMechanicsLagrangianFEM::updateState (DomainPartition &domain) override
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual void geos::SolidMechanicsLagrangianFEM::applyBoundaryConditions (real64 const time, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 apply boundary condition to system More...
 
virtual real64 geos::SolidMechanicsLagrangianFEM::calculateResidualNorm (real64 const &time_n, real64 const &dt, DomainPartition const &domain, DofManager const &dofManager, arrayView1d< real64 const > const &localRhs) override
 calculate the norm of the global system residual More...
 
virtual void geos::SolidMechanicsLagrangianFEM::resetStateToBeginningOfStep (DomainPartition &domain) override
 reset state of physics back to the beginning of the step. More...
 
virtual void geos::SolidMechanicsLagrangianFEM::implicitStepComplete (real64 const &time, real64 const &dt, DomainPartition &domain) override
 perform cleanup for implicit timestep More...
 
virtual real64 geos::SolidMechanicsMPM::solverStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 entry function to perform a solver step More...
 
virtual real64 geos::SolidMechanicsMPM::explicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 Entry function for an explicit time integration step. More...
 
virtual void geos::SolidMechanicsMPM::updateState (DomainPartition &domain) override final
 Recompute all dependent quantities from primary variables (including constitutive models) More...
 
virtual bool geos::SurfaceGenerator::execute (real64 const time_n, real64 const dt, integer const cycleNumber, integer const GEOS_UNUSED_PARAM(eventCounter), real64 const GEOS_UNUSED_PARAM(eventProgress), DomainPartition &domain) override
 
virtual real64 geos::SurfaceGenerator::solverStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override
 entry function to perform a solver step More...
 
virtual real64 geos::AcousticFirstOrderWaveEquationSEM::explicitStepForward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform forward explicit step. More...
 
virtual real64 geos::AcousticFirstOrderWaveEquationSEM::explicitStepBackward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform backward explicit step. More...
 
virtual void geos::AcousticFirstOrderWaveEquationSEM::initializePML () override
 Initialize Perfectly Matched Layer (PML) information.
 
virtual void geos::AcousticFirstOrderWaveEquationSEM::cleanup (real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
 Overridden from ExecutableGroup. Used to write last seismogram if needed.
 
static constexpr char const * geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct::pressureNp1AtReceiversString ()
 
static constexpr char const * geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct::uxNp1AtReceiversString ()
 
static constexpr char const * geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct::uyNp1AtReceiversString ()
 
static constexpr char const * geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct::uzNp1AtReceiversString ()
 
static constexpr char const * geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct::sourceElemString ()
 
static constexpr char const * geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct::sourceRegionString ()
 
real64 geos::AcousticFirstOrderWaveEquationSEM::explicitStepInternal (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain)
 
virtual void geos::AcousticFirstOrderWaveEquationSEM::postInputInitialization () override final
 
virtual void geos::AcousticFirstOrderWaveEquationSEM::initializePostInitialConditionsPreSubGroups () override final
 Called by InitializePostInitialConditions() prior to initializing sub-Groups.
 
virtual real64 geos::AcousticVTIWaveEquationSEM::explicitStepForward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform forward explicit step. More...
 
virtual real64 geos::AcousticVTIWaveEquationSEM::explicitStepBackward (real64 const &GEOS_UNUSED_PARAM(time_n), real64 const &GEOS_UNUSED_PARAM(dt), integer const GEOS_UNUSED_PARAM(cycleNumber), DomainPartition &GEOS_UNUSED_PARAM(domain), bool const GEOS_UNUSED_PARAM(computeGradient)) override
 
virtual real64 geos::AcousticWaveEquationSEM::explicitStepForward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform forward explicit step. More...
 
virtual real64 geos::AcousticWaveEquationSEM::explicitStepBackward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform backward explicit step. More...
 
virtual real64 geos::ElasticFirstOrderWaveEquationSEM::explicitStepForward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform forward explicit step. More...
 
virtual real64 geos::ElasticFirstOrderWaveEquationSEM::explicitStepBackward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform backward explicit step. More...
 
virtual void geos::ElasticFirstOrderWaveEquationSEM::initializePML () override
 Initialize Perfectly Matched Layer (PML) information.
 
virtual void geos::ElasticFirstOrderWaveEquationSEM::cleanup (real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
 Overridden from ExecutableGroup. Used to write last seismogram if needed.
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::displacementxNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::displacementyNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::displacementzNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sigmaxxNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sigmayyNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sigmazzNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sigmaxyNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sigmaxzNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sigmayzNp1AtReceiversString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sourceElemString ()
 
static constexpr char const * geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct::sourceRegionString ()
 
real64 geos::ElasticFirstOrderWaveEquationSEM::explicitStepInternal (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain)
 
virtual void geos::ElasticFirstOrderWaveEquationSEM::postInputInitialization () override final
 
virtual void geos::ElasticFirstOrderWaveEquationSEM::initializePostInitialConditionsPreSubGroups () override final
 Called by InitializePostInitialConditions() prior to initializing sub-Groups.
 
virtual real64 geos::ElasticWaveEquationSEM::explicitStepForward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform forward explicit step. More...
 
virtual real64 geos::ElasticWaveEquationSEM::explicitStepBackward (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, bool const computeGradient) override
 Perform backward explicit step. More...
 

Variables

geos::AcousticFirstOrderWaveEquationSEM::viewKeyStruct geos::AcousticFirstOrderWaveEquationSEM::waveEquationViewKeys
 
geos::ElasticFirstOrderWaveEquationSEM::viewKeyStruct geos::ElasticFirstOrderWaveEquationSEM::waveEquationViewKeys
 

Detailed Description

These functions provide the primary interface that is required for derived classes

This function provides the primary interface that is required for derived classes

Function Documentation

◆ applyAquiferBC() [1/2]

virtual void geos::CompositionalMultiphaseHybridFVM::applyAquiferBC ( real64 const  time,
real64 const  dt,
DofManager const &  dofManager,
DomainPartition domain,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
overridevirtual

Apply aquifer boundary conditions to the system.

Parameters
timecurrent time
dttime step
dofManagerdegree-of-freedom manager associated with the linear system
domainthe domain
localMatrixlocal system matrix
localRhslocal system right-hand side vector

Implements geos::CompositionalMultiphaseBase.

◆ applyAquiferBC() [2/2]

virtual void geos::SinglePhaseHybridFVM::applyAquiferBC ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
finaloverridevirtual

Apply aquifer boundary conditions to the system.

Parameters
timecurrent time
dttime step
domainthe domain
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixlocal system matrix
localRhslocal system right-hand side vector

Implements geos::SinglePhaseBase.

◆ applyBoundaryConditions() [1/12]

virtual void geos::PhysicsSolverBase::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
virtual

◆ applyBoundaryConditions() [2/12]

virtual void geos::ProppantTransport::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

◆ applyBoundaryConditions() [3/12]

virtual void geos::PhaseFieldDamageFEM::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

◆ applyBoundaryConditions() [4/12]

virtual void geos::SolidMechanicsLagrangianFEM::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

◆ applyBoundaryConditions() [5/12]

virtual void geos::CompositionalMultiphaseBase::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::CompositionalMultiphaseHybridFVM, and geos::CompositionalMultiphaseFVM.

◆ applyBoundaryConditions() [6/12]

virtual void geos::CompositionalMultiphaseFVM::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::CompositionalMultiphaseBase.

◆ applyBoundaryConditions() [7/12]

virtual void geos::CompositionalMultiphaseHybridFVM::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::CompositionalMultiphaseBase.

◆ applyBoundaryConditions() [8/12]

virtual void geos::ReactiveCompositionalMultiphaseOBL::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

◆ applyBoundaryConditions() [9/12]

virtual void geos::SinglePhaseBase::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SinglePhaseHybridFVM, and geos::SinglePhaseFVM< BASE >.

◆ applyBoundaryConditions() [10/12]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::SinglePhaseBase.

◆ applyBoundaryConditions() [11/12]

virtual void geos::SinglePhaseHybridFVM::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::SinglePhaseBase.

◆ applyBoundaryConditions() [12/12]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::applyBoundaryConditions ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
inlineoverridevirtual

apply boundary condition to system

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function applies all boundary conditions to the linear system. This is essentially a completion of the system assembly, but is separated for use in coupled solvers.

Reimplemented from geos::PhysicsSolverBase.

Definition at line 265 of file CoupledSolver.hpp.

◆ applyDirichletBC()

void geos::ReactiveCompositionalMultiphaseOBL::applyDirichletBC ( real64 const  time,
real64 const  dt,
DofManager const &  dofManager,
DomainPartition domain,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const

Function to perform the Application of Dirichlet type BC's.

Parameters
timecurrent time
dttime step
dofManagerdegree-of-freedom manager associated with the linear system
domainthe domain
localMatrixlocal system matrix
localRhslocal system right-hand side vector

◆ applyFaceDirichletBC()

void geos::SinglePhaseHybridFVM::applyFaceDirichletBC ( real64 const  time_n,
real64 const  dt,
DofManager const &  faceSet,
DomainPartition domain,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)

Function to perform the application of Dirichlet BCs on faces.

Parameters
[in]time_ncurrent time
[in]dttime step
[in]faceSetdegree-of-freedom manager associated with the linear system
[in]domainthe domain
[in,out]localMatrixthe system matrix
[in,out]localRhsthe system right-hand side vector

◆ applySourceFluxBC()

void geos::ReactiveCompositionalMultiphaseOBL::applySourceFluxBC ( real64 const  time,
real64 const  dt,
DofManager const &  dofManager,
DomainPartition domain,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const

Apply source flux boundary conditions to the system.

Parameters
timecurrent time
dttime step
dofManagerdegree-of-freedom manager associated with the linear system
domainthe domain
localMatrixlocal system matrix
localRhslocal system right-hand side vector

◆ applySystemSolution() [1/12]

virtual void geos::PhysicsSolverBase::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
virtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented in geos::SolidMechanicsLagrangianFEM, geos::PhaseFieldDamageFEM, geos::LaplaceBaseH1, geos::CoupledSolver< SOLVERS >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SolidMechanicsLagrangianFEM, PhaseFieldDamageFEM >, geos::CoupledSolver< ProppantTransport, FlowSolverBase >, geos::CoupledSolver< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::CoupledSolver< FLOW_SOLVER, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::SinglePhaseWell, geos::CompositionalMultiphaseWell, geos::SinglePhaseHybridFVM, geos::SinglePhaseFVM< BASE >, geos::ReactiveCompositionalMultiphaseOBL, geos::ProppantTransport, geos::CompositionalMultiphaseHybridFVM, geos::CompositionalMultiphaseFVM, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ applySystemSolution() [2/12]

virtual void geos::CompositionalMultiphaseFVM::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [3/12]

virtual void geos::CompositionalMultiphaseHybridFVM::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [4/12]

virtual void geos::ProppantTransport::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [5/12]

virtual void geos::ReactiveCompositionalMultiphaseOBL::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [6/12]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [7/12]

virtual void geos::SinglePhaseHybridFVM::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [8/12]

virtual void geos::CompositionalMultiphaseWell::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [9/12]

virtual void geos::SinglePhaseWell::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [10/12]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
inlineoverridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Definition at line 190 of file CoupledSolver.hpp.

◆ applySystemSolution() [11/12]

virtual void geos::PhaseFieldDamageFEM::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ applySystemSolution() [12/12]

virtual void geos::SolidMechanicsLagrangianFEM::applySystemSolution ( DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor,
real64 const  dt,
DomainPartition domain 
)
overridevirtual

Function to apply the solution vector to the state.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
dtthe timestep
domainthe domain partition

This function performs 2 operations: 1) extract the solution vector for the "blockSystem" parameter, and applies the contents of the solution vector to the primary variable field data, 2) perform a synchronization of the primary field variable such that all ghosts are updated,

The "scalingFactor" parameter allows for the scaled application of the solution vector. For instance, a line search may apply a negative scaling factor to remove part of the previously applied solution.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ assembleAccumulationAndVolumeBalanceTerms()

void geos::CompositionalMultiphaseBase::assembleAccumulationAndVolumeBalanceTerms ( DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const

assembles the accumulation and volume balance terms for all cells

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

◆ assembleAccumulationTerms() [1/2]

void geos::ReactiveCompositionalMultiphaseOBL::assembleAccumulationTerms ( real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const

assembles the accumulation term for all cells

Parameters
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

◆ assembleAccumulationTerms() [2/2]

void geos::ProppantTransport::assembleAccumulationTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)

assembles the accumulation terms for all cells

Parameters
domainthe physical domain object
blockSystemthe entire block system
time_nprevious time value
dttime step

◆ assembleEDFMFluxTerms() [1/2]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::assembleEDFMFluxTerms ( real64 const  time_n,
real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs,
string const &  jumpDofKey 
)
finaloverridevirtual

assembles the flux terms for all cells for the poroelastic case

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector
jumpDofKeydofKey of the displacement jump

Implements geos::SinglePhaseBase.

◆ assembleEDFMFluxTerms() [2/2]

virtual void geos::SinglePhaseHybridFVM::assembleEDFMFluxTerms ( real64 const  time_n,
real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs,
string const &  jumpDofKey 
)
finaloverridevirtual

assembles the flux terms for all cells for the poroelastic case

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector
jumpDofKeydofKey of the displacement jump

Implements geos::SinglePhaseBase.

◆ assembleFluxTerms() [1/6]

void geos::ProppantTransport::assembleFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)

assembles the flux terms for all cells

Parameters
domainthe physical domain object
blockSystemthe entire block system
time_nprevious time value
dttime step

◆ assembleFluxTerms() [2/6]

virtual void geos::ReactiveCompositionalMultiphaseOBL::assembleFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
virtual

assembles the flux term for all cells

Parameters
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

◆ assembleFluxTerms() [3/6]

virtual void geos::CompositionalMultiphaseBase::assembleFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
pure virtual

assembles the flux terms for all cells

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implemented in geos::CompositionalMultiphaseHybridFVM, and geos::CompositionalMultiphaseFVM.

◆ assembleFluxTerms() [4/6]

virtual void geos::CompositionalMultiphaseHybridFVM::assembleFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
overridevirtual

assembles the flux terms for all cells

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::CompositionalMultiphaseBase.

◆ assembleFluxTerms() [5/6]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::assembleFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the flux terms for all cells

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

Implements geos::SinglePhaseBase.

◆ assembleFluxTerms() [6/6]

virtual void geos::SinglePhaseHybridFVM::assembleFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the flux terms for all cells

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

Implements geos::SinglePhaseBase.

◆ assembleHydrofracFluxTerms() [1/2]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::assembleHydrofracFluxTerms ( real64 const  time_n,
real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs,
CRSMatrixView< real64, localIndex const > const &  dR_dAper 
)
finaloverridevirtual

assembles the flux terms for all cells for the hydrofracture case

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector
dR_dAper

Implements geos::SinglePhaseBase.

◆ assembleHydrofracFluxTerms() [2/2]

virtual void geos::SinglePhaseHybridFVM::assembleHydrofracFluxTerms ( real64 const  time_n,
real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs,
CRSMatrixView< real64, localIndex const > const &  dR_dAper 
)
finaloverridevirtual

assembles the flux terms for all cells for the hydrofracture case

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector
dR_dAper

Implements geos::SinglePhaseBase.

◆ assembleStabilizedFluxTerms() [1/4]

virtual void geos::CompositionalMultiphaseBase::assembleStabilizedFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
pure virtual

assembles the flux terms for all cells with pressure jump stabilization

Parameters
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implemented in geos::CompositionalMultiphaseHybridFVM, and geos::CompositionalMultiphaseFVM.

◆ assembleStabilizedFluxTerms() [2/4]

virtual void geos::CompositionalMultiphaseHybridFVM::assembleStabilizedFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
) const
overridevirtual

assembles the flux terms for all cells with pressure jump stabilization

Parameters
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector

Implements geos::CompositionalMultiphaseBase.

◆ assembleStabilizedFluxTerms() [3/4]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::assembleStabilizedFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the flux terms for all cells including jump stabilization

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

Implements geos::SinglePhaseBase.

◆ assembleStabilizedFluxTerms() [4/4]

virtual void geos::SinglePhaseHybridFVM::assembleStabilizedFluxTerms ( real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

assembles the flux terms for all cells including jump stabilization

Parameters
time_nprevious time value
dttime step
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

Implements geos::SinglePhaseBase.

◆ assembleSystem() [1/12]

virtual void geos::PhysicsSolverBase::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
virtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented in geos::CoupledSolver< SOLVERS >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SolidMechanicsLagrangianFEM, PhaseFieldDamageFEM >, geos::CoupledSolver< ProppantTransport, FlowSolverBase >, geos::CoupledSolver< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::CoupledSolver< FLOW_SOLVER, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::SinglePhaseBase, geos::ReactiveCompositionalMultiphaseOBL, geos::CompositionalMultiphaseBase, geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >, geos::SolidMechanicsLagrangianFEM, geos::PhaseFieldDamageFEM, geos::LaplaceFEM, geos::SinglePhasePoromechanicsEmbeddedFractures, geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >, geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >, geos::HydrofractureSolver< POROMECHANICS_SOLVER >, geos::WellSolverBase, geos::ProppantTransport, geos::SolidMechanicsPenaltyContact, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ assembleSystem() [2/12]

virtual void geos::ProppantTransport::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ assembleSystem() [3/12]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::assembleSystem ( real64 const  time_n,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Fully-coupled assembly.

Reimplemented from geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >.

◆ assembleSystem() [4/12]

template<typename FLOW_SOLVER = CompositionalMultiphaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::assembleSystem ( real64 const  time_n,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Fully-coupled assembly.

Reimplemented from geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >.

◆ assembleSystem() [5/12]

template<typename FLOW_SOLVER = SinglePhaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::assembleSystem ( real64 const  time_n,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Fully-coupled assembly.

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

Reimplemented in geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >, geos::SinglePhasePoromechanicsEmbeddedFractures, and geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

◆ assembleSystem() [6/12]

virtual void geos::PhaseFieldDamageFEM::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ assembleSystem() [7/12]

virtual void geos::SolidMechanicsLagrangianFEM::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsPenaltyContact, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ assembleSystem() [8/12]

template<typename FLOW_SOLVER = SinglePhaseBase>
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
finaloverridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsLagrangeContact >.

◆ assembleSystem() [9/12]

virtual void geos::CompositionalMultiphaseBase::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ assembleSystem() [10/12]

virtual void geos::ReactiveCompositionalMultiphaseOBL::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ assembleSystem() [11/12]

virtual void geos::SinglePhaseBase::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
overridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ assembleSystem() [12/12]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::assembleSystem ( real64 const  time,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
inlineoverridevirtual

function to assemble the linear system matrix and rhs

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
localRhsthe system right-hand side vector

This function assembles the residual and the jacobian of the residual wrt the primary variables. In a stand alone physics solver, this function will fill a single block in the block system. However the capability to query the block system structure for any coupled blocks may be implemented to fill in off diagonal blocks of the system to enable coupling between solvers.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Fully-coupled assembly.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >, geos::SinglePhasePoromechanicsEmbeddedFractures, geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >, geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >, and geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

Definition at line 170 of file CoupledSolver.hpp.

◆ calculateResidualNorm() [1/12]

virtual real64 geos::PhysicsSolverBase::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
virtual

◆ calculateResidualNorm() [2/12]

virtual real64 geos::CompositionalMultiphaseFVM::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [3/12]

virtual real64 geos::CompositionalMultiphaseHybridFVM::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [4/12]

virtual real64 geos::ProppantTransport::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [5/12]

virtual real64 geos::ReactiveCompositionalMultiphaseOBL::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [6/12]

template<typename BASE = SinglePhaseBase>
virtual real64 geos::SinglePhaseFVM< BASE >::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [7/12]

virtual real64 geos::SinglePhaseHybridFVM::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [8/12]

virtual real64 geos::CompositionalMultiphaseWell::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [9/12]

virtual real64 geos::SinglePhaseWell::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [10/12]

template<typename ... SOLVERS>
virtual real64 geos::CoupledSolver< SOLVERS >::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
inlineoverridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

Definition at line 248 of file CoupledSolver.hpp.

◆ calculateResidualNorm() [11/12]

virtual real64 geos::PhaseFieldDamageFEM::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

◆ calculateResidualNorm() [12/12]

virtual real64 geos::SolidMechanicsLagrangianFEM::calculateResidualNorm ( real64 const &  time,
real64 const &  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localRhs 
)
overridevirtual

calculate the norm of the global system residual

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localRhsthe system right-hand side vector
Returns
norm of the residual

This function returns the norm of global residual vector, which is suitable for comparison with a tolerance.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsEmbeddedFractures, geos::SolidMechanicsAugmentedLagrangianContact, geos::SolidMechanicsLagrangeContactBubbleStab, and geos::SolidMechanicsLagrangeContact.

◆ checkSystemSolution() [1/8]

virtual bool geos::PhysicsSolverBase::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
virtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented in geos::CoupledSolver< SOLVERS >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SolidMechanicsLagrangianFEM, PhaseFieldDamageFEM >, geos::CoupledSolver< ProppantTransport, FlowSolverBase >, geos::CoupledSolver< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::CoupledSolver< FLOW_SOLVER, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::SinglePhaseWell, geos::CompositionalMultiphaseWell, geos::SinglePhaseBase, geos::ReactiveCompositionalMultiphaseOBL, geos::CompositionalMultiphaseHybridFVM, and geos::CompositionalMultiphaseFVM.

◆ checkSystemSolution() [2/8]

virtual bool geos::CompositionalMultiphaseFVM::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
overridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ checkSystemSolution() [3/8]

virtual bool geos::CompositionalMultiphaseHybridFVM::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
overridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ checkSystemSolution() [4/8]

virtual bool geos::ReactiveCompositionalMultiphaseOBL::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
overridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ checkSystemSolution() [5/8]

virtual bool geos::SinglePhaseBase::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
overridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ checkSystemSolution() [6/8]

virtual bool geos::CompositionalMultiphaseWell::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
overridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ checkSystemSolution() [7/8]

virtual bool geos::SinglePhaseWell::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
overridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ checkSystemSolution() [8/8]

template<typename ... SOLVERS>
virtual bool geos::CoupledSolver< SOLVERS >::checkSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution,
real64 const  scalingFactor 
)
inlineoverridevirtual

Function to check system solution for physical consistency and constraint violation.

Parameters
domainthe domain partition
dofManagerdegree-of-freedom manager associated with the linear system
localSolutionthe solution vector
scalingFactorfactor to scale the solution prior to application
Returns
true if solution can be safely applied without violating physical constraints, false otherwise
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Definition at line 279 of file CoupledSolver.hpp.

◆ chopPrimaryVariables()

void geos::ReactiveCompositionalMultiphaseOBL::chopPrimaryVariables ( DomainPartition domain)

Sets all the primary variables, which are outside of defined OBL parametrization limits, to be inside them Helps to evaluate correct operator values/derivatives when a disturbed solution is obtained from a previous Newton iteration Does not help in case if the model is defined inconsistently: for instance, if minimum pressure value in OBL table is higher, than BHP used by a producer/sink In that case, the solution will be chopped all the time and Newton will never converge.

Parameters
domainthe physical domain object

◆ cleanup()

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::cleanup ( real64 const  time_n,
integer const  cycleNumber,
integer const  eventCounter,
real64 const  eventProgress,
DomainPartition domain 
)
inlineoverridevirtual

Called as the code exits the main run loop.

Parameters
[in]time_ncurrent time level
[in]cycleNumberglobal cycle number
[in]eventCounterindex of event that triggered execution
[in]eventProgressfractional progress in current cycle
[in,out]domainthe physical domain

Reimplemented from geos::PhysicsSolverBase.

Definition at line 337 of file CoupledSolver.hpp.

◆ debugOutputSolution()

void geos::PhysicsSolverBase::debugOutputSolution ( real64 const &  time,
integer const  cycleNumber,
integer const  nonlinearIteration,
ParallelVector const &  solution 
) const

Output the linear system solution for debug purposes.

Parameters
timebeginning-of-step time
cycleNumberevent cycle number
nonlinearIterationcurrent nonlinear iteration number
solutionsystem solution vector

◆ debugOutputSystem()

void geos::PhysicsSolverBase::debugOutputSystem ( real64 const &  time,
integer const  cycleNumber,
integer const  nonlinearIteration,
ParallelMatrix const &  matrix,
ParallelVector const &  rhs 
) const

Output the assembled linear system for debug purposes.

Parameters
timebeginning-of-step time
cycleNumberevent cycle number
nonlinearIterationcurrent nonlinear iteration number
matrixsystem matrix
rhssystem right-hand side vector

◆ explicitStep() [1/4]

virtual real64 geos::PhysicsSolverBase::explicitStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
virtual

Entry function for an explicit time integration step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

Reimplemented in geos::ContactSolverBase, geos::WaveSolverBase, geos::SolidMechanicsMPM, geos::SolidMechanicsLagrangianFEM, and geos::PhaseFieldDamageFEM.

◆ explicitStep() [2/4]

virtual real64 geos::PhaseFieldDamageFEM::explicitStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

Entry function for an explicit time integration step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

Reimplemented from geos::PhysicsSolverBase.

◆ explicitStep() [3/4]

virtual real64 geos::SolidMechanicsLagrangianFEM::explicitStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

Entry function for an explicit time integration step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::ContactSolverBase.

◆ explicitStep() [4/4]

virtual real64 geos::SolidMechanicsMPM::explicitStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

Entry function for an explicit time integration step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

Reimplemented from geos::PhysicsSolverBase.

◆ explicitStepBackward() [1/4]

virtual real64 geos::AcousticFirstOrderWaveEquationSEM::explicitStepBackward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform backward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepBackward() [2/4]

virtual real64 geos::AcousticWaveEquationSEM::explicitStepBackward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform backward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepBackward() [3/4]

virtual real64 geos::ElasticFirstOrderWaveEquationSEM::explicitStepBackward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform backward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepBackward() [4/4]

virtual real64 geos::ElasticWaveEquationSEM::explicitStepBackward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform backward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepForward() [1/5]

virtual real64 geos::AcousticFirstOrderWaveEquationSEM::explicitStepForward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform forward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepForward() [2/5]

virtual real64 geos::AcousticVTIWaveEquationSEM::explicitStepForward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform forward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepForward() [3/5]

virtual real64 geos::AcousticWaveEquationSEM::explicitStepForward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform forward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepForward() [4/5]

virtual real64 geos::ElasticFirstOrderWaveEquationSEM::explicitStepForward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform forward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepForward() [5/5]

virtual real64 geos::ElasticWaveEquationSEM::explicitStepForward ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
bool const  computeGradient 
)
overridevirtual

Perform forward explicit step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
computeGradientIndicates if we want to compute gradient at this step
Returns
return the timestep that was achieved during the step.

Implements geos::WaveSolverBase.

◆ explicitStepInternal() [1/2]

real64 geos::AcousticFirstOrderWaveEquationSEM::explicitStepInternal ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)

internal function to the class to compute explicitStep either for backward or forward. (requires not to be private because it is called from GEOS_HOST_DEVICE method)

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

◆ explicitStepInternal() [2/2]

real64 geos::ElasticFirstOrderWaveEquationSEM::explicitStepInternal ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)

internal function to the class to compute explicitStep either for backward or forward. (requires not to be private because it is called from GEOS_HOST_DEVICE method)

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

◆ getMassUnit()

virtual units::Unit geos::CompositionalMultiphaseBase::getMassUnit ( ) const
inlineoverridevirtual
Returns
The unit in which we evaluate the amount of fluid per element (Mass or Mole, depending on useMass).

Reimplemented from geos::FlowSolverBase.

Definition at line 190 of file CompositionalMultiphaseBase.hpp.

◆ getTimestepRequest()

virtual real64 geos::PhysicsSolverBase::getTimestepRequest ( real64 const  )
inlineoverridevirtual

getter for the next timestep size

Returns
the next timestep size m_nextDt

Reimplemented from geos::ExecutableGroup.

Definition at line 649 of file PhysicsSolverBase.hpp.

◆ implicitStepComplete() [1/11]

virtual void geos::PhysicsSolverBase::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
virtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented in geos::HydrofractureSolver< POROMECHANICS_SOLVER >, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, geos::SolidMechanicsAugmentedLagrangianContact, geos::CoupledSolver< SOLVERS >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SolidMechanicsLagrangianFEM, PhaseFieldDamageFEM >, geos::CoupledSolver< ProppantTransport, FlowSolverBase >, geos::CoupledSolver< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::CoupledSolver< FLOW_SOLVER, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::SolidMechanicsLagrangianFEM, geos::PhaseFieldDamageFEM, geos::LaplaceBaseH1, geos::SinglePhaseWell, geos::CompositionalMultiphaseWell, geos::SinglePhaseBase, geos::ReactiveCompositionalMultiphaseOBL, geos::ProppantTransport, and geos::CompositionalMultiphaseBase.

◆ implicitStepComplete() [2/11]

virtual void geos::CompositionalMultiphaseBase::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [3/11]

virtual void geos::ProppantTransport::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [4/11]

virtual void geos::ReactiveCompositionalMultiphaseOBL::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [5/11]

virtual void geos::SinglePhaseBase::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [6/11]

virtual void geos::CompositionalMultiphaseWell::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [7/11]

virtual void geos::SinglePhaseWell::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [8/11]

virtual void geos::PhaseFieldDamageFEM::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepComplete() [9/11]

virtual void geos::SolidMechanicsLagrangianFEM::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ implicitStepComplete() [10/11]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::implicitStepComplete ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
inlineoverridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

Definition at line 158 of file CoupledSolver.hpp.

◆ implicitStepComplete() [11/11]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::implicitStepComplete ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
finaloverridevirtual

perform cleanup for implicit timestep

Parameters
timethe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function performs whatever tasks are required to complete an implicit timestep. For example, the acceptance of the solution will occur during this step, and deallocation of temporaries will be be performed in this function.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

◆ implicitStepSetup() [1/14]

virtual void geos::PhaseFieldDamageFEM::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
inlineoverridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Definition at line 111 of file PhaseFieldDamageFEM.hpp.

◆ implicitStepSetup() [2/14]

virtual void geos::CompositionalMultiphaseWell::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::WellSolverBase.

◆ implicitStepSetup() [3/14]

virtual void geos::SinglePhaseWell::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::WellSolverBase.

◆ implicitStepSetup() [4/14]

virtual void geos::PhysicsSolverBase::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
virtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented in geos::HydrofractureSolver< POROMECHANICS_SOLVER >, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsAugmentedLagrangianContact, geos::SolidMechanicsLagrangianFEM, geos::LaplaceBaseH1, geos::PoromechanicsSolver< FLOW_SOLVER, MECHANICS_SOLVER >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::CoupledSolver< SOLVERS >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SolidMechanicsLagrangianFEM, PhaseFieldDamageFEM >, geos::CoupledSolver< ProppantTransport, FlowSolverBase >, geos::CoupledSolver< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::CoupledSolver< FLOW_SOLVER, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::CoupledReservoirAndWellsBase< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledReservoirAndWellsBase< SinglePhaseBase, SinglePhaseWell >, geos::CoupledReservoirAndWellsBase< CompositionalMultiphaseBase, CompositionalMultiphaseWell >, geos::WellSolverBase, geos::SinglePhaseHybridFVM, geos::SinglePhaseBase, geos::ReactiveCompositionalMultiphaseOBL, geos::ProppantTransport, geos::CompositionalMultiphaseHybridFVM, geos::CompositionalMultiphaseBase, geos::SinglePhaseWell, geos::CompositionalMultiphaseWell, and geos::PhaseFieldDamageFEM.

◆ implicitStepSetup() [5/14]

virtual void geos::CompositionalMultiphaseBase::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::CompositionalMultiphaseHybridFVM.

◆ implicitStepSetup() [6/14]

virtual void geos::CompositionalMultiphaseHybridFVM::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::CompositionalMultiphaseBase.

◆ implicitStepSetup() [7/14]

virtual void geos::ProppantTransport::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepSetup() [8/14]

virtual void geos::ReactiveCompositionalMultiphaseOBL::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ implicitStepSetup() [9/14]

virtual void geos::SinglePhaseBase::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SinglePhaseHybridFVM.

◆ implicitStepSetup() [10/14]

virtual void geos::SinglePhaseHybridFVM::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::SinglePhaseBase.

◆ implicitStepSetup() [11/14]

virtual void geos::WellSolverBase::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

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

◆ implicitStepSetup() [12/14]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
inlineoverridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::HydrofractureSolver< POROMECHANICS_SOLVER >, geos::PoromechanicsSolver< FLOW_SOLVER, MECHANICS_SOLVER >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::CoupledReservoirAndWellsBase< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledReservoirAndWellsBase< SinglePhaseBase, SinglePhaseWell >, and geos::CoupledReservoirAndWellsBase< CompositionalMultiphaseBase, CompositionalMultiphaseWell >.

Definition at line 147 of file CoupledSolver.hpp.

◆ implicitStepSetup() [13/14]

virtual void geos::SolidMechanicsLagrangianFEM::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ implicitStepSetup() [14/14]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::implicitStepSetup ( real64 const &  time_n,
real64 const &  dt,
DomainPartition domain 
)
finaloverridevirtual

function to perform setup for implicit timestep

Parameters
time_nthe time at the beginning of the step
dtthe desired timestep
domainthe domain partition

This function should contain any step level initialization required to perform an implicit step.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

◆ linearImplicitStep()

virtual real64 geos::PhysicsSolverBase::linearImplicitStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
virtual

Function for a linear implicit integration step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function implements a single linear step. Similar to the nonlinear step, however it assumes that the solution is achieved in a iteration. The use of this function requires that the other functions in the solver interface are implemented in the derived physics solver. The nonlinear loop includes a simple line search algorithm, and will cut the timestep if convergence is not achieved according to the parameters in linearSolverParameters member.

◆ lineSearch()

virtual bool geos::PhysicsSolverBase::lineSearch ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
real64 const  scaleFactor,
real64 lastResidual 
)
virtual

Function to perform line search.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
scaleFactorthe scaling factor to apply to the solution
lastResidual(in) target value below which to reduce residual norm, (out) achieved residual norm
Returns
return true if line search succeeded, false otherwise

This function implements a nonlinear newton method for implicit problems. It requires that the other functions in the solver interface are implemented in the derived physics solver. The nonlinear loop includes a simple line search algorithm, and will cut the timestep if convergence is not achieved according to the parameters in linearSolverParameters member.

◆ lineSearchWithParabolicInterpolation()

virtual bool geos::PhysicsSolverBase::lineSearchWithParabolicInterpolation ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
real64 const  scaleFactor,
real64 lastResidual,
real64 residualNormT 
)
virtual

Function to perform line search using a parabolic interpolation to find the scaling factor.

Parameters
time_ntime at the beginning of the step
dtthe prescribed timestep
cycleNumberthe current cycle number
domainthe domain object
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
scaleFactorthe scaling factor to apply to the solution
lastResidual(in) target value below which to reduce residual norm, (out) achieved residual norm
residualNormTthe residual norm at the end of the line search
Returns
return true if line search succeeded, false otherwise

◆ nonlinearImplicitStep()

virtual real64 geos::PhysicsSolverBase::nonlinearImplicitStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
virtual

Function for a nonlinear implicit integration step.

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function implements a nonlinear newton method for implicit problems. It requires that the other functions in the solver interface are implemented in the derived physics solver. The nonlinear loop includes a simple line search algorithm, and will cut the timestep if convergence is not achieved according to the parameters in linearSolverParameters member.

◆ numFluidComponents() [1/2]

integer geos::CompositionalMultiphaseBase::numFluidComponents ( ) const
inline

Getter for the number of fluid components (species)

Returns
the number of components

Definition at line 173 of file CompositionalMultiphaseBase.hpp.

◆ numFluidComponents() [2/2]

localIndex geos::ReactiveCompositionalMultiphaseOBL::numFluidComponents ( ) const
inline

Get the number of fluid components (species)

Returns
the number of components

Definition at line 185 of file ReactiveCompositionalMultiphaseOBL.hpp.

◆ numFluidPhases() [1/2]

integer geos::CompositionalMultiphaseBase::numFluidPhases ( ) const
inline

Getter for the number of fluid phases.

Returns
the number of phases

Definition at line 179 of file CompositionalMultiphaseBase.hpp.

◆ numFluidPhases() [2/2]

localIndex geos::ReactiveCompositionalMultiphaseOBL::numFluidPhases ( ) const
inline

Get the number of fluid phases.

Returns
the number of phases

Definition at line 191 of file ReactiveCompositionalMultiphaseOBL.hpp.

◆ numOBLOperators()

localIndex geos::ReactiveCompositionalMultiphaseOBL::numOBLOperators ( ) const
inline

Get the number of OBL operators.

Returns
the number of OBL operators

Definition at line 197 of file ReactiveCompositionalMultiphaseOBL.hpp.

◆ outputConfigurationStatistics()

virtual void geos::PhysicsSolverBase::outputConfigurationStatistics ( DomainPartition const &  domain) const
virtual

◆ postInputInitialization() [1/4]

template<typename FLOW_SOLVER = CompositionalMultiphaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::postInputInitialization ( )
overridevirtual

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

Reimplemented from geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >.

◆ postInputInitialization() [2/4]

template<typename FLOW_SOLVER = SinglePhaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::postInputInitialization ( )
overridevirtual

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

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

Reimplemented in geos::SinglePhasePoromechanicsEmbeddedFractures, and geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

◆ postInputInitialization() [3/4]

virtual void geos::AcousticFirstOrderWaveEquationSEM::postInputInitialization ( )
finaloverrideprotectedvirtual

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

Reimplemented from geos::WaveSolverBase.

◆ postInputInitialization() [4/4]

virtual void geos::ElasticFirstOrderWaveEquationSEM::postInputInitialization ( )
finaloverrideprotectedvirtual

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

Reimplemented from geos::WaveSolverBase.

◆ referenceFluidModelName()

string geos::CompositionalMultiphaseBase::referenceFluidModelName ( ) const
inline

Getter for the name of the reference fluid model name.

Returns
the name of the reference fluid

Definition at line 185 of file CompositionalMultiphaseBase.hpp.

◆ registerDataOnMesh() [1/2]

virtual void geos::WellSolverBase::registerDataOnMesh ( Group MeshBodies)
overridevirtual

Register wrappers that contain data on the mesh objects.

Parameters
MeshBodiesthe group of mesh bodies

Reimplemented from geos::PhysicsSolverBase.

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

◆ registerDataOnMesh() [2/2]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::registerDataOnMesh ( Group MeshBodies)
finaloverridevirtual

Register wrappers that contain data on the mesh objects.

Parameters
MeshBodiesthe group of mesh bodies

Reimplemented from geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

◆ resetConfigurationToBeginningOfStep()

virtual void geos::PhysicsSolverBase::resetConfigurationToBeginningOfStep ( DomainPartition domain)
virtual

◆ resetConfigurationToDefault()

virtual bool geos::PhysicsSolverBase::resetConfigurationToDefault ( DomainPartition domain) const
virtual

◆ resetStateToBeginningOfStep() [1/13]

virtual void geos::PhaseFieldDamageFEM::resetStateToBeginningOfStep ( DomainPartition domain)
inlineoverridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Definition at line 120 of file PhaseFieldDamageFEM.hpp.

◆ resetStateToBeginningOfStep() [2/13]

virtual void geos::PhysicsSolverBase::resetStateToBeginningOfStep ( DomainPartition domain)
virtual

◆ resetStateToBeginningOfStep() [3/13]

virtual void geos::CompositionalMultiphaseBase::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::CompositionalMultiphaseHybridFVM.

◆ resetStateToBeginningOfStep() [4/13]

virtual void geos::CompositionalMultiphaseHybridFVM::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::CompositionalMultiphaseBase.

◆ resetStateToBeginningOfStep() [5/13]

virtual void geos::ProppantTransport::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ resetStateToBeginningOfStep() [6/13]

virtual void geos::ReactiveCompositionalMultiphaseOBL::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ resetStateToBeginningOfStep() [7/13]

virtual void geos::SinglePhaseBase::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SinglePhaseHybridFVM.

◆ resetStateToBeginningOfStep() [8/13]

virtual void geos::SinglePhaseHybridFVM::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::SinglePhaseBase.

◆ resetStateToBeginningOfStep() [9/13]

virtual void geos::CompositionalMultiphaseWell::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ resetStateToBeginningOfStep() [10/13]

virtual void geos::SinglePhaseWell::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

◆ resetStateToBeginningOfStep() [11/13]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::resetStateToBeginningOfStep ( DomainPartition domain)
inlineoverridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

Definition at line 212 of file CoupledSolver.hpp.

◆ resetStateToBeginningOfStep() [12/13]

virtual void geos::SolidMechanicsLagrangianFEM::resetStateToBeginningOfStep ( DomainPartition domain)
overridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsLagrangeContact.

◆ resetStateToBeginningOfStep() [13/13]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::resetStateToBeginningOfStep ( DomainPartition domain)
finaloverridevirtual

reset state of physics back to the beginning of the step.

Parameters
domainThis function essentially abandons the step, and resets all variables back to thier values at the beginning of the step. This is useful for cases where convergence was not achieved, and a cut in timestep was required.
Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

◆ saveAquiferConvergedState() [1/2]

virtual void geos::CompositionalMultiphaseHybridFVM::saveAquiferConvergedState ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

Increment the cumulative flux from each aquifer.

Parameters
[in]timethe time at the beginning of the time step
[in]dtthe time step size
[in]domainthe domain partition

For now this function is here because it can be used for both single-phase flow and multiphase flow This may have to be revisited when aquifer BC is implemented for hybrid FVM

Reimplemented from geos::FlowSolverBase.

◆ saveAquiferConvergedState() [2/2]

virtual void geos::SinglePhaseHybridFVM::saveAquiferConvergedState ( real64 const &  time,
real64 const &  dt,
DomainPartition domain 
)
overridevirtual

Increment the cumulative flux from each aquifer.

Parameters
[in]timethe time at the beginning of the time step
[in]dtthe time step size
[in]domainthe domain partition

For now this function is here because it can be used for both single-phase flow and multiphase flow This may have to be revisited when aquifer BC is implemented for hybrid FVM

Reimplemented from geos::FlowSolverBase.

◆ saveConvergedState()

virtual void geos::CompositionalMultiphaseBase::saveConvergedState ( ElementSubRegionBase subRegion) const
finaloverridevirtual

Utility function to save the converged state.

Parameters
[in]subRegionthe element subRegion

Reimplemented from geos::FlowSolverBase.

◆ saveSequentialIterationState()

virtual void geos::CompositionalMultiphaseBase::saveSequentialIterationState ( DomainPartition domain)
finaloverridevirtual

Utility function to save the iteration state (useful for sequential simulations)

Parameters
[in]domainthe domain partition

Reimplemented from geos::FlowSolverBase.

◆ scalingForSystemSolution() [1/7]

virtual real64 geos::PhysicsSolverBase::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
virtual

◆ scalingForSystemSolution() [2/7]

virtual real64 geos::CompositionalMultiphaseFVM::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
overridevirtual

Function to determine if the solution vector should be scaled back in order to maintain a known constraint.

Parameters
[in]domainThe domain partition.
[in]dofManagerdegree-of-freedom manager associated with the linear system
[in]localSolutionthe solution vector
Returns
The factor that should be used to scale the solution vector values when they are being applied.

Reimplemented from geos::PhysicsSolverBase.

◆ scalingForSystemSolution() [3/7]

virtual real64 geos::CompositionalMultiphaseHybridFVM::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
overridevirtual

Function to determine if the solution vector should be scaled back in order to maintain a known constraint.

Parameters
[in]domainThe domain partition.
[in]dofManagerdegree-of-freedom manager associated with the linear system
[in]localSolutionthe solution vector
Returns
The factor that should be used to scale the solution vector values when they are being applied.

Reimplemented from geos::PhysicsSolverBase.

◆ scalingForSystemSolution() [4/7]

virtual real64 geos::ReactiveCompositionalMultiphaseOBL::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
overridevirtual

Function to determine if the solution vector should be scaled back in order to maintain a known constraint.

Parameters
[in]domainThe domain partition.
[in]dofManagerdegree-of-freedom manager associated with the linear system
[in]localSolutionthe solution vector
Returns
The factor that should be used to scale the solution vector values when they are being applied.

Reimplemented from geos::PhysicsSolverBase.

◆ scalingForSystemSolution() [5/7]

virtual real64 geos::SinglePhaseBase::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
overridevirtual

Function to determine if the solution vector should be scaled back in order to maintain a known constraint.

Parameters
[in]domainThe domain partition.
[in]dofManagerdegree-of-freedom manager associated with the linear system
[in]localSolutionthe solution vector
Returns
The factor that should be used to scale the solution vector values when they are being applied.

Reimplemented from geos::PhysicsSolverBase.

◆ scalingForSystemSolution() [6/7]

virtual real64 geos::CompositionalMultiphaseWell::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
overridevirtual

Function to determine if the solution vector should be scaled back in order to maintain a known constraint.

Parameters
[in]domainThe domain partition.
[in]dofManagerdegree-of-freedom manager associated with the linear system
[in]localSolutionthe solution vector
Returns
The factor that should be used to scale the solution vector values when they are being applied.

Reimplemented from geos::PhysicsSolverBase.

◆ scalingForSystemSolution() [7/7]

template<typename ... SOLVERS>
virtual real64 geos::CoupledSolver< SOLVERS >::scalingForSystemSolution ( DomainPartition domain,
DofManager const &  dofManager,
arrayView1d< real64 const > const &  localSolution 
)
inlineoverridevirtual

Function to determine if the solution vector should be scaled back in order to maintain a known constraint.

Parameters
[in]domainThe domain partition.
[in]dofManagerdegree-of-freedom manager associated with the linear system
[in]localSolutionthe solution vector
Returns
The factor that should be used to scale the solution vector values when they are being applied.

Reimplemented from geos::PhysicsSolverBase.

Definition at line 298 of file CoupledSolver.hpp.

◆ setNextDt() [1/2]

virtual real64 geos::PhysicsSolverBase::setNextDt ( real64 const &  currentDt,
DomainPartition domain 
)
virtual

function to set the next time step size

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

Reimplemented in geos::QuasiDynamicEQ, geos::HydrofractureSolver< POROMECHANICS_SOLVER >, geos::CompositionalMultiphaseBase, and geos::SolidMechanicsLagrangeContact.

◆ setNextDt() [2/2]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual real64 geos::HydrofractureSolver< POROMECHANICS_SOLVER >::setNextDt ( real64 const &  currentDt,
DomainPartition domain 
)
overridevirtual

function to set the next time step size

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

Reimplemented from geos::PhysicsSolverBase.

◆ setNextDtBasedOnCFL()

virtual real64 geos::PhysicsSolverBase::setNextDtBasedOnCFL ( real64 const &  currentDt,
DomainPartition domain 
)
virtual

function to set the next dt based on state change

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

Reimplemented in geos::CompositionalMultiphaseBase.

◆ setNextDtBasedOnNewtonIter() [1/2]

virtual real64 geos::PhysicsSolverBase::setNextDtBasedOnNewtonIter ( real64 const &  currentDt)
virtual

◆ setNextDtBasedOnNewtonIter() [2/2]

template<typename ... SOLVERS>
virtual real64 geos::CoupledSolver< SOLVERS >::setNextDtBasedOnNewtonIter ( real64 const &  currentDt)
inlineoverridevirtual

function to set the next time step size based on Newton convergence

Parameters
[in]currentDtthe current time step size
Returns
the prescribed time step size

Reimplemented from geos::PhysicsSolverBase.

Definition at line 325 of file CoupledSolver.hpp.

◆ setNextDtBasedOnStateChange() [1/2]

virtual real64 geos::PhysicsSolverBase::setNextDtBasedOnStateChange ( real64 const &  currentDt,
DomainPartition domain 
)
virtual

◆ setNextDtBasedOnStateChange() [2/2]

template<typename ... SOLVERS>
virtual real64 geos::CoupledSolver< SOLVERS >::setNextDtBasedOnStateChange ( real64 const &  currentDt,
DomainPartition domain 
)
inlineoverridevirtual

function to set the next dt based on state change

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

Reimplemented from geos::PhysicsSolverBase.

Definition at line 312 of file CoupledSolver.hpp.

◆ setupCoupling() [1/4]

template<typename FLOW_SOLVER = CompositionalMultiphaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::MultiphasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::setupCoupling ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Utility function to set the coupling between degrees of freedom.

Parameters
[in]domainthe domain partition
[in]dofManagerthe dof manager

Reimplemented from geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >.

◆ setupCoupling() [2/4]

template<typename FLOW_SOLVER = SinglePhaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::setupCoupling ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Utility function to set the coupling between degrees of freedom.

Parameters
[in]domainthe domain partition
[in]dofManagerthe dof manager

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

Reimplemented in geos::HydrofractureSolver< POROMECHANICS_SOLVER >, and geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >.

◆ setupCoupling() [3/4]

template<typename FLOW_SOLVER = SinglePhaseBase>
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::setupCoupling ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Utility function to set the coupling between degrees of freedom.

Parameters
[in]domainthe domain partition
[in]dofManagerthe dof manager

Reimplemented from geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsLagrangeContact >.

◆ setupCoupling() [4/4]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::setupCoupling ( DomainPartition const &  domain,
DofManager dofManager 
) const
finaloverridevirtual

Utility function to set the coupling between degrees of freedom.

Parameters
[in]domainthe domain partition
[in]dofManagerthe dof manager

Reimplemented from geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >.

◆ setupDofs() [1/11]

virtual void geos::PhysicsSolverBase::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
virtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented in geos::SolidMechanicsLagrangianFEM, geos::PhaseFieldDamageFEM, geos::LaplaceBaseH1, geos::SinglePhasePoromechanicsEmbeddedFractures, geos::PoromechanicsSolver< FLOW_SOLVER, MECHANICS_SOLVER >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::CoupledSolver< SOLVERS >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SolidMechanicsLagrangianFEM, PhaseFieldDamageFEM >, geos::CoupledSolver< ProppantTransport, FlowSolverBase >, geos::CoupledSolver< RESERVOIR_SOLVER, WELL_SOLVER >, geos::CoupledSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, geos::CoupledSolver< FLOW_SOLVER, SolidMechanicsLagrangianFEM >, geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >, geos::WellSolverBase, geos::SinglePhaseHybridFVM, geos::SinglePhaseFVM< BASE >, geos::ReactiveCompositionalMultiphaseOBL, geos::ProppantTransport, geos::CompositionalMultiphaseHybridFVM, geos::CompositionalMultiphaseFVM, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ setupDofs() [2/11]

virtual void geos::CompositionalMultiphaseFVM::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [3/11]

virtual void geos::CompositionalMultiphaseHybridFVM::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [4/11]

virtual void geos::ProppantTransport::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [5/11]

virtual void geos::ReactiveCompositionalMultiphaseOBL::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [6/11]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [7/11]

virtual void geos::SinglePhaseHybridFVM::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [8/11]

virtual void geos::WellSolverBase::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [9/11]

template<typename ... SOLVERS>
void geos::CoupledSolver< SOLVERS >::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
inlineoverridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< CompositionalMultiphaseBase, SolidMechanicsLagrangianFEM >, geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsEmbeddedFractures >, and geos::PoromechanicsSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >.

Definition at line 135 of file CoupledSolver.hpp.

◆ setupDofs() [10/11]

virtual void geos::PhaseFieldDamageFEM::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

◆ setupDofs() [11/11]

virtual void geos::SolidMechanicsLagrangianFEM::setupDofs ( DomainPartition const &  domain,
DofManager dofManager 
) const
overridevirtual

Populate degree-of-freedom manager with fields relevant to this solver.

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

◆ setupSystem() [1/7]

virtual void geos::SolidMechanicsLagrangianFEM::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = false 
)
overridevirtual

Set up the linear system (DOF indices and sparsity patterns)

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
setSparsityflag to indicate if the sparsity pattern should be set
Note
While the function is virtual, the base class implementation should be sufficient for most single-physics solvers.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsPenaltyContact, geos::SolidMechanicsLagrangeContactBubbleStab, geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsAugmentedLagrangianContact, and geos::SolidMechanicsEmbeddedFractures.

◆ setupSystem() [2/7]

virtual void geos::PhysicsSolverBase::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = true 
)
virtual

◆ setupSystem() [3/7]

template<typename BASE = SinglePhaseBase>
virtual void geos::SinglePhaseFVM< BASE >::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = true 
)
overridevirtual

Set up the linear system (DOF indices and sparsity patterns)

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
setSparsityflag to indicate if the sparsity pattern should be set
Note
While the function is virtual, the base class implementation should be sufficient for most single-physics solvers.

Reimplemented from geos::PhysicsSolverBase.

◆ setupSystem() [4/7]

template<typename RESERVOIR_SOLVER , typename WELL_SOLVER >
virtual void geos::CoupledReservoirAndWellsBase< RESERVOIR_SOLVER, WELL_SOLVER >::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = true 
)
inlineoverridevirtual

Set up the linear system (DOF indices and sparsity patterns)

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
setSparsityflag to indicate if the sparsity pattern should be set
Note
While the function is virtual, the base class implementation should be sufficient for most single-physics solvers.

Reimplemented from geos::PhysicsSolverBase.

Definition at line 122 of file CoupledReservoirAndWellsBase.hpp.

◆ setupSystem() [5/7]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = true 
)
overridevirtual

Set up the linear system (DOF indices and sparsity patterns)

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
setSparsityflag to indicate if the sparsity pattern should be set
Note
While the function is virtual, the base class implementation should be sufficient for most single-physics solvers.

Reimplemented from geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >.

◆ setupSystem() [6/7]

template<typename FLOW_SOLVER = SinglePhaseBase, typename MECHANICS_SOLVER = SolidMechanicsLagrangianFEM>
virtual void geos::SinglePhasePoromechanics< FLOW_SOLVER, MECHANICS_SOLVER >::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = true 
)
overridevirtual

Set up the linear system (DOF indices and sparsity patterns)

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
setSparsityflag to indicate if the sparsity pattern should be set
Note
While the function is virtual, the base class implementation should be sufficient for most single-physics solvers.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SinglePhasePoromechanicsEmbeddedFractures, geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >, and geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

◆ setupSystem() [7/7]

template<typename FLOW_SOLVER = SinglePhaseBase>
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::setupSystem ( DomainPartition domain,
DofManager dofManager,
CRSMatrix< real64, globalIndex > &  localMatrix,
ParallelVector rhs,
ParallelVector solution,
bool const  setSparsity = true 
)
overridevirtual

Set up the linear system (DOF indices and sparsity patterns)

Parameters
domainthe domain containing the mesh and fields
dofManagerdegree-of-freedom manager associated with the linear system
localMatrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector
setSparsityflag to indicate if the sparsity pattern should be set
Note
While the function is virtual, the base class implementation should be sufficient for most single-physics solvers.

Reimplemented from geos::SinglePhasePoromechanics< SinglePhaseBase, SolidMechanicsLagrangeContact >.

◆ solveLinearSystem()

virtual void geos::PhysicsSolverBase::solveLinearSystem ( DofManager const &  dofManager,
ParallelMatrix matrix,
ParallelVector rhs,
ParallelVector solution 
)
virtual

function to apply a linear system solver to the assembled system.

Parameters
dofManagerdegree-of-freedom manager associated with the linear system
matrixthe system matrix
rhsthe system right-hand side vector
solutionthe solution vector

This function calls the linear solver package to perform a single linear solve on the block system. The derived physics solver is required to specify the call, as no default is provided.

Note
This function must be overridden in the derived physics solver in order to use an implict solution method such as LinearImplicitStep() or NonlinearImplicitStep().

◆ solverStep() [1/6]

template<typename ... SOLVERS>
real64 geos::CoupledSolver< SOLVERS >::solverStep ( real64 const &  time_n,
real64 const &  dt,
int const  cycleNumber,
DomainPartition domain 
)
inlinefinaloverride

This method is meant to be kept final. Derived CoupledSolvers are expected, if needed, to override fullyCoupledSolverStep and/or sequentiallyCoupledSolverStep.

Definition at line 223 of file CoupledSolver.hpp.

◆ solverStep() [2/6]

virtual real64 geos::PhysicsSolverBase::solverStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
virtual

entry function to perform a solver step

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function is the entry point to perform a solver step. The choice of time integration method is determined in this function, and the appropriate step function is called.

Reimplemented in geos::SeismicityRate, geos::QuasiDynamicEQ, geos::WaveSolverBase, geos::AcousticElasticWaveEquationSEM, geos::SurfaceGenerator, geos::EmbeddedSurfaceGenerator, geos::SolidMechanicsMPM, geos::SolidMechanicsLagrangianFEM, geos::PhaseFieldDamageFEM, geos::LaplaceBaseH1, and geos::SolidMechanicsLagrangeContactBubbleStab.

◆ solverStep() [3/6]

virtual real64 geos::PhaseFieldDamageFEM::solverStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

entry function to perform a solver step

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function is the entry point to perform a solver step. The choice of time integration method is determined in this function, and the appropriate step function is called.

Reimplemented from geos::PhysicsSolverBase.

◆ solverStep() [4/6]

virtual real64 geos::SolidMechanicsLagrangianFEM::solverStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

entry function to perform a solver step

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function is the entry point to perform a solver step. The choice of time integration method is determined in this function, and the appropriate step function is called.

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsLagrangeContactBubbleStab.

◆ solverStep() [5/6]

virtual real64 geos::SolidMechanicsMPM::solverStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

entry function to perform a solver step

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function is the entry point to perform a solver step. The choice of time integration method is determined in this function, and the appropriate step function is called.

Reimplemented from geos::PhysicsSolverBase.

◆ solverStep() [6/6]

virtual real64 geos::SurfaceGenerator::solverStep ( real64 const &  time_n,
real64 const &  dt,
integer const  cycleNumber,
DomainPartition domain 
)
overridevirtual

entry function to perform a solver step

Parameters
time_ntime at the beginning of the step
dtthe perscribed timestep
cycleNumberthe current cycle number
domainthe domain object
Returns
return the timestep that was achieved during the step.

This function is the entry point to perform a solver step. The choice of time integration method is determined in this function, and the appropriate step function is called.

Reimplemented from geos::PhysicsSolverBase.

◆ updateCapPressureModel()

void geos::CompositionalMultiphaseBase::updateCapPressureModel ( ObjectManagerBase dataGroup) const

Update all relevant capillary pressure models using current values of phase volume fraction.

Parameters
dataGroupthe group storing the required fields

◆ updateCompAmount()

void geos::CompositionalMultiphaseBase::updateCompAmount ( ElementSubRegionBase subRegion) const

Update components mass/moles.

Parameters
subRegionthe subregion storing the required fields

◆ updateConfiguration()

virtual bool geos::PhysicsSolverBase::updateConfiguration ( DomainPartition domain)
virtual

◆ updateEnergy()

void geos::CompositionalMultiphaseBase::updateEnergy ( ElementSubRegionBase subRegion) const

Update energy.

Parameters
subRegionthe subregion storing the required fields

◆ updateFluidModel()

void geos::CompositionalMultiphaseBase::updateFluidModel ( ObjectManagerBase dataGroup) const

Update all relevant fluid models using current values of pressure and composition.

Parameters
dataGroupthe group storing the required fields

◆ updateGlobalComponentFraction()

void geos::CompositionalMultiphaseBase::updateGlobalComponentFraction ( ObjectManagerBase dataGroup) const

Recompute global component fractions from primary variables (component densities)

Parameters
dataGroupthe group storing the required fields

◆ updateOBLOperators()

void geos::ReactiveCompositionalMultiphaseOBL::updateOBLOperators ( ObjectManagerBase dataGroup) const

Recompute operator values and derivatives from primary variables.

Parameters
dataGroupthe group storing the required fields

◆ updatePhaseMobility() [1/2]

virtual void geos::CompositionalMultiphaseBase::updatePhaseMobility ( ObjectManagerBase dataGroup) const
pure virtual

Recompute phase mobility from constitutive and primary variables.

Parameters
dataGroupthe group storing the required field

Implemented in geos::CompositionalMultiphaseHybridFVM, and geos::CompositionalMultiphaseFVM.

◆ updatePhaseMobility() [2/2]

virtual void geos::CompositionalMultiphaseHybridFVM::updatePhaseMobility ( ObjectManagerBase dataGroup) const
overridevirtual

Recompute phase mobility from constitutive and primary variables.

Parameters
dataGroupthe group storing the required field

Implements geos::CompositionalMultiphaseBase.

◆ updatePhaseVolumeFraction()

real64 geos::CompositionalMultiphaseBase::updatePhaseVolumeFraction ( ObjectManagerBase dataGroup) const

Recompute phase volume fractions (saturations) from constitutive and primary variables.

Parameters
dataGroupthe group storing the required fields

◆ updateRelPermModel()

void geos::CompositionalMultiphaseBase::updateRelPermModel ( ObjectManagerBase dataGroup) const

Update all relevant relperm models using current values of phase volume fraction.

Parameters
dataGroupthe group storing the required fields

◆ updateSolidInternalEnergyModel()

void geos::CompositionalMultiphaseBase::updateSolidInternalEnergyModel ( ObjectManagerBase dataGroup) const

Update all relevant solid internal energy models using current values of temperature.

Parameters
dataGroupthe group storing the required fields

◆ updateState() [1/9]

virtual void geos::PhysicsSolverBase::updateState ( DomainPartition domain)
virtual

◆ updateState() [2/9]

template<typename ... SOLVERS>
virtual void geos::CoupledSolver< SOLVERS >::updateState ( DomainPartition domain)
inlineoverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SinglePhasePoromechanicsEmbeddedFractures, geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >, and geos::HydrofractureSolver< POROMECHANICS_SOLVER >.

Definition at line 203 of file CoupledSolver.hpp.

◆ updateState() [3/9]

virtual void geos::SolidMechanicsLagrangianFEM::updateState ( DomainPartition domain)
inlineoverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::PhysicsSolverBase.

Reimplemented in geos::SolidMechanicsLagrangeContact, geos::SolidMechanicsEmbeddedFractures, and geos::SolidMechanicsAugmentedLagrangianContact.

Definition at line 145 of file SolidMechanicsLagrangianFEM.hpp.

◆ updateState() [4/9]

virtual void geos::CompositionalMultiphaseBase::updateState ( DomainPartition domain)
finaloverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::PhysicsSolverBase.

◆ updateState() [5/9]

virtual void geos::ReactiveCompositionalMultiphaseOBL::updateState ( DomainPartition domain)
finaloverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::PhysicsSolverBase.

◆ updateState() [6/9]

template<typename POROMECHANICS_SOLVER = SinglePhasePoromechanics<>>
virtual void geos::HydrofractureSolver< POROMECHANICS_SOLVER >::updateState ( DomainPartition domain)
finaloverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangianFEM >.

◆ updateState() [7/9]

template<typename FLOW_SOLVER = SinglePhaseBase>
virtual void geos::SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::updateState ( DomainPartition domain)
finaloverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::CoupledSolver< SinglePhaseBase, SolidMechanicsLagrangeContact >.

◆ updateState() [8/9]

virtual void geos::PhaseFieldDamageFEM::updateState ( DomainPartition domain)
finaloverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::PhysicsSolverBase.

◆ updateState() [9/9]

virtual void geos::SolidMechanicsMPM::updateState ( DomainPartition domain)
inlinefinaloverridevirtual

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

Parameters
domainthe domain containing the mesh and fields

Reimplemented from geos::PhysicsSolverBase.

Definition at line 123 of file SolidMechanicsMPM.hpp.

◆ validateDirichletBC()

bool geos::ReactiveCompositionalMultiphaseOBL::validateDirichletBC ( DomainPartition domain,
real64 const  time 
) const

Function to perform checks before applying Dirichlet type BC's.

Parameters
domainthe domain
timethe current time