GEOS
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER > Class Template Referenceabstract
Inheritance diagram for geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >:
Inheritance graph
[legend]

Classes

struct  viewKeyStruct
 

Public Types

using Base = POROMECHANICS_BASE< FLOW_SOLVER, SolidMechanicsLagrangeContact >
 

Public Member Functions

 PoromechanicsConformingFractures (const string &name, dataRepository::Group *const parent)
 
virtual void setupCoupling (DomainPartition const &domain, DofManager &dofManager) const override
 
virtual void setSparsityPattern (DomainPartition &domain, DofManager &dofManager, CRSMatrix< real64, globalIndex > &localMatrix, SparsityPattern< globalIndex > &pattern) override
 
virtual void assembleSystem (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 
virtual void updateState (DomainPartition &domain) override
 

Protected Member Functions

void addTransmissibilityCouplingNNZ (DomainPartition const &domain, DofManager const &dofManager, arrayView1d< localIndex > const &rowLengths) const
 
void addTransmissibilityCouplingPattern (DomainPartition const &domain, DofManager const &dofManager, SparsityPatternView< globalIndex > const &pattern) const
 Set up the Dflux_dApertureMatrix object. More...
 
void setUpDflux_dApertureMatrix (DomainPartition &domain, DofManager const &GEOS_UNUSED_PARAM(dofManager), CRSMatrix< real64, globalIndex > &localMatrix)
 Set up the Dflux_dApertureMatrix object. More...
 
void assembleElementBasedContributions (real64 const time_n, real64 const dt, DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 
virtual void assembleCouplingTerms (real64 const time_n, real64 const dt, DomainPartition const &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs) override
 
void assembleForceResidualDerivativeWrtPressure (MeshLevel const &mesh, string_array const &regionNames, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)
 
virtual void assembleFluidMassResidualDerivativeWrtDisplacement (MeshLevel const &mesh, string_array const &regionNames, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs)=0
 
virtual void mapSolutionBetweenSolvers (DomainPartition &domain, integer const solverType) override
 
void updateHydraulicApertureAndFracturePermeability (DomainPartition &domain)
 
std::unique_ptr< CRSMatrix< real64, localIndex > > & getRefDerivativeFluxResidual_dAperture ()
 
CRSMatrixView< real64, localIndex const > getDerivativeFluxResidual_dNormalJump ()
 
CRSMatrixView< real64 const, localIndex const > getDerivativeFluxResidual_dNormalJump () const
 
virtual string getFlowDofKey () const =0
 
virtual integer numFluidComponents () const =0
 

Protected Attributes

std::unique_ptr< CRSMatrix< real64, localIndex > > m_derivativeFluxResidual_dAperture
 

Static Protected Attributes

static const localIndex m_maxFaceNodes = 11
 

Detailed Description

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER>
class geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >

Definition at line 41 of file PoromechanicsConformingFractures.hpp.

Member Function Documentation

◆ addTransmissibilityCouplingNNZ()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::addTransmissibilityCouplingNNZ ( DomainPartition const &  domain,
DofManager const &  dofManager,
arrayView1d< localIndex > const &  rowLengths 
) const
inlineprotected

@Brief add the nnz induced by the flux-aperture coupling

Parameters
domainthe physical domain object
dofManagerdegree-of-freedom manager associated with the linear system
rowLenghtsthe nnz in each row

Definition at line 164 of file PoromechanicsConformingFractures.hpp.

◆ addTransmissibilityCouplingPattern()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::addTransmissibilityCouplingPattern ( DomainPartition const &  domain,
DofManager const &  dofManager,
SparsityPatternView< globalIndex > const &  pattern 
) const
inlineprotected

Set up the Dflux_dApertureMatrix object.

Parameters
domain
dofManager
localMatrix

Definition at line 237 of file PoromechanicsConformingFractures.hpp.

◆ assembleCouplingTerms()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
virtual void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::assembleCouplingTerms ( real64 const  time_n,
real64 const  dt,
DomainPartition const &  domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
inlineoverrideprotectedvirtual
  1. assemble Force Residual w.r.t. pressure and Flow mass residual w.r.t. displacement

Definition at line 437 of file PoromechanicsConformingFractures.hpp.

◆ assembleElementBasedContributions()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::assembleElementBasedContributions ( real64 const  time_n,
real64 const  dt,
DomainPartition domain,
DofManager const &  dofManager,
CRSMatrixView< real64, globalIndex const > const &  localMatrix,
arrayView1d< real64 > const &  localRhs 
)
inlineprotected
  1. assemble Force Residual w.r.t. pressure and Flow mass residual w.r.t. displacement

Definition at line 409 of file PoromechanicsConformingFractures.hpp.

◆ mapSolutionBetweenSolvers()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
virtual void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::mapSolutionBetweenSolvers ( DomainPartition domain,
integer const  solverType 
)
inlineoverrideprotectedvirtual

After the solid mechanics solver

Definition at line 567 of file PoromechanicsConformingFractures.hpp.

◆ setupCoupling()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
virtual void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::setupCoupling ( DomainPartition const &  domain,
DofManager dofManager 
) const
inlineoverridevirtual

We need to add 2 coupling terms:

Definition at line 51 of file PoromechanicsConformingFractures.hpp.

◆ setUpDflux_dApertureMatrix()

template<template< typename, typename > class POROMECHANICS_BASE, typename FLOW_SOLVER >
void geos::PoromechanicsConformingFractures< POROMECHANICS_BASE, FLOW_SOLVER >::setUpDflux_dApertureMatrix ( DomainPartition domain,
DofManager const &  GEOS_UNUSED_PARAMdofManager,
CRSMatrix< real64, globalIndex > &  localMatrix 
)
inlineprotected

Set up the Dflux_dApertureMatrix object.

Parameters
domain
dofManager
localMatrix

Definition at line 341 of file PoromechanicsConformingFractures.hpp.


The documentation for this class was generated from the following file: