20 #ifndef GEOS_PHYSICSSOLVERS_MULTIPHYSICS_MULTIPHASEPOROMECHANICS_HPP_
21 #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_MULTIPHASEPOROMECHANICS_HPP_
30 template<
typename FLOW_SOLVER = CompositionalMultiphaseBase,
typename MECHANICS_SOLVER = Sol
idMechanicsLagrangianFEM >
63 if constexpr ( std::is_same_v< FLOW_SOLVER, CompositionalMultiphaseBase > )
65 return "MultiphasePoromechanics";
69 return FLOW_SOLVER::catalogName() +
"Poromechanics";
97 void assembleElementBasedTerms(
real64 const time,
110 virtual void setMGRStrategy()
#define GEOS_ERROR(msg)
Raise a hard error and terminate the program.
The DoFManager is responsible for allocating global dofs, constructing sparsity patterns,...
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
string getCatalogName() const override
~MultiphasePoromechanics() override
Destructor for the class.
static string catalogName()
name of the node manager in the object catalog
virtual void initializePostInitialConditionsPreSubGroups() override
Called by InitializePostInitialConditions() prior to initializing sub-Groups.
MultiphasePoromechanics(const string &name, dataRepository::Group *const parent)
main constructor for MultiphasePoromechanics Objects
virtual void updateBulkDensity(ElementSubRegionBase &subRegion) override
Helper function to recompute the bulk density.
CRSMatrix< real64, globalIndex > m_localMatrix
Local system matrix and rhs.
DofManager m_dofManager
Data structure to handle degrees of freedom.
ParallelVector m_solution
System solution vector.
ParallelVector m_rhs
System right-hand side vector.
LinearSolverParametersInput m_linearSolverParameters
Linear solver parameters.
array1d< string > m_stabilizationRegionNames
Names of regions where stabilization applied.
real64 m_stabilizationMultiplier
Stabilization Multiplier.
stabilization::StabilizationType m_stabilizationType
Type of stabilization used.
std::tuple< SOLVERS *... > m_solvers
Pointers of the single-physics solvers.
string const & getName() const
Get group name.
integer getLogLevel() const
virtual void postInputInitialization() override
virtual void setupCoupling(DomainPartition const &domain, DofManager &dofManager) const override
Utility function to set the coupling between degrees of freedom.
virtual void 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
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
LvArray::CRSMatrixView< T, COL_INDEX, localIndex const, LvArray::ChaiBuffer > CRSMatrixView
Alias for CRS Matrix View.
double real64
64-bit floating point type.
@ mgr
Multigrid reduction (Hypre only)
PreconditionerType preconditionerType
Preconditioner type.