20 #ifndef GEOS_PHYSICSSOLVERS_FLUIDFLOW_PROPPANTTRANSPORT_PROPPANTTRANSPORT_HPP_
21 #define GEOS_PHYSICSSOLVERS_FLUIDFLOW_PROPPANTTRANSPORT_PROPPANTTRANSPORT_HPP_
24 #include "constitutive/fluid/singlefluid/ParticleFluidBase.hpp"
25 #include "constitutive/fluid/singlefluid/SlurryFluidBase.hpp"
30 namespace dataRepository
34 class FieldSpecificationBase;
35 class FiniteElementBase;
36 class DomainPartition;
56 Group *
const parent );
93 void preStepUpdate(
real64 const & time_n,
97 void postStepUpdate(
real64 const & time_n,
143 real64 const scalingFactor,
188 static constexpr
char const * proppantNamesString() {
return "proppantNames"; }
192 static constexpr
char const * updateProppantPackingString() {
return "updateProppantPacking"; }
193 static constexpr
char const * bridgingFactorString() {
return "bridgingFactor"; }
194 static constexpr
char const * maxProppantConcentrationString() {
return "maxProppantConcentration"; }
195 static constexpr
char const * proppantDiameterString() {
return "proppantDiameter"; }
196 static constexpr
char const * proppantDensityString() {
return "proppantDensity"; }
197 static constexpr
char const * criticalShieldsNumberString() {
return "criticalShieldsNumber"; }
198 static constexpr
char const * frictionCoefficientString() {
return "frictionCoefficient"; }
237 void updateCellBasedFlux(
real64 const time_n,
244 integer m_updateProppantPacking;
247 real64 m_maxProppantConcentration;
248 real64 m_proppantDiameter;
250 real64 m_criticalShieldsNumber;
251 real64 m_frictionCoefficient;
#define GEOS_UNUSED_VAR(...)
Mark an unused variable and silence compiler warnings.
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...
Class facilitating the representation of a multi-level discretization of a MeshBody.
The ObjectManagerBase is the base object of all object managers in the mesh data hierachy.
virtual void updateState(DomainPartition &domain) override final
Recompute all dependent quantities from primary variables (including constitutive models)
virtual void initializePostInitialConditionsPreSubGroups() override
Called by InitializePostInitialConditions() prior to initializing sub-Groups.
ProppantTransport(ProppantTransport const &)=delete
deleted copy constructor
static string catalogName()
name of the node manager in the object catalog
ProppantTransport()=delete
deleted default constructor
virtual void initializePreSubGroups() override
Called by Initialize() prior to initializing sub-Groups.
ProppantTransport & operator=(ProppantTransport &&)=delete
deleted move operator
virtual void registerDataOnMesh(Group &meshBodies) override
Register wrappers that contain data on the mesh objects.
ProppantTransport & operator=(ProppantTransport const &)=delete
deleted assignment operator
void updateProppantPackVolume(real64 const time_n, real64 const dt, DomainPartition &domain)
Function to update proppant pack volume fraction.
virtual void postInputInitialization() override
static string coupledSolverAttributePrefix()
String used to form the solverName used to register single-physics solvers in CoupledSolver.
string getCatalogName() const override
ProppantTransport(ProppantTransport &&)=default
default move constructor
void updateState(ObjectManagerBase &dataGroup)
Function to update fluid and proppant properties.
ProppantTransport(const string &name, Group *const parent)
main constructor for Group Objects
virtual ~ProppantTransport() override=default
default destructor
virtual void resetStateToBeginningOfStep(DomainPartition &domain) override
reset state of physics back to the beginning of the step.
virtual void 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.
virtual void setupDofs(DomainPartition const &domain, DofManager &dofManager) const override
Populate degree-of-freedom manager with fields relevant to this solver.
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
void 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
virtual void implicitStepSetup(real64 const &time_n, real64 const &dt, DomainPartition &domain) override
function to perform setup for implicit timestep
virtual void implicitStepComplete(real64 const &time, real64 const &dt, DomainPartition &domain) override
perform cleanup for implicit timestep
void 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
virtual void 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
virtual real64 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
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.
std::int32_t integer
Signed integer type.