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

Tune the hydrofrac example so that it at least runs #2763

Merged
merged 6 commits into from
Oct 26, 2023

Conversation

paveltomin
Copy link
Contributor

@paveltomin paveltomin commented Oct 17, 2023

Trying to fix the reported issue #2632
Changes for the case to make it run without time step cuts:

  1. Switch linear solver preconditioner to mgr instead of amg
  2. Change meanPermCoefficient to 0.0
  3. To make the simulation a bit faster and remove time steps cuts - limit max newton iterations to 20 and relax convergence tolerance to 1e-5 (was 1e-6 which is close to linear solver tolerance making convergence tricky)

After the changes, the case runs reasonably:

hydrofracture, number of time steps: 87
hydrofracture, number of successful nonlinear iterations: 764
hydrofracture, number of successful linear iterations: 20970
hydrofracture, number of time step cuts: 0
hydrofracture, number of discarded nonlinear iterations: 0
hydrofracture, number of discarded linear iterations: 0

Does not require rebaseline since the case is not included in the integatedTests.

@@ -172,7 +175,7 @@
<FiniteVolume>
<TwoPointFluxApproximation
name="singlePhaseTPFA"
meanPermCoefficient="1.0"/>
meanPermCoefficient="0.0"/>
Copy link
Collaborator

Choose a reason for hiding this comment

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

I forgot, this means using the arithmetic average?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, this is the key change to make it run

Copy link
Contributor

Choose a reason for hiding this comment

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

I have tested this example with @zhishuaizhang in the workshop. I think we can keep the harmonic average, i.e., meanPermCoefficient="1.0", and a better solution I believe is to set a nonzero penaltyStiffness (e.g., 1e12) as we have negative elementAperture here. We may also need more Newton Iteration allowance, but it can converge now with penaltyStiffness=1e12.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh ok, interesting, thanks
i didn't try to change the penalty coefficient, can you share the output of that run?

Copy link
Contributor

Choose a reason for hiding this comment

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

oh ok, interesting, thanks
i didn't try to change the penalty coefficient, can you share the output of that run?

here it is
log.txt

Copy link
Member

Choose a reason for hiding this comment

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

should this be put back to 1.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.

yes, let me do that

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@rrsettgast should be good to merge now

Choose a reason for hiding this comment

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

I'm looking at the result of the modeling result after the fix and it seems to be different from the modeling result from the original documentation. Do with need to figure out why there is a difference? Or it is for another pull request?
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@zhishuaizhang please post results with meanPermCoefficient=1

solverType="gmres"
preconditionerType="amg"/>
preconditionerType="mgr"/>
Copy link
Collaborator

Choose a reason for hiding this comment

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

ah yeah, this explains the struggle.

@paveltomin paveltomin added ci: run CUDA builds Allows to triggers (costly) CUDA jobs and removed flag: ready for review labels Oct 17, 2023
@CusiniM CusiniM added the Theme - HF Hydraulic fracturing modeling capabilities label Oct 25, 2023
Copy link
Contributor

@jhuang2601 jhuang2601 left a comment

Choose a reason for hiding this comment

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

Great! Thanks for fixing it.

@rrsettgast rrsettgast merged commit 6e297d3 into develop Oct 26, 2023
@rrsettgast rrsettgast deleted the pt/fix-hydrofrac-example branch October 26, 2023 21:19
pradhyumna85 pushed a commit to pradhyumna85/GEOS that referenced this pull request Nov 2, 2023
ouassimkh pushed a commit that referenced this pull request Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run CUDA builds Allows to triggers (costly) CUDA jobs Theme - HF Hydraulic fracturing modeling capabilities type: documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

hydraulic fracturing example in the basic examples fails to converge
6 participants