-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Multiphase poromechanics with contact #3228
Conversation
…DEV/GEOS into pt/multiphase-mech-contact
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseFVM.hpp
Show resolved
Hide resolved
...sicsSolvers/multiphysics/poromechanicsKernels/MultiphasePoromechanicsConformingFractures.hpp
Outdated
Show resolved
Hide resolved
tests diffs are only because of |
@CusiniM, @castelletto1, @frankfeifan, @jhuang2601, @rrsettgast, and/or @ryar9534 need review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
There are some new kernel structures and utilities to loop over surface elements and assemble terms coming from the integration over the surfaces. At some point we should use those i these poromechanics solvers.
gravityVector="{ 0.0, 0.0, -9.81 }"> | ||
|
||
<MultiphasePoromechanicsConformingFractures | ||
name="poroFractureSolver" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it working for both sequential
and fim
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should work yes but i don't remember if i even tested
@@ -1264,9 +1266,89 @@ void CompositionalMultiphaseFVM::applyAquiferBC( real64 const time, | |||
|
|||
} | |||
|
|||
real64 CompositionalMultiphaseFVM::setNextDt( const geos::real64 & currentDt, geos::DomainPartition & domain ) | |||
void CompositionalMultiphaseFVM::assembleHydrofracFluxTerms( real64 const GEOS_UNUSED_PARAM ( time_n ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if you can think of a better name for this function I d be happy to change it. I think the point was to distinguish it coz it adds couplings due to the aperture dependence of the permeability.
{ | ||
GEOS_MARK_FUNCTION; | ||
|
||
this->forDiscretizationOnMeshTargets( domain.getMeshBodies(), [&] ( string const &, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is identical to the singlephase case right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
basically identical yes, I am planning to unify but need to figure out the best way given the inheritance hierarchy
CRSMatrixView< real64, globalIndex const > const & localMatrix, | ||
arrayView1d< real64 > const & localRhs ) | ||
{ | ||
GEOS_MARK_FUNCTION; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and so is this one, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
more or less ready for code review, but needs more testing
lots of duplication between multiphase and single phase solvers - to be unified later