-
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
fix: an issue of established f-m connections being duplicated in the run time. #3466
Conversation
@CusiniM, @jhuang2601, and/or @rrsettgast please review |
* relax the IF statement of fullyCoupledSolverStep() in hydrofracturesolver.cpp
@@ -176,7 +176,8 @@ real64 HydrofractureSolver< POROMECHANICS_SOLVER >::fullyCoupledSolverStep( real | |||
int const cycleNumber, | |||
DomainPartition & domain ) | |||
{ | |||
if( cycleNumber == 0 && time_n <= 0 ) | |||
// for initial fracture initialization |
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.
initialNewFractureFields must take care of initial fracture created from execute() in SurfaceGenerator class. Otherwise, the duplication of f-m connections can happen afterwards. However, when there is a geomechanics initialization step, the previous "IF" will rule out stepping inside due to cycleNumber == 0.
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.
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.
I think we need a more intricate initialization/initialcondition procedure to handle this cleanly.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #3466 +/- ##
========================================
Coverage 56.82% 56.82%
========================================
Files 1154 1154
Lines 99984 99983 -1
========================================
+ Hits 56816 56818 +2
+ Misses 43168 43165 -3 ☔ View full report in Codecov by Sentry. |
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.
@Guotong-Ren
It isn't clear to me what exactly the problem is being addressed, or how the proposed change fixes the problem. Is there an example problem that you can point out to describe the issue and test the "fix"?
yes, if there is an initialization added before time = 0, the problem will emerge. For reference, you can take a look at the cases in this PR (#3285). When leak-off is dominant, fracture does not propagate and then mf connection will duplicate. @rrsettgast |
@rrsettgast @CusiniM are you ok to merge this? |
Not sure this is a solid fix for the issue |
Can the if statement be removed completely and just call that initialization unconditionally? |
since the field initialization only takes effects when there are new fracture cells, i believe so. |
Yeah, this should work. The lists should be empty so I would expect that function to do nothing. |
thanks @CusiniM |
@rrsettgast is it good for now or we still should be looking for a more fundamental fix? |
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.
yeah. fine
This happens when the initial fracture is created without clear of the two vectors for stencil generation.