Skip to content
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

Merged
merged 12 commits into from
Dec 19, 2024

Conversation

Guotong-Ren
Copy link
Contributor

This happens when the initial fracture is created without clear of the two vectors for stencil generation.

@Guotong-Ren Guotong-Ren self-assigned this Nov 26, 2024
@Guotong-Ren Guotong-Ren added ci: run integrated tests Allows to run the integrated tests in GEOS CI type: bug Something isn't working labels Nov 26, 2024
@paveltomin
Copy link
Contributor

@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
Copy link
Contributor Author

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

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.

@Guotong-Ren Guotong-Ren removed the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Dec 3, 2024
@Guotong-Ren Guotong-Ren added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Dec 3, 2024
@paveltomin paveltomin added ci: run CUDA builds Allows to triggers (costly) CUDA jobs flag: no rebaseline Does not require rebaseline ci: run code coverage enables running of the code coverage CI jobs and removed flag: ready for review labels Dec 4, 2024
Copy link

codecov bot commented Dec 5, 2024

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 56.82%. Comparing base (93f0252) to head (0348dfa).
Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
...hysicsSolvers/multiphysics/HydrofractureSolver.cpp 0.00% 1 Missing ⚠️
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.
📢 Have feedback on the report? Share it here.

Copy link
Member

@rrsettgast rrsettgast left a 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"?

@Guotong-Ren
Copy link
Contributor Author

Guotong-Ren commented Dec 5, 2024

@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

@paveltomin
Copy link
Contributor

@rrsettgast @CusiniM are you ok to merge this?

@rrsettgast
Copy link
Member

Not sure this is a solid fix for the issue

@paveltomin
Copy link
Contributor

Not sure this is a solid fix for the issue

Can the if statement be removed completely and just call that initialization unconditionally?

@Guotong-Ren
Copy link
Contributor Author

Guotong-Ren commented Dec 6, 2024

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.

@CusiniM
Copy link
Collaborator

CusiniM commented Dec 11, 2024

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.

@paveltomin
Copy link
Contributor

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 ?

@paveltomin
Copy link
Contributor

@rrsettgast is it good for now or we still should be looking for a more fundamental fix?

Copy link
Member

@rrsettgast rrsettgast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah. fine

@paveltomin paveltomin merged commit 81e66d3 into develop Dec 19, 2024
24 of 25 checks passed
@paveltomin paveltomin deleted the hydrofrac_stencil_fix branch December 19, 2024 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run code coverage enables running of the code coverage CI jobs ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline type: bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants