-
Notifications
You must be signed in to change notification settings - Fork 99
perf: Improve MGR recipes for thermal #3939
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
base: develop
Are you sure you want to change the base?
Conversation
| cprLike = 13, //!< CPR-like restriction | ||
| blockColLumped = 14 //!< Block column-lumped approximation | ||
| blockColLumped = 14, //!< Block column-lumped approximation | ||
| partialColLumped = 15 //!< Partial column-lumped approximation |
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.
What does "Partial column-lumped approximation" mean?
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 means W_{TS} = 0 instead of doing colsum^{-1}(A_{TS}) * colsum^{-1}(A_{SS}) as done by blockColLumped. W_{TS} being the submatrix of the restriction operator coupling temperature and densities.
The pressure part remains the same: W_{PS} = colsum^{-1}(A_{PS}) * colsum^{-1}(A_{SS})
So, I called it a "partial" column-lumped. Let me know if you have other names in mind!
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.
So for ThermalCompositionalMultiphaseFVM we have:
| A_SS A_SP A_ST |
| A_PS A_PP A_PT |
| A_TS A_TP A_TT |
With "Partial column-lumped approximation", the correction to block:
| A_PP A_PT |
| A_TP A_TT |
is
- | colsum(A_{PS}) | * colsum^{-1}(A_{SS}) * | A_SP A_ST |
| 0 |
Correct?
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.
That's correct, so essentially the energy equation isn't perturbed
| m_levelRestrictType[1] = MGRRestrictionType::partialColLumped; // True-IMPES for thermal | ||
| m_levelCoarseGridMethod[1] = MGRCoarseGridMethod::galerkin; |
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 like the use of the Galerkin projection instead of the non-Galerkin. Again, I am not sure I fully understand what partial column lumping is.
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.
Same comment applies also to the the other two modified strategies
paveltomin
left a comment
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.
would be interesting to discuss this during our solvers meeting on Thursdays
Depends on GEOS-DEV/thirdPartyLibs#332