Keep the zero-trans overlap and the deck in mechanical runs - #7329
Conversation
Mechanics couples cells across zero-transmissibility faces, so the overlap layer must not be pruned by transmissibility when MECH is active -- the same reasoning upstream already applies to thermal runs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Geomechanical runs read fracture seeds and mechanics keywords during the simulation, so the deck must be retained regardless of the general keepKeywords setting. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
58d0373 to
a406c8f
Compare
svenn-t
left a comment
There was a problem hiding this comment.
Thanks for fixing overlap cells in geomechanics simulations; it's needed in TPSA as well! Just one question, otherwise it looks good to me.
| keepKeywords, | ||
| // Geomechanics needs the full deck retained (fracture | ||
| // seeds and mech keywords are read during the run). | ||
| keepKeywords || getPropValue<PreTypeTag, Properties::EnableMech>(), |
There was a problem hiding this comment.
Do you only need this for fracture simulations or also for other geomechanics purpose? I have not seen the use for this for TPSA yet, so I was wondering if it's necessary to enable for all geomechanics simulators.
There was a problem hiding this comment.
I need it for thermal and geomech. I also think it is need to get correct borders for the corner option. To avoid them can lead to strange things since assumption that you can handle the grid correctly in parallel brake down. I do not think this optimization is worth the possible problems it can make.
…UNSPEC A fracture model reads its seeds out of the deck during the run rather than only at setup, so those keywords must survive. Gated on runspec().frac() rather than on mechanics as a whole: a TPSA run has no such need, and svenn-t asked not to enable it for every geomechanics simulator. Decided inside readDeck because keepKeywords is an input to deck reading while frac() is an output of it - the caller cannot know yet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
@svenn-t good question, and you were right to ask — it is fracture-specific, not general geomechanics. The need is that a fracture model reads its seeds out of the deck during the run rather than only at setup; I know of no TPSA case that needs it. Changed to gate on One wrinkle worth noting: |
|
jenkins build this please |
Two one-line conditions, both gated on
runspec.mech():GenericCpGridVanguardstops pruning the overlap layer by transmissibility in mechanical runs. Mechanics couples cells across zero-transmissibility faces, so pruning by transmissibility drops cells the mechanical stencil needs. This is the same reasoning upstream already applies to thermal and temperature runs, added to the same condition.Mainretains the deck when mechanics is enabled, because fracture seeds and mechanics keywords are read during the run rather than only at setup.No effect on a run without
MECH. 8 lines total.