Closed jeff-cohere closed 3 years ago
Merging #199 (ea0942d) into master (a585b2c) will not change coverage. The diff coverage is
n/a
.:exclamation: Current head ea0942d differs from pull request most recent head 16c8173. Consider uploading reports for the commit 16c8173 to get more accurate results
@@ Coverage Diff @@
## master #199 +/- ##
=======================================
Coverage 67.81% 67.81%
=======================================
Files 7 7
Lines 1224 1224
=======================================
Hits 830 830
Misses 394 394
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update a585b2c...16c8173. Read the comment docs.
@jeff-cohere Can we add a new test or modify the existing test for this new PR?
@jeff-cohere Can we add a new test or modify the existing test for this new PR?
I'll see if I can modify one of the demos to simplify them a bit, given how much more lifting TDySetFromOptions
is doing. This PR might be a little too incremental to show much of a difference there.
As discussed in #187, this PR introduces the use of
DMPlexMarkBoundaryFaces
to produce aDMLabel
named"boundary"
that we can use to enforce boundary conditions. I'm trying to be careful about how we approach this, because our demos are all pretty historical-looking. So this is just another in a series of PRs to improve the organization of the TDycore library.Additional items:
-tdy_init_file
,TDySetFromOptions
allocates storage for the solution vector and friends withTDyCreateVectors
and initializes things accordingly. I tried to initialize from a random field, too, but TH does this differently, so this must be done elsewhere for now.TDyCreateVectors
andTDyCreateJacobian
are documented and can be safely called multiple times (with no effect after the first time).TDyGetBoundaryFaces
andTDyRestoreBoundaryFaces
are introduced, to provide access to the (undifferentiated) faces on the domain boundary via the label. This provides a simple mechanism for traversing just the boundary faces."boundary"
label. However, I haven't changed the MPFA-O method for marking boundary faces, since it's logically consistent already. I did leave aTODO
comment in that section for subsequent cleanup if we want to tighten things up later.At this point, the set of faces on the domain boundary is generated automatically when the grid is created, so all demos can access it. I think this should close #187. @bishtgautam , let me know if you don't agree. #188 probably demands a little more attention, and the callback/virtual table way of organizing our different algorithms (#197) is looking ever more appealing.
Closes #187